STAPLE(ID:5507/sta016)for Social and Team Agents Programming Language Agent-oriented programming language References: INTRODUCTION It is customary to treat formal theories of agency as specifications of agent behavior. As such, many implementations of teamwork [2, 3] use the joint-intention theory [4] only for specification purposes and hard-code the team behavior predicted by the theory. On the other hand, the benefits of directly interpreting a team specification are apparent from the experiences of the STEAM researchers [6] who have demonstrated successful reuse of the same STEAM code base for a number of applications. We take this concept of directly executing team specifications to the next step by offering interpretation of logical expressions involving a subset of modal logic, dynamic logic of actions, and temporal logic. This approach of directly executing a team specification in logic leads to a domain-independent framework for programming teamwork and therefore, it may be possible to modify (or add new) behavior for a team of agents just by modifying (or adding) logical sentences. It may also be possible to predict the behavior of an agent team offline using its team intention specification and verify it by running the actual system. The direct execution framework is part of an ongoing research to design and implement a multi-agent programming language called STAPLE (Social and Team Agents Programming Language) that is formally connected with a logical theory of agency. Here, we discuss the implementation of a STAPLE interpreter. Extract: Review of the Language Review of the Language Our object language is a modal language with the usual connectives of a first order language with equality, as well as operators for propositional attitudes and event sequences. (BEL x p) and (GOAL x p) say that p follows from x’s beliefs or choices respectively. (HAPPENS a) and (DONE a) say that a sequence of actions described by the action expression a will happen next or has just happened, respectively. Temporal properties are expressed in a linear time temporal logic. ?p says that the proposition p will eventually be true, and ?p says that p will always be true. Letters such as t are used to represent groups. (HAPPENS t a) and (DONE t a) specify the group t as actor for the action sequence a without regard to which group members participate in the group action. An action expression is built from variables ranging over sequences of events using constructs of dynamic logic: a;b is action composition, a|b is non-deterministic choice, a||b is concurrent action, p? is a test action, and a* is indefinitely many repetitions. Complex action expressions are composed using these dynamic logic constructs. Mutual belief is defined in terms of unilateral mutual belief (BMB). Persistent goal (PGOAL) formalizes the notion of individual commitment and intention (INTEND) to do an action is defined to be a commitment to do the action knowingly. Team commitment (TPG) and team intention (TI) are similarly defined for a team of agents [3]. The model theory of this language is based on a possible-worlds semantics. Worlds are modeled as a linear sequence of primitive event types and the possible worlds can be related to each other via belief and goal accessibility relations. Details of this modal language and its semantics can be found in [1, 3, 4]. Next, we present an overview of the basic interpreter. |