300 likes | 426 Views
The Semantics of MALLET--An Agent Teamwork Encoding Language. Xiaocong Fan School of Information Sciences and Technology The Pennsylvania State University July 19, 2004. Outline. Background on TOP Objectives of MALLET Syntax Semantics An implemented interpreter
E N D
The Semantics of MALLET--An Agent Teamwork Encoding Language • Xiaocong FanSchool of Information Sciences and Technology The Pennsylvania State University • July 19, 2004
Outline • Background on TOP • Objectives of MALLET • Syntax • Semantics • An implemented interpreter • What’s the distinguishing features?
Team-Oriented Programming • Language level • Tidhar: Constructs for describing team behaviors based on mutual beliefs, joint plans and social structures • Methodology level • Pynadath, et al: Mechanism (reusable team wrapper) for supporting rapid development of agent teams
The state of art: Encoding teamwork knowledge • Atomic team operators • Tidhar’s TOP supports atomic team operators • Joint team activities: long-term process involving multiple agents • The notion of team operator in STEAM • Shared team plans: common recipes that govern the collaboration behaviors • GRATE* has a higher-level language support • RETSINA uses the concept of shared plans, but no encoding language • JACK Teams uses Java
The state of art: Dynamic task assignment • Role-capability matching • STEAM, JACK Teams • Constraints reasoning • RETSINA NO language-level support for specifying task-allocations within team plans
The state of art: Complex teamwork process • GRATE*, JACK Teams, and TOP provided control constructs for coding complex team behaviors • Par, while, if, etc. • However, none of the existing approaches support the coding of decision points in a team plan
Types of information needs • Action-performing information-need • Decision-making information-need • Goal-protection information-need • Goal-escape information-need
Objectives of MALLET • A language suitable for encoding agent teamwork knowledge, especially for composing complex teamwork behaviors • Expressivity: three-level support, choice points • Understandability: high-level • Reusability: representation be independent of the context in which the knowledge is used • Encourage inferred team intelligence • support the specification of collaboration constraints, such as action preconditions and plan termination conditions • Allow the specification of adaptive team structure and team process
Preparations—Control messages • A control message is a tuple < type, aid, gid, pid,olist >, • type {sync, ctell, cask, unachievable}, • aid is the sending agent, • gid is a well-formed first-order formula, denoting a goal. • pid is a plan id, • olist is a list of extra parameters varying from message type to message type. • A message of type sync is used to synchronize with a recipient with respect to the committed goal gid and current activity pid; • A message of type ctell is used to tell a recipient about the status of pid; • A message of type cask is used to request a recipient to perform pid; • A message of type unachievable is used to inform a recipient of the unachievability of pid. MALLET has a built-in domain-independent operator send (receivers, msg) • Assume pre(send)=true, and the execution of send always succeeds. • If <typ,a, …> is a control message, the effect of send (b,<typ,a,…>) will assert (typ\ a …>) as a fact into agent a's belief base. • The recipient of a control message will also assert an appropriate fact into its belief base. • For instance, when agent b receives message <sync, a, g, p>, predicate (sync a g p) will be asserted into b's belief base.
Preparations—Goals and Intentions • A goal g is a pair <,A>. • An intention slice is of form (,A) s. • An intention is : [0\...\ k], where i (0 i k) is of form (i,Ai) si. • The empty intention is denoted by T. • If h =[0\...\ k], [h\ '] = [0\...\ k\'].
Preparations—Configuration • Def. 1 (MALLET configuration): A MALLET configuration of an agent is a tuple < B, G, H, >, where (1) B is consistent, (2) for any goal gG, g is not derivable from B and g is consistent by itself. • Def. 2 (achievement goal): Function agls is defined recursively as: • agls(T) = {}, • for any intention h=[0\...\ k-1\ (k, Ak) sk], agls(h) = {k} agls([0\...\ k-1]).
Preparations—Assumptions • A belief update function BU(B,p), which revises the belief base B with a new fact p. • Two domain-independent operators working on B: • unsync(,), and • untell(,s). • Their effects are to remove all the predicates that can be unified with • sync(?a, ,) and • ctell(?a, ,s,?id), respectively, from B. • B allows explicit negation. For any b(t), its explicit negation is denoted by • The execution of atomic operators always succeeds
Semantics—beliefs, goals, intentions • Def. 3 : Given a Mallet configuration M= <B, G, H, >, for any wff , any belief or goal formula ,’, any agent a,
Semantics—termination of plans • The execution of a plan invocation is terminated (i.e., isTermed() is derivable from the current configuration), iff: • On plan entering, the plan precondition does not hold, • In plan execution, the termination conditions become true, • On plan completion, the expected postcondition is not true. • Note: When isTermed ) is evaluated as true, a predicate of form (termed t) will be asserted into B, so that in later transitions the termination can be propagated upwards to a higher plan level.
What’s the distinguishing features? • MALLET vs. OWL-S • MALLET is designed for encoding team intelligence that requires collaboration • MALLET vs. planning language (e.g., PDDL) • Guiding collaboration vs. guiding planning • MALLET vs. JACK Teams • High-level vs. lower-level