AOSE - Agent Oriented Software Engineering

Download Report

Transcript AOSE - Agent Oriented Software Engineering

AOSE - Agent Oriented
Software Engineering
Alvaro Magri
[email protected]
AOSE: index
●
AOSE: introduction
●
Agent-based approach
●
GAIA methodology
●
Tropos methodology
●
Prometheus methodology
●
Comparison among the three methodologies
AOSE: Introduction (1)
●
Agent-based computing is a synthesis of both Artificial Intelligence (AI) and
Computer Science
●
An agent is an encapsulated computer system that is situated in some
environment and that is capable of flexible, autonomous action in that
environment in order to meet its design objectives [1]
●
Agents are being advocated as a next generation model for engineering open,
complex, distributed systems
–
Open: components can join or leave the dynamic operating environment and
the
operating conditions change in unpredictable ways
–
Complex: the software has a large number of components that interact following
complex interaction protocols; every agent has a partial view of the environment
and there is no centralized control
AOSE: Introduction (2)
●
●
In real-world applications the environment is open, complex and
dynamic. As a consequence,
–
Interaction among components cannot be completely foreseen at
compile-time
–
The system's inherent organizational structure must be explicitly
represented
We need the right abstractions, methodologies and instruments to
correctly engineer applications of this kind
AOSE: Agent-Based
approach (1)
AOSE: Agent-Based
approach (2)
●
Why should we use an agent-based approach in software development?
●
Traditional SE techniques for tackling system complexity involve:
–
DECOMPOSITION: Agents like active objects
–
ABSTRACTION: Booch [2] '' at any given level of abstraction, we find
meaningful collections of entities that collaborate to achieve some
higher level view ''
–
ORGANISATION: Organizational constructs are first-class entities in
agent system
AOSE: Agent-Based
approach (3)
●
AB approach models real-world systems so:
–
The patterns and the outcomes of interactions are inherently
unpredictable
–
Predicting the behavior of the overall system based on its constituent
components is extremely difficult
AOSE: Agent-Based
approach (4)
●
To avoid building a methodology from scratch, the researchers have extended
existing methodologies in two areas:
1) OO methodologies
2) KE knowledge engineering
●
●
●
●
In OO extensions agents are not simply objects: the interaction between roles
follows complex protocols and agents are characterized by their mental state
Existing OO extensions are: AO Analysis and Design [3], Agent Modelling
Technique for Systems of BDI agents [4], MASB [5] [6], the AO Methodology for
Enterprise modeling [7], Gaia, Tropos, Prometheus, AUML
In KE extensions, techniques for modeling the agent knowledge are provided.
These methodologies are not as extendibles as the OO ones
Existing KE extensions are: CoMoMAS [8], MAS-CommonKADS [9] and
Cassiopeia [10]
AOSE: Gaia (1)
●
●
Gaia is a methodology initially
proposed by M. Wooldridge,
N.R. Jennings, and D. Kinny in
the article ''A methodology for
Agent-Oriented Analysis and
Design'' (1999) [11]
Recently, a new version of Gaia
has been proposed by M.
Wooldridge, N.R. Jennings and
Franco Zambonelli (3-10-2003)
[12].The new version extends
the range of applications to
which Gaia can be applied
AOSE: Gaia (2)
●
REQUIREMENTS: Gaia does not explicitly deal with the activities of
requirements capturing
●
ANALYSIS:
–
The Organization: multiple organizations have to co-exist in the system
and become autonomous interacting MASs (Multi-Agent Systems)
–
Environmental Model: The environment is modelled in terms of
abstract computational resources as variables or tuples, made available to
the agents for sensing, for effecting, or for consuming
AOSE: Gaia (3)
–
Preliminary Role Model: definition of the organization's roles and
protocols. There are two main attribute classes:
—
●
Permissions: what can or cannot be done while carrying out the role
●
Responsibilities:
–
Liveness properties:given centain conditions, ''something good happens''
–
Safety properties: are invariants, '' nothing bad happens ''
Preliminary Interaction Model: protocol definition for each type of
inter-role interaction with particular attributes: protocol name, initiator, partner,
inputs, outputs, description
–
Organizational Rules: it is possible to distinguish between liveness and
safety organizational rules.
●
●
Liveness rules define how the dynamics of the organization should evolve
over time
Safety rules define time-independent global invariants for the organization
AOSE: Gaia (4)
●
ARCHITECTURAL DESIGN:
–
During this engineering stage, various notations and graphical representations
can be adopted to describe and present roles and their interactions (e. g.,
AUML diagrams)
–
Completion of Role and Interaction Models
●
The identification of the MAS organizational structure allows the MAS
designer to know which roles will interact with other roles and which
protocols will be followed during interaction
AOSE: Gaia (5)
●
DETAILED DESIGN:
–
Agent Model: identifies which agent classes are to be defined to play
specific roles and how many instances of each class have to be instantiated.
–
Services Model: identifies the services associated with each agent class.
For each service the documentation related to its inputs, outputs, preconditions and post-conditions must be provided
●
IMPLEMENTATION: Gaia does not deal with implementation issues
AOSE: Prometheus (1)
●
●
Prometheus is a
methodology
proposed by L.
Padgham and M.
Winikoff in the
article ''
Prometheus: A
methodology for
Developing
Intelligent Agents
'' (2002) [13]
Prometheus was
the wisest Titan in
Greek mythology
AOSE: Prometheus (2)
●
SYSTEM SPECIFICATION:
–
In this stage ''percepts'' and ''actions'' that characterize the agent's
interaction with the environment are defined
–
Functional descriptors that contain a name, description, actions,
percepts, data used, and produced and a description of interactions are
defined
–
Use cases: contain an identification number, a natural language
overview, an optional field context, the scenario , a summary of all the
information used, and a list of small variants
AOSE: Prometheus (3)
●
ARCHITECTURAL DESIGN:
–
During this stage the following activities are performed:
●
Identification of which agents should belong to the MAS
●
identification of groups of agents which share the same functionalities
●
identification of the agent acquaintance diagram which defines the
links among interacting agents
AOSE: Prometheus (4)
–
definition of the agent descriptors, characterized by name, description, cardinality,
functionalities, reads data, writes data, interacts with
–
definition of the events, messages and shared data objects
- identification of
the system
overview
diagram which
ties together
agents, events and
shared data objects
- definition of the
interaction
diagrams and
interaction
protocols
using AUML
AOSE: Prometheus (5)
●
DETAILED DESIGN:
–
Focuses on developing the internal structure of each agent and how it will
achieve its task within the system
–
The developer must define capabilities, internal events, plans and detailed
data structures
–
Capability descriptor: contains inputs and produced events, a description of
functionality, a name, interactions with other capabilities, inclusions and a reference to
read and write data
–
Agent overview diagram: shows capabilities within an agent
–
Capability overview diagram: takes a single capability and describes its features
–
The final design artifacts are the individual plan, even and data descriptors
–
The Plan descriptor provides an identifier, the triggering event type, the plan
steps, a context and a list of data read and written
AOSE: Tropos (1)
●
●
Tropos is a methodology proposed
by J. Mylopoulos, M. Kolp and P.
Giorgini in the article '' Agent Oriented
Software Development '' (2002, but
since 2000 was matter of study) [14]
This presentation is based on the latest
article written by P. Bresciani, P.
Giorgini, F. Giunchiglia, J. Mylopoulos
and A. Perini ''TROPOS: An AgentOriented Software Development
Methodology '' (May 2004) [15]
FIVE MAIN
DEVELOPMENT PHASES:
● Early Requirements
● Late Requirements
● Architectural Design
● Detailed Design
● Implementation
NOTE: Tropos from Greek ''tropé'' which means ''easily
changeable'', also ''easily adaptable''
AOSE: Tropos (2)
●
MODELING ACTIVITIES:
–
Actor modeling, which consists of identifying and analyzing both the actors
of the environment and system' s actors and agents
–
Dependency modeling
–
Goal modeling based on 3 basic techniques: means-end analysis,
contribution analysis, and AND/OR decomposition
–
Plan modeling
–
Capability modeling
AOSE: Tropos (3)
●
EARLY REQUIREMENTS ANALYSIS: consists of identifying and
analyzing the stakeholders and their intentions. We must create Actor Diagrams
and Goal Diagrams
AOSE: Tropos (4)
AOSE: Tropos (5)
●
LATE REQUIREMENTS ANALYSIS: focuses on the system-to-be
within its operating environment. System-to-be is represented with a goal
diagram as one actor which has a number of dependencies with the other actors
of the organization.
●
ARCHITECTURAL DESIGN: defines the system' s global architecture
in terms of sub-systems (actors) interconnected through data and control flows
(dependencies). It is articulated in 3 steps:
–
Step 1: the overall architecture is defined ( extended actor diagram)
–
Step 2: the capabilities is defined from actor dependencies
–
Step 3: a set of agent types with one or more different capabilities (agent
assignment) is defined
AOSE: Tropos (6)
●
●
DETAILED DESIGN: deals with the specification of the agents' micro level
–
Capability diagrams: model a capability with UML activity diagrams. In
particular action states model plans
–
Plan diagrams: each plan node of a capability diagram can be further
specified by UML activity diagrams
–
Agent interaction diagrams: AUML sequence diagrams
IMPLEMENTATION: in JACK Intelligent Agents [16], an agent-oriented
development environment
Comparison (1)
●
●
●
In order to compare Agent-Oriented Methodologies we must
have a comparison framework
In order to compare Gaia and Tropos we refer to the
framework presented by A. Sturm and O. Shehory in ''A
Framework for Evaluating Agent-Oriented Methodologies'' [17]
In order to compare Prometheus and Tropos we refer to the
framework presented by K.H. Dam and M. Winikoff in
''Comparing Agent-Oriented Methodologies'' [18]
Comparison (2)
●
GAIA AND TROPOS:
●
The Evaluation Framework:
–
Properties: autonomy, reactiveness, pro activeness, sociality
–
Concepts: agent, belief, desire, intention message, norm, organization,
protocol, role, service, Society, task
–
Notation and Modeling Techniques properties: accessibility, analyzability,
complexity management, executability, expressiveness, modularity,
preciseness
–
Process: development context, life cycle coverage (requirements, analysis,
design, implementation, testing)
–
Pragmatics: resources, required expertise, language (paradigm and
architecture) suitability, domain applicability, scalability
–
Metric: scale from 1 to 7
Comparison (3)
Comparison (4)
●
PROMETHEUS AND TROPOS:
●
The Evaluation Framework:
–
Concepts: agents, autonomy, adaptability, mental notions (BDI), relationship,
communication, goals, agent role, capabilities, percepts, actions and events
–
Modeling language: usability, technical criteria ( unambiguity, consistency,
traceability)
–
Process: enterprise modeling, domain analysis, requirements analysis,
design, implementation and testing
–
Pragmatic: management and technical issues
Comparison (5)
Comparison (6)
Comparison (7)
●
PROMETHEUS AND GAIA:
●
No existing framework
●
Gaia stresses the role organization
●
Prometheus is more detailed in the definition of single agents
●
Prometheus adheres to the BDI model, while Gaia does not
Useful link (1)
●
http://www.science.unitn.it/~recla/aose/ (contains links to all
AOSE methodologies)
References (1)
[1] M. Wooldridge, Agent-Based software engineering, IEE Proc. Software
Engineering 144 (1) (1997) 26-37.
[2] G. Booch, Object-Oriented analysis and Design with Applications, AddisonWesley, Reading, MA, 1994.
[3] Birgit Burmeister. Models and methodology for agent-oriented analysis and
design. In K fischer, editor, Working Notes of the KI'96 Workshop on AgentOriented Programming and Distributed Systems, 1996. DFKI.
[4] David Kinny, Michael Georgeff, and Anand Rao. Amethodology and modelling
techniques for systems of BDI agents. In W. van der Velde and J. Perrram,
editors, Agents Breaking Away: Proceedings of the Seventh European Workshop
on Modelling Autonomous Agents in a Multi-agent World MAAMAW'96, (LNAI
Volume 1038). Springer-Verlag: Heidelberg, Germany, 1996.
References (2)
[5] B. Moulin and L. Cloutier. Collaborative work based on multiagent architectures:
A methodological perspective. In Fred Aminzadeh and Mohammad Jamshidi,
editors, Soft Computing: Fuzzy Logic, Neural Networks and Distributed Artificial
Intelligence, pages 261296. Prentice-Hall, 1994.
[6] Bernard Moulin and Mario Brassard. A scenario-based design method and an
environment for the development of multiagent systems. In D. Lukose and C.
Zhang, editors, First Australian Workshop on Distributed Artificial Intelligentce,
(LNAI volumen 1087), pages 216231. Springer-Verlag: Heidelberg, Germany,
1996.
[7] Elisabeth A. Kendall, Margaret T. Malkoun, and Chong Jiang. A methodology for
developing agent based systems for enterprise integration. In D. Luckose and
Zhang C., editors, Proceedings of the First Australian Workshop on DAI, Lecture
Notes on Artificial Intelligence. Springer-Verlag: Heidelberg, Germany, 1996.
References (3)
[8] Norbert Glaser. Contribution to Knowledge Modelling in a Multi-Agent Framework
(the CoMoMAS Approach). PhD thesis, L'Universtit´e Henri Poincar´e, Nancy I,
France, November 1996.
[9]Carlos A. Iglesias, Mercedes Garijo, Jos´e C. Gonz´alez, and Juan R. Velasco.
Analysis and design of multiagent systems using MAS-CommonKADS. In AAAI'97
Workshop on Agent Theories, Architectures and Languages, Providence, RI, July
1997. ATAL. (An extended version of this paper has been published in
INTELLIGENT AGENTS IV: Agent Theories, Architectures, and Languages,
Springer Verlag, 1998.
[10] Anne Collinot, Alexis Drogoul, and Philippe Benhamou. Agent oriented design of
a soccer robot team. In Proceedings of the Second International Conference on
Multi-Agent Systems (ICMAS-96), pages 4147, Kyoto, Japan, December 1996.
[11] M. Wooldridge, N. R. Jennings and D. Kinny. A Methodology for Agent-Oriented
Analysis and Design. Proceedings of the 3rd International Conference on
Autonomous Agents (Agents-99), Seattle, WA, 69-76. 1999.
http://www.ecs.soton.ac.uk/~nrj/download-files/aa99.ps
References (4)
[12] F.Zambonelli and N.R.Jennings and M.Wooldridge,Developing Multiagent
Systems: The Gaia Methodology,ACM Transactions on Software Engineering and
Methodology, Vol. 12, No. 3, 2003.
http://polaris.ing.unimo.it/Zambonelli/pubblica.html
[13] L. Padgham and M. Winikoff. Prometheus: A Methodology for Developing
Intelligent Agents. Proceedings of the First Intemational Joint Conference on
Autonomous Agents and Multi-Agent Systems (AAMAS 2002). July, 2002,
Bologna, Italy. http://goanna.cs.rmit.edu.au/~winikoff/Papers/aose02.pdf
[14]J. Mylopoulos, M. Kolp and P. Giorgini. Agent Oriented Software Development.
Proceedings of the 2nd Hellenic Conference on Artificial Intelligence (SETN-02),
April 2002. http://dit.unitn.it/~tropos/papers_files/hai-jm.pdf
References (5)
[15] P. Bresciani, P. Giorgini, F. Giunchiglia, J. Mylopoulos and A. Perini. TROPOS:
An Agent-Oriented Software Development Methodology. In Journal of
Autonomous Agents and Multi-Agent Systems, Kluwer Academic Publishers
Volume 8, Issue 3, Pages 203 - 236, May 2004.
http://dit.unitn.it/~tropos/papers_files/jaamas04.pdf
[16] M. Coburn, ''JACK Intelligent Agents User Guide,'' AOS Technical Report, Agent
Oriented Software Pty Ltd, July 2000.
http://www.jackagents.com/docs/jack/html/index.html.
[17] Arnon Sturm and Onn Shehory, A Framework for Evaluating Agent-Oriented
Methodologies, Workshop on Agent-Oriented Information System (AOIS),
Melbourne, Australia, July 14, 2003. http://www.technion.ac.il/~sturm/
[18] Khanh Hoa Dam, Michael Winikoff, Comparing Agent-Oriented Methodologies,
to appear in the proceedings of the Fifth International Bi-Conference Workshop
on Agent-Oriented Information Systems to be held in Melbourne in July (at
AAMAS03). http://www.cs.rmit.edu.au/agents/Papers/aois2003.pdf
AOSE: Gaia
●
●
●
Organizational Rules:
the notation
The notation for each type is
the temporal logic formalism.
There is an alternative
approach:
–
For liveness properties
based on regular
expressions
–
For safety requirements
based on constrains over
the variable listed in a role'
s permissions attribute