Next: Thomas - PLACA Up: Agent Languages Previous: Concurrent Object Languages

Shoham - agent-oriented programming

Yoav Shoham has proposed a `new programming paradigm, based on a societal view of computation' [Shoham, 1990],[Shoham, 1993]. The key idea that informs this agent-oriented programming (AOP) paradigm is that of directly programming agents in terms of the mentalistic, intentional notions that agent theorists have developed to represent the properties of agents. The motivation behind such a proposal is that, as we observed in section 2, humans use the intentional stance as an abstraction mechanism for representing the properties of complex systems. In the same way that we use the intentional stance to describe humans, it might be useful to use the intentional stance to program machines.

Shoham proposes that a fully developed AOP system will have three components:

At the time of writing, Shoham has only published results on the first two components. (In [Shoham, 1990] he wrote that `the third is still somewhat mysterious to me', though later in the paper he indicated that he was thinking along the lines of Rosenschein and Kaelbling's situated automata paradigm [Rosenschein and Kaelbling, 1986].) Shoham's first attempt at an AOP language was the AGENT0 system. The logical component of this system is a quantified multi-modal logic, allowing direct reference to time. No semantics are given, but the logic appears to be based on [Thomas et al., 1991]. The logic contains three modalities: belief, commitment and ability. The following is an acceptable formula of the logic, illustrating it's key properties:

CAN^5_a open(door)^8 B^5_b CAN^5_a open(door)^8.

This formula is read: `if at time 5 agent can ensure that the door is open at time 8, then at time 5 agent believes that at time 5 agent can ensure that the door is open at time 8'.

Corresponding to the logic is the AGENT0 programming language. In this language, an agent is specified in terms of a set of capabilities (things the agent can do), a set of initial beliefs and commitments, and a set of commitment rules. The key component, which determines how the agent acts, is the commitment rule set. Each commitment rule contains a message condition, a mental condition, and an action. In order to determine whether such a rule fires, the message condition is matched against the messages the agent has received; the mental condition is matched against the beliefs of the agent. If the rule fires, then the agent becomes committed to the action. Actions may be private, corresponding to an internally executed subroutine, or communicative, i.e., sending messages. Messages are constrained to be one of three types: `requests' or `unrequests' to perform or refrain from actions, and `inform' messages, which pass on information - Shoham indicates that he took his inspiration for these message types from speech act theory [Cohen and Perrault, 1979][Searle, 1969]. Request and unrequest messages typically result in the agent's commitments being modified; inform messages result in a change to the agent's beliefs.

Next: Thomas - PLACA Up: Agent Languages Previous: Concurrent Object Languages
Fri Nov 4 16:03:55 GMT 1994