multiagent systems agent oriented software …...methodology for agent-oriented analysis and design....
TRANSCRIPT
Multiagent SystemsAgent Oriented Software Engineering
Viviana Mascardi
MAS, University of Genoa, DIBRIS Agents and MASs 1 / 65
Outline
1 Introduction
2 Agent-Oriented Architectures
3 AOSE methodologies
MAS, University of Genoa, DIBRIS Agents and MASs 2 / 65
Introduction
Introduction
F. Zambonelli, A. Omicini. Challenges and Research Directions inAgent-Oriented Software Engineering. Journal of AutonomousAgents and Multi-Agent Systems, 9(3), pp. 253-283, 2004P. Giorgini, B. Henderson-Sellers. Agent-Oriented Methodologies:An Introduction. In Agent-Oriented Methodologies. December2004 - January 2005. P. Giorgini and B. Henderson-Sellers (Eds.)
MAS, University of Genoa, DIBRIS Agents and MASs 3 / 65
Introduction
Introduction
The features of agent-based systems are well suited to tackle thecomplexity of developing software in modern scenarios:
1 the autonomy of application components reflects the intrinsicallydecentralised nature of modern distributed systems and can beconsidered as the natural extension to the notions of modularityand encapsulation for systems that are owned by differentstakeholders;
MAS, University of Genoa, DIBRIS Agents and MASs 4 / 65
Introduction
Introduction
2 the flexible way in which agents operate and interact (both witheach other and with the environment) is suited to the dynamic andunpredictable scenarios where software is expected to operate;
3 the concept of agency provides for a unified view of AI results andachievements, by making agents and MASs act as sound andmanageable repositories of intelligent behaviours.
MAS, University of Genoa, DIBRIS Agents and MASs 5 / 65
Introduction
Introduction
In the last few years, together with the increasing acceptance ofagent-based computing as a novel software engineeringparadigm, there has been a great deal of research related to theidentification and definition of suitable models and techniques tosupport the development of complex software systems in terms ofMASs.This research, can be roughly grouped under the termAgent-Oriented Software Engineering (AOSE).
MAS, University of Genoa, DIBRIS Agents and MASs 6 / 65
Introduction
The Promise of AOSE for distributed systemsengineering
Today’s software engineering approaches are increasinglyadopting abstractions approaching that of agent-based computing.This trend can be better understood by recognising that the vastmajority of modern distributed systems scenarios are intrinsicallyprone to be developed in terms of MASs, and that moderndistributed systems are already de facto MASs, i.e., they areindeed composed of autonomous, situated, and socialcomponents.
MAS, University of Genoa, DIBRIS Agents and MASs 7 / 65
Introduction
The Promise of AOSE for distributed systemsengineering: Autonomy
As far as autonomy is concerned, almost all of today’s softwaresystems already integrate autonomous components.At its weakest, autonomy reduces to the ability of a component toreact to and handle events, as in the case of graphical interfacesor simple embedded sensors.However, in many cases, autonomy implies that a componentintegrates an autonomous thread of execution, and can execute ina proactive way.
MAS, University of Genoa, DIBRIS Agents and MASs 8 / 65
Introduction
The Promise of AOSE for distributed systemsengineering: Situatedness
Today’s computing systems are also typically situated.For example, control systems for physical domains and sensornetworks, are built to explicitly manage data from the surroundingphysical environment, and take into account the unpredictabledynamics of the environment.Mobile and pervasive computing applications recognise (under thegeneral term of context-awareness) the need for applications tomodel explicitly environmental characteristics and data.Internet applications are also conceived for being aware of thefeatures and the dynamics of the environment where they work,namely, the Web.
MAS, University of Genoa, DIBRIS Agents and MASs 9 / 65
Introduction
The Promise of AOSE for distributed systemsengineering: Sociality
Sociality in modern distributed systems comes in different flavors:1 the capability of components of supporting dynamic interactions,
i.e., interaction established at run-time with previously unknowncomponents;
2 the somewhat higher interaction level, overcoming the traditionalclient-server scheme;
3 the enforcement of some sorts of societal rules governing theinteractions.
MAS, University of Genoa, DIBRIS Agents and MASs 10 / 65
Introduction
The Promise of AOSE for intelligent systemsengineering
Artificial Intelligence is mainly concerned with building intelligentsystems: the very name of “Artificial Intelligence” literally suggeststhe notion of artifacts exhibiting intelligent behaviour.Therefore, AI can be considered as an engineering field (dealingwith constructive concerns), rather than simply a scientific one(dealing with understanding and predicting intelligent systemsbehaviour).
MAS, University of Genoa, DIBRIS Agents and MASs 11 / 65
Introduction
The Promise of AOSE for intelligent systemsengineering
As already seen in the previous lessons, nearly 30 years of AIresearch were conducted by having research groups concentrateon single, isolated aspects of AI (like, say, artificial vision,knowledge representation, planning).There were few attempts of producing a reasonable set ofconceptual and practical tools, which could promote theintegration of such a vast amount of research findings into themainstream practice of software development.This is where agents are actually becoming a key abstraction intoday’s AI.
MAS, University of Genoa, DIBRIS Agents and MASs 12 / 65
Introduction
The Promise of AOSE for intelligent systemsengineering
The very notion of agents provides a uniform conceptual spacewhere all the findings of the AI field can be easily framed andrelated, and eventually find mainstream acceptance.
MAS, University of Genoa, DIBRIS Agents and MASs 13 / 65
Introduction
Current directions in AOSE
Mainstream research directions in AOSE:1 Agent-Oriented Architectures2 AOSE methodologies3 Notation techniques4 Agent-Oriented Programming Languages5 Agent-based Modeling and Simulation6 MAS infrastructures
MAS, University of Genoa, DIBRIS Agents and MASs 14 / 65
Introduction
Current directions in AOSE
Mainstream research directions in AOSE:1 Agent-Oriented Architectures (in this lesson)2 AOSE methodologies (in this lesson)3 Notation techniques (after lessons on communication)4 Agent-Oriented Programming Languages (lessons on Jason)5 Agent-based Modeling and Simulation (lessons on NetLogo)6 MAS infrastructures (lessons on JADE)
MAS, University of Genoa, DIBRIS Agents and MASs 15 / 65
Agent-Oriented Architectures
Outline
1 Introduction
2 Agent-Oriented Architectures
3 AOSE methodologies
MAS, University of Genoa, DIBRIS Agents and MASs 16 / 65
Agent-Oriented Architectures
Acknowledge
For this part of the lesson we will use the slides by Antonio Moreno, inturn based on Rosenschein’s slides from Wooldridge book. They canbe downloaded from https://www.slideshare.net/ToniMorenoURV/agent-architectures-3181662
MAS, University of Genoa, DIBRIS Agents and MASs 17 / 65
Agent-Oriented Architectures
But this wonderful picture is by myself!!!
MAS, University of Genoa, DIBRIS Agents and MASs 18 / 65
AOSE methodologies
Outline
1 Introduction
2 Agent-Oriented Architectures
3 AOSE methodologies
MAS, University of Genoa, DIBRIS Agents and MASs 19 / 65
AOSE methodologies
Genealogy of some AOSE methodologies
MAS, University of Genoa, DIBRIS Agents and MASs 20 / 65
AOSE methodologies
Gaia
Wooldridge, M., Jennings, N.R. and Kinny, D. The GaiaMethodology for Agent-Oriented Analysis and Design.Autonomous Agents and Multi-Agent Systems (2000)3(3):285–312.Franco Zambonelli, Nicholas R. Jennings, and MichaelWooldridge. 2003. Developing multiagent systems: The Gaiamethodology. ACM Trans. Softw. Eng. Methodol. 12, 3 (July2003), 317-370.
MAS, University of Genoa, DIBRIS Agents and MASs 21 / 65
AOSE methodologies
Reminder: what is a MAS
MAS, University of Genoa, DIBRIS Agents and MASs 22 / 65
AOSE methodologies
Acknowledge
For this part of the lesson we will use the slides by Mehdi Dastani,“Multi-Agent Programming Software Development Methodologies forMulti-Agent Systems”. They can be downloaded fromhttp://www.cs.uu.nl/docs/vakken/map/slides/gaia.pdf
MAS, University of Genoa, DIBRIS Agents and MASs 23 / 65
AOSE methodologies
Prometheus (further example, not part of the program)
L. Padgham and M. Winikoff. Prometheus: A Methodology forDeveloping Intelligent Agents. In Proceedings of the ThirdInternational Workshop on Agent-Oriented Software Engineering(AOSE 2002), at AAMAS’02, 2002.L. Padgham and M. Winikoff. Developing Intelligent AgentSystems: A Practical Guide. 2004, John Wiley and Sons.L. Padgham, J. Thangarajah, and M. Winikoff. Tool Support forAgent Development using the Prometheus Methodology. InProceedings of the First International Workshop on Integration ofSoftware Engineering and Agent Technology (ISEAT 2005), 2005.The Prometheus Design Tool:http://www.cs.rmit.edu.au/agents/pdt/.
MAS, University of Genoa, DIBRIS Agents and MASs 24 / 65
AOSE methodologies
Prometheus
The Prometheus methodology consists of three phases.1 The system specification phase focuses on identifying the basic
functionalities of the system, along with inputs (percepts), outputs(actions) and any important shared data sources.
2 The architectural design phase uses the outputs from the previousphase to determine which agents the system will contain and howthey will interact.
3 The detailed design phase looks at the internals of each agentand how it will accomplish its tasks within the overall system.
MAS, University of Genoa, DIBRIS Agents and MASs 25 / 65
AOSE methodologies
Prometheus
MAS, University of Genoa, DIBRIS Agents and MASs 26 / 65
AOSE methodologies
Prometheus: System Specification
This phase consists of the following steps, which are interleaved anditerated until the specification is considered sufficiently complete
1 Identification of actors and their interactions with the system, inthe form of percepts and actions;
2 Developing scenarios (by means of use cases) illustrating thesystem’s operation;
3 Identification of the system goals and sub-goals;4 Identifying any external data;5 Grouping goals and other items into the basic roles of the system.
MAS, University of Genoa, DIBRIS Agents and MASs 27 / 65
AOSE methodologies
Prometheus: Architectural Design
This phase uses artefacts produced in the System Specification Phaseto determine what agent types will be included in the system and theinteraction between these agents. The steps in this phase are:
1 Determine the agent types2 Develop the interaction protocols3 Develop the system overview diagram
MAS, University of Genoa, DIBRIS Agents and MASs 28 / 65
AOSE methodologies
Prometheus: Detailed Design
This phase uses artefacts produced in the Architectural Design Phaseto define the internals of every agent in the system and to specify howagents accomplish their overall tasks.
Each agent is refined in terms of its capabilities, internal events,plans, and data structures.Each capability has a capability overview diagram that capturesthe structure of the plans within this capability and the events thatare associated with these plans.The dynamic behaviour is described by process diagrams basedon the interaction protocols identified in the previous phase.
MAS, University of Genoa, DIBRIS Agents and MASs 29 / 65
AOSE methodologies
Prometheus: a running example
We will go through the design and implementation of a small librarymanagement system. This system should be able to do the followingthings:
Allow for checkout of books, providing a return date to thecustomerAllow for return of booksAllow for reservation of unavailable booksAllow for notification of overdue booksAllow for notification of arrival of reserved books
MAS, University of Genoa, DIBRIS Agents and MASs 30 / 65
AOSE methodologies
System specification: Goals and subgoals
Checkout books– Record book code to the user id checked out list.– Provide return date.Return books– Remove book code from the user idReserve unavailable books– Record book code as reserved for user id– Show the current due date for the book
MAS, University of Genoa, DIBRIS Agents and MASs 31 / 65
AOSE methodologies
System specification: Goals and subgoals
Give notification for overdue books– Access book record at the start of the day– Send email for overdue booksGive notification of arrival of reserved books– Access the reserved list for user– Send email notification
MAS, University of Genoa, DIBRIS Agents and MASs 32 / 65
AOSE methodologies
System specification: Goals and subgoals
MAS, University of Genoa, DIBRIS Agents and MASs 33 / 65
AOSE methodologies
System specification: Goals and subgoals
MAS, University of Genoa, DIBRIS Agents and MASs 34 / 65
AOSE methodologies
System specification: Goals and subgoals
MAS, University of Genoa, DIBRIS Agents and MASs 35 / 65
AOSE methodologies
System specification: Scenarios
Depending on the system we can identify 5 different scenarios1 When the user comes to checkout the book.2 When the user returns the book.3 When a book becomes overdue.4 When the user asks to reserve a book.5 When the reserved book arrives.
MAS, University of Genoa, DIBRIS Agents and MASs 36 / 65
AOSE methodologies
System specification: Scenarios
MAS, University of Genoa, DIBRIS Agents and MASs 37 / 65
AOSE methodologies
System specification: Checkout scenario
1 Request for checkout2 Provide return date3 Record book code as checked out4 Provide book
MAS, University of Genoa, DIBRIS Agents and MASs 38 / 65
AOSE methodologies
System specification: Return scenario
1 Book returned2 Remove book code from checkout list
MAS, University of Genoa, DIBRIS Agents and MASs 39 / 65
AOSE methodologies
System specification: Reserve scenario
1 Request for reservation2 Record book code as reserved3 Show current due date4 Provide current due date
MAS, University of Genoa, DIBRIS Agents and MASs 40 / 65
AOSE methodologies
System specification: Arrival scenario
1 Reserved book arrives2 Find the reserved user3 Send arrival email
MAS, University of Genoa, DIBRIS Agents and MASs 41 / 65
AOSE methodologies
System specification: Overdue scenario
1 Start of the day2 Find overdue books at the start of the day3 Send overdue email
MAS, University of Genoa, DIBRIS Agents and MASs 42 / 65
AOSE methodologies
System specification: Role grouping
1 Checkout books2 Return books3 Overdue books4 Reserve books5 Send Arrival Notification
MAS, University of Genoa, DIBRIS Agents and MASs 43 / 65
AOSE methodologies
System specification: Checkout books role
MAS, University of Genoa, DIBRIS Agents and MASs 44 / 65
AOSE methodologies
System specification: Return and overdue books roles
MAS, University of Genoa, DIBRIS Agents and MASs 45 / 65
AOSE methodologies
System specification:Reserve books and send arrival notification roles
MAS, University of Genoa, DIBRIS Agents and MASs 46 / 65
AOSE methodologies
Architectural design: Data coupling
In this phase we need to identify what type of data need to be stored inthe system as beliefs. In our running example, we need to keep theinformation of all books that have been checked out and also thebooks that have been reserved
The checkout books role and return books role update thecheckout belief and the overdue books role uses this to sendoverdue email.The reserve books role updates the reserve belief and the arrivalnotification uses it.
MAS, University of Genoa, DIBRIS Agents and MASs 47 / 65
AOSE methodologies
Architectural design:Data coupling for checkout role
MAS, University of Genoa, DIBRIS Agents and MASs 48 / 65
AOSE methodologies
Architectural design:Data coupling for reserve role
MAS, University of Genoa, DIBRIS Agents and MASs 49 / 65
AOSE methodologies
Architectural design: Agent-role coupling
Now we group the roles and identify three agents to carry out this rolesin the system. The agents identified are:
Checkout AgentReservation AgentOverdue Agent
MAS, University of Genoa, DIBRIS Agents and MASs 50 / 65
AOSE methodologies
Architectural design: Checkout agent-role coupling
MAS, University of Genoa, DIBRIS Agents and MASs 51 / 65
AOSE methodologies
Architectural design: Reservation agent-role coupling
MAS, University of Genoa, DIBRIS Agents and MASs 52 / 65
AOSE methodologies
Architectural design: Overdue agent-role coupling
MAS, University of Genoa, DIBRIS Agents and MASs 53 / 65
AOSE methodologies
Architectural design: Agent acquaintance diagram
MAS, University of Genoa, DIBRIS Agents and MASs 54 / 65
AOSE methodologies
Architectural design: System overview diagram
MAS, University of Genoa, DIBRIS Agents and MASs 55 / 65
AOSE methodologies
Detailed design: Capabilities of the checkout agent
Checkout CapabilityReturn CapabilityGet Return Date Capability
MAS, University of Genoa, DIBRIS Agents and MASs 56 / 65
AOSE methodologies
Detailed design: Capabilities of the checkout agent
MAS, University of Genoa, DIBRIS Agents and MASs 57 / 65
AOSE methodologies
Detailed design: Checkout plan
MAS, University of Genoa, DIBRIS Agents and MASs 58 / 65
AOSE methodologies
Detailed design: Return plan
MAS, University of Genoa, DIBRIS Agents and MASs 59 / 65
AOSE methodologies
Detailed design: Get return date plan
MAS, University of Genoa, DIBRIS Agents and MASs 60 / 65
AOSE methodologies
Detailed design: Capabilities of the reservation agent
Reservation CapabilityArrival Notification Capability
MAS, University of Genoa, DIBRIS Agents and MASs 61 / 65
AOSE methodologies
Detailed design: Capabilities of the reservation agent
MAS, University of Genoa, DIBRIS Agents and MASs 62 / 65
AOSE methodologies
Detailed design: Reservation plan
MAS, University of Genoa, DIBRIS Agents and MASs 63 / 65
AOSE methodologies
Detailed design: Arrival notification plan
MAS, University of Genoa, DIBRIS Agents and MASs 64 / 65
AOSE methodologies
Detailed design: Capabilities of the overdue agent
Find overdue books Capability
MAS, University of Genoa, DIBRIS Agents and MASs 65 / 65
AOSE methodologies
Detailed design: Find overdue books plan
MAS, University of Genoa, DIBRIS Agents and MASs 66 / 65