Modeling Teamwork in Multi-Agent Systems

Modeling Teamwork in
Multi-Agent Systems:
The CAST Architecture
Dr. Thomas Ioerger, Jianwen Yin, and Michael
Miller
Computer Science, Texas A&M University
March 21, 2001
Agenda
Teamwork
 CAST
 MALLET
 DIARG
 Dynamic Role Selection
 Conclusions

What is a Team?
• Definition of a Team
– A group of entities that are working together to
achieve a shared (or common) goal
• Team needs
– Coordination
– Sharing of information
– Distributed decision-making
• Focus of (human) teamwork optimizations
– Situational awareness
– Communications efficiency
– Effectiveness of group decision-making
Previous work on Teamwork

Multi-agent teams
–
–
–
–
Cohen & Levesque’s joint intention theory
Planning and plan specification/recognition
Team-oriented programming
STEAM based on SOAR by Tambe based on
joint-intentions
– Grosz’s Shared Plans

Psy. Research on Human Team-Training
– Shared mental models
Issues in Multi-Agent Team Training
System Design
• How to represent a team? (Team ontology
and MALLET)
• How to effectively reason about other team
members’ roles and beliefs to collaborate?
• How to initiate communication? (DIARG)
Shared Mental Model
• Team structure: roles
– responsibilities for individual steps in plans
– mutual belief assumption
• Team process = team plan
– use Petri Nets as an approximate finite and
computable model of team process
– use the token flow in Petri Nets to monitor and
track the plan execution)
B
start
A
D
C
end
From teamwork to agent model

A compositional multi-agent
architecture
Agent
Component
Connector
Shared knowledge/
mutual belief etc.
Agent
Component
CAST (Collaborative Agents for
Simulating Teamwork)
Model effective teamwork by
capturing team structures and
teamwork process
 Enable agents in a team to have
flexibility for adapting the team to
changes in the environment

CAST Architecture
Team Process and
Structure Related
Domain
Knowledge in
MALLET
CAST
MALLET Parser
and offline DIARG
Reactive Action
Rules and Agent
Beliefs in JARE
Java
Implementation for
Domain Related
OPs
JARE
Petri Nets
Information
Flows
CAST Kernel
Actor
Interface
Env. Simulator
MALLET (Multi-Agent Logic
Language for Encoding Teamwork)
Basic Object Type Predicates
 Actions and Plans
 Responsibilities
 Capabilities
 Belief
 Communication

MALLET Specification

Team plans
– role specifications (with constraints)
– process specification
(team-plan make-dinner (?entrée)
(role shopper ?X (has-money ?X))
(role cook ?Y )
(process
(if (need-ingredients ?entree)
(sequence (do ?X (go-to store))
(do ?X (buy-ingredients ?entrée)))
(parallel (do ?Y (prepare ?entrée)) (do ?X set-table))
(forall ?Z (team-member ?Z) (do ?Z eat))
(do-all (clean-up dishes)))) // an `AND’ team-operator
Team Operators

Joint actions & coop-mode
– and: lifting a couch together
– xor/or : hitting a volleyball

Team operator
– team, co-mode, arguments
– precond, postcond
Responsibilities
• Responsibilities are relationships between a set of
roles, a goal, and a stage, represented as
Responsibility(<role-set>, <goal>, stage)
• Redundant responsibilities: Or- responsibility(<roleset>, <goal>, stage)
• Shared competitive responsibilities: Xorresponsibility(<role-set>, <goal>, stage)
• Shared complementary responsibilities: Andresponsibility(<role-set>, <goal>, stage)
Capabilities
• Capabilities are relationships between roles and
actions, which is represented as Capability(<roleset>, <action>)
• Backup capability: Or- capability(<role-set>,
<action>)
• Shared competitive capability: Xor- capability(<roleset>, <action>)
• Shared conflicting capability: And- capability(<roleset>, <action>)
Three Major Algorithms
Petri Net generation algorithm
 DIARG
 Dynamic role selection

Petri Nets

place/transition Petri nets vs. PrT
nets
– propositional  first-order predicate

PrT nets vs. logic programs
– happy(x)  cat(x), purrs(x).
– Concurrence
– Firing rule vs. meta-predicates
Petri Net Generation

Sequential process
subnet
subnet
start

end
Parallel process
subnet
start
subnet
end
Petri Net Generation (Cont.)

If process
sub-net
Then cond
else cond
start
sub-net
end
DIARG (Dynamic Inter-Agent
Rule Generator)
• Proactive information exchange
– inferring what might be needed for others to
complete their (current) tasks
– Proactively provide timely information
– Reduce communication overhead
• Examines needers and providers of
information in order to allow dynamic
generation of information flow
Dynamic Role Selection
• Whenever there is a choice on who
performs an action (i.e.role redundancy)
– Postpone role selection until reach the individual
plan or individual operator level
• Might need to communicate to…
– resolve ambiguities of responsibility
– synchronize for joint actions
• Advantages
– Provide flexibility in team formation
– Others can play “backup” role, in case of failure
– Improve teamwork efficiency, Balance workload
Future Work
• Simulating more dynamic teams
– handling failures, load-balancing, delegation,
unreliable agents
• Handling more types of communication
– resolving conflicting information
– situation assessment (cognitive models)
• Reasoning about agent capabilities
• Goal regression and planning
• User-modeling: inferring state/beliefs/intent from
monitoring actions
Conclusions

First version (CAST 1.0) running now
– see demo

Target domains: Team Training
– AWACS
– Fire Fighting
– Army Brigade Operations Staff
– NASA Flight Controllers
Acknowledgements
Dr. Richard Volz, Dr. John Yen, Dr.
Dianxiang Xu
 Heejin Lim, Sen Cao, Yue Zhou,
Xueqi Cheng, Colby Johnson
