APICe » Publications » Agent-Oriented Programming

Agent-Oriented Programming

Yoav Shoham
A new computational framework is presented, called agent-oriented programming (AOP), which can be viewed as a specialization of object-oriented programming. The state of an agent consists of components such as beliefs, decisions, capabilities, and obligations; for this reason the state of an agent is called its mental state. The mental state of agents is described formally in an extension of standard epistemic logics: beside temporalizing the knowledge and belief operators, AOP introduces operators for obligation, decision, and capability. Agents are controlled by agent programs, which include primitives for communicating with other agents. In the spirit of speech act theory, each communication primitive is of a certain type: informing, requesting, offering, and so on. This article presents the concept of AOP, discusses the concept of mental state and its formal underpinning, defines a class of agent interpreters, and then describes in detail a specific interpreter that has been implemented.
Artificial Intelligence 60(1), pages 51-92, March 1993, Elsevier Science B.V.
@article{aop-ai60,
	Author = {Shoham, Yoav},
	Doi = {10.1016/0004-3702(93)90034-9},
	Issn = {0004-3702},
	Journal = {Artificial Intelligence},
	Month = mar,
	Number = 1,
	Pages = {51--92},
	Publisher = {Elsevier Science B.V.},
	Title = {Agent-Oriented Programming},
	Volume = 60,
	Year = 1993}