120 likes | 143 Views
Learn how to specify agent interaction protocols using AUML and OCL. Explore MAS concepts, AIP patterns, Agent UML, and OCL for multi-agent systems modeling. A comprehensive guide for designing efficient agent-based systems.
E N D
Specifying Agent Interaction Protocols with AUML and OCL COSC 6341 Project Presentation Alexei Lapouchnian November 29, 2000
Background: Agents 1 • An agent is a software-based computer system that has the following properties: • AUTONOMY: agents operate without the direct intervention ofhumansor others, and have some kind of control over their actionsand 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 don’t simply act in response to their environment, they are able to exhibit goal-directed behaviour by taking the initiative (usually through planning, BDI implementations)
Background: Agents 2 • Applications: • Agents can be used as intelligent controllers (British Telecom, Nortel), shopping agents (Compaq’s WebL), wrappers for some info sources, legacy software, etc. • Inter-Agent Communication: allows to exchange knowledge despite differences in h/w platforms, OS’s, architectures, PL’s, 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
Background: 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)
Agent 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.
Agent 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
Figure 2. Using packages to express nested protocols Figure 3. Recommended extensions for concurrency: a) AND b) OR c) XOR
Object 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->foAll(e1, e2 | e1 <> e2 implies e1.employeeNo <> e2.employeeNo)
OCL 2 • Specifying postconditions in OCL: • context Person::birthdayHappens() • post: age = age@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
Project Project goals: Model a multi-agent application with contract net protocol using Agent UML and specify constraints on AIP using OCL