start sd JobSearch
job_search first_order_logic
agent-publisher jm jobsManager jobsManagerClass 
agent-reader js jobSearcher jobsSearcherClass 
box seq
	message r p request available_jobs()
	message p r inform availablable_job_number(NumbersOfJobs)
	box loop
		box seq
			message p r cfp propose_job(job(J))
			box alternative
				message r p not-understood not_understood()
				next
				message r p accept-proposal accept(job(J))
				next
				message r p reject-proposal reject(job(J))
				next
				box seq
					message r p request more_info(job(J))
					message p r inform more_info(info(I))
					box alternative
						message r p accept-proposal accept(job(J))
						next
						message r p reject-proposal reject(job(J))
						end alternative
					end seq
				end alternative
			box option
				message p r inform job_contact_info(contacts(ListOfContacts))
				end option
			end seq
		end loop
	end seq
finish
