Title: Specifying Agent Interaction Protocols with AUML and OCL
1Specifying Agent Interaction Protocols with AUML
and OCL
- COSC 6341
- Project Presentation
- Alexei Lapouchnian
November 29, 2000
2Background Agents 1
- An agent is a software-based computer system that
has the following properties - AUTONOMY agents operate without the direct
intervention of humans or others, and have some
kind of control over their actions and internal
state - SOCIAL ABILITY agents interact with other agents
(and possibly humans) via some kind of
agentcommunication language - REACTIVITY agents perceive their environment and
respond in a timely fashion to changes that occur
in it - PRO-ACTIVENESS agents dont simply act in
response to their environment, they are able to
exhibit goal-directed behaviour by taking the
initiative (usually through planning, BDI
implementations)
3Background Agents 2
- Applications
- Agents can be used as intelligent controllers
(British Telecom, Nortel), shopping agents
(Compaqs WebL), wrappers for some info sources,
legacy software, etc. - Inter-Agent Communication allows to exchange
knowledge despite differences in h/w platforms,
OSs, architectures, PLs, knowledge
representation and reasoning systems - ?very important
- ?need for agent communication language (KQML,
FIPA ACL) - ?speech acts, performatives (inform, request,
accept, reject,
commit, advertise,
propose, etc.) - ?need for ontologies
4Background MAS
- Multi-Agent System is a community of
(independent) agents. - ?Usually asynchronous, concurrent communications
- ?Centralized/brokered or decentralized, dynamic
or static - ?Agents playing multiple roles (supplier/creditor)
- ?Complicated belief-desire-intention revision
mechanisms in presence of inter-agent
communication - ?Agents can take initiative and have control over
whether and how they process external requests
(unlike objects) - ?A lot of social aspects (e.g. trust, team work)
5Agent Interaction Protocols
- AIP communication pattern with an allowed
sequence of messages between agents playing
certain roles, constraints on the content of the
messages, and semantics that is consistent with
performatives within this pattern - ?constrains the parameters of the message
exchange types and order of messages, allows to
detect illegal/incomplete conversations - specific class of software design patterns
describes problems that occur frequently in
multiagent systems and shows the core of
reusable solutions to those problems - AIPs Contract Net, English Auction, Dutch
Auction, Subscribe, etc.
6Agent UML
?Proposed UML extension for modeling agent-based
systems ?Agents are more complicated than
objects plain UML is insufficient for modeling
agents and agent-based systems ?Additional
requirements extended notion of roles,
concurrency, mobile agents, agent
cloning ?Layered approach to protocols overall
protocol, interactions among agent, internal
agent processing ?AUML proposes new diagram type
Protocol diagram with Agent Lifelines and
threads of interaction
7(No Transcript)
8Figure 2. Using packages to express nested
protocols
Figure 3. Recommended extensions for concurrency
a) AND b) OR c) XOR
9Object Constraint Language
OCL is part of UML specification and can be used
to ?specify invariants on classes and types in
UML class model ?describe pre- and post-
conditions on Operations and Methods ?describe
Guards ?specify constraints on operations ?specify
the well-formedness rules of UML OCL has many
built-in types including collection types (bag,
set, sequence), enumerated type. It has many
operations on collections select, reject,
forAll, exists, etc. context Company
inv self.employee-gtfoAll(e1, e2 e1 ltgt e2
implies e1.employeeNo ltgt e2.employeeNo)
10OCL 2
- Specifying postconditions in OCL
- context PersonbirthdayHappens()
- post age age_at_pre 1
- Constraints
- AUML does not propose specifying AIP constraints,
pre- and post- conditions formally - Need to specify additional constraints on
protocols (e.g in auctions) - Possibility of expressing belief base changes
- Useful when combining AIPs
11Project
Project goals Model a multi-agent application
with contract net protocol using Agent UML and
specify constraints on AIP using OCL