STAPLE(ID:5507/sta016)


for Social and Team Agents Programming Language

Agent-oriented programming language




References:
  • Kumar, Sanjeev; Cohen, Philip R. and Marcus J. Huber "Direct execution of team specifications in STAPLE" Proceedings of the first international joint conference on Autonomous agents and multiagent systems 2002 , Bologna, Italy view details Abstract: Formal theories of teamwork are typically treated as software design specifications of team behavior. We take a different approach to programming teamwork by directly executing logical specifications of joint commitment and joint intention. This approach leads to a domain-independent framework for programming teamwork where one can modify (or add new) behavior for a team of agents just by modifying (or adding) logical sentences. One may also be able to predict the behavior of an agent team offline using its team intention specification and verify it by running the actual system. Extract: Introduction
    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.