AOSE - Agent Oriented Software Engineering Alvaro Magri

Slides:



Advertisements
Similar presentations
UML an overview.
Advertisements

© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Object-Oriented Analysis and Design
1 The ADELFE Methodology Concepts and Definition using SPEM Marie-Pierre Gleizes, Frédéric Migeon, Sylvain Roug le, Carole Bernon, Thierry Millan,
Introduction To System Analysis and Design
Developing MAS The GAIA Methodology A Brief Summary by António Castro and Prof. Eugénio Oliveira.
Systems Analysis and Design in a Changing World, Fourth Edition
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Agent UML Stefano Lorenzelli
Knowledge Acquisitioning. Definition The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
April 15, 2005Department of Computer Science, BYU Agent-Oriented Software Engineering Muhammed Al-Muhammed Brigham Young University Supported in part by.
© Copyright Eliyahu Brutman Programming Techniques Course.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Course Instructor: Aisha Azeem
Object-Oriented Analysis and Design
Chapter 7: The Object-Oriented Approach to Requirements
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
System Analysis Overview Document functional requirements by creating models Two concepts help identify functional requirements in the traditional approach.
UML Unified Markup Language Ziya Karakaya Atılım University, Computer Engineering
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM]
Object Oriented Analysis By: Don Villanueva CS 524 Software Engineering I Fall I 2007 – Sheldon X. Liang, Ph. D.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 A Discipline of Software Design.
Multi-Agent Systems University “Politehnica” of Bucarest Spring 2003 Adina Magda Florea
TC Methodology Massimo Cossentino (Italian National Research Council) Radovan Cervenka (Whitestein Technologies)
Agent-Oriented Software Engineering CSC532 Xiaomei Huang.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Experiences from a standardization attempt in AO methodologies Massimo Cossentino (Italian National Research Council)
Unified Modeling Language, Version 2.0
Introduction To System Analysis and Design
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
1 Introduction to Software Engineering Lecture 1.
Information Systems Engineering. Lecture Outline Information Systems Architecture Information System Architecture components Information Engineering Phases.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
Presentation on Issues and Challenges in Evaluation of Agent-Oriented Software Engineering Methodologies By: kanika singhal.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
The Prometheus-ROADMAP Methodology Lin Padgham in collaboration with Leon Sterling and Michael Winikoff School of Computer Science and IT, RMIT University,
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
ATAL - Seattle, August 1 st, A Knowledge Level Software Engineering Methodology for Agent Oriented Programming The Tropos framework Fausto Giunchiglia.
Systems Analysis and Design in a Changing World, Fourth Edition
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix A Object-Oriented Analysis and Design A.1.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
7 Systems Analysis – ITEC 3155 The Object Oriented Approach – Use Cases.
1 7 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 7 The Object-Oriented Approach to Requirements.
Systems Architectures System Integration & Architecture.
GAIA M ETHODOLOGY COMP 40040: Agent-Oriented Software Lecturer: Rem Collier
SECURE TROPOS Michalis Pavlidis 8 May Seminar Agenda  Secure Tropos  History and Foundation  Tropos  Basics  Secure Tropos  Concepts / Modelling.
Object-Oriented Analysis and Design
Chapter 20 Object-Oriented Analysis and Design
AOSE - Agent Oriented Software Engineering
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Agent-oriented Software Engineering Methodologies
Appendix A Object-Oriented Analysis and Design
Software Development Process Using UML Recap
Presentation transcript:

AOSE - Agent Oriented Software Engineering Alvaro Magri

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 ( ) [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, pre- conditions 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 Agent- Oriented 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) ● (contains links to all AOSE methodologies)

References (1) [1] M. Wooldridge, Agent-Based software engineering, IEE Proc. Software Engineering 144 (1) (1997) [2] G. Booch, Object-Oriented analysis and Design with Applications, Addison- Wesley, Reading, MA, [3] Birgit Burmeister. Models and methodology for agent-oriented analysis and design. In K fischer, editor, Working Notes of the KI'96 Workshop on Agent- Oriented Programming and Distributed Systems, 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 261­296. Prentice-Hall, [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 216­231. Springer-Verlag: Heidelberg, Germany, [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 [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 ATAL. (An extended version of this paper has been published in INTELLIGENT AGENTS IV: Agent Theories, Architectures, and Languages, Springer Verlag, [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 41­47, Kyoto, Japan, December [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,

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, [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. [14]J. Mylopoulos, M. Kolp and P. Giorgini. Agent Oriented Software Development. Proceedings of the 2nd Hellenic Conference on Artificial Intelligence (SETN-02), April

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 , May [16] M. Coburn, ''JACK Intelligent Agents User Guide,'' AOS Technical Report, Agent Oriented Software Pty Ltd, July [17] Arnon Sturm and Onn Shehory, A Framework for Evaluating Agent-Oriented Methodologies, Workshop on Agent-Oriented Information System (AOIS), Melbourne, Australia, July 14, [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).

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