Meta-models, Environment and Layers: Agent-Oriented Engineering of Complex Systems Ambra Molesini ambra.molesini@unibo.it DEIS Alma Mater Studiorum Università di Bologna Bologna, 07/04/2008 Ambra Molesini (DEIS) 07/04/2008 1 / 44
Outline 1 Agent-Oriented Software Engineering & Methodologies Meta-models Environment Complexity Management 2 The SODA Methodology SODA & Meta-models SODA & Environment SODA & Complexity Management The Methodology 3 From SODA to Infrastructures 4 Evaluation and Conclusion Evaluation Conclusion Ambra Molesini (DEIS) 07/04/2008 2 / 44
Agent-Oriented Software Engineering & Methodologies Agent-Oriented Abstractions The development of a Multi-Agent System should fruitfully exploit abstractions: Agents: autonomous entities, situated in an environment, interacting with each other Environment: the world of resources that agents perceive Interaction protocols: the acts of interactions among agents and between agents and resources Ambra Molesini (DEIS) 07/04/2008 3 / 44
Agent-Oriented Software Engineering & Methodologies Agent-Oriented Methodologies Agent-oriented methodologies: suggest a clean and disciplined approach define guidelines on the development process AO methodologies have different limitations, in particular: lack of well defined meta-model lack of environment design lack of complexity management Ambra Molesini (DEIS) 07/04/2008 4 / 44
Agent-Oriented Software Engineering & Methodologies Outline Meta-models 1 Agent-Oriented Software Engineering & Methodologies Meta-models Environment Complexity Management 2 The SODA Methodology SODA & Meta-models SODA & Environment SODA & Complexity Management The Methodology 3 From SODA to Infrastructures 4 Evaluation and Conclusion Evaluation Conclusion Ambra Molesini (DEIS) 07/04/2008 5 / 44
Agent-Oriented Software Engineering & Methodologies Meta-models Meta-models Meta-model enables to check and verify the completeness and expressiveness of a methodology by understanding its deep semantics, as well as the relationships among concepts in different languages or methods A well-defined meta-model should address several different methodological aspects the process to be followed the work products to be generated who is responsible for each process phase... Meta-models are also an important guide for integrating different methodologies avoiding several errors Ambra Molesini (DEIS) 07/04/2008 6 / 44
Agent-Oriented Software Engineering & Methodologies Outline Environment 1 Agent-Oriented Software Engineering & Methodologies Meta-models Environment Complexity Management 2 The SODA Methodology SODA & Meta-models SODA & Environment SODA & Complexity Management The Methodology 3 From SODA to Infrastructures 4 Evaluation and Conclusion Evaluation Conclusion Ambra Molesini (DEIS) 07/04/2008 7 / 44
Agent-Oriented Software Engineering & Methodologies Environment Environment Traditionally, environment = deployment context Today, environment = true design dimension of MAS Two main ingredients [Molesini et al., 2008]: environment abstraction: is an entity encapsulating some functions or services for the agents topology abstraction: is an entity of MAS environment that represents the spatial structure Ambra Molesini (DEIS) 07/04/2008 8 / 44
Agent-Oriented Software Engineering & Methodologies Outline Complexity Management 1 Agent-Oriented Software Engineering & Methodologies Meta-models Environment Complexity Management 2 The SODA Methodology SODA & Meta-models SODA & Environment SODA & Complexity Management The Methodology 3 From SODA to Infrastructures 4 Evaluation and Conclusion Evaluation Conclusion Ambra Molesini (DEIS) 07/04/2008 9 / 44
Agent-Oriented Software Engineering & Methodologies Complexity Management Complexity Management Complexity is inherent in real-life systems Complexity management: balancing between completeness and clarity Analysis and design of real-life systems proceed middle-out Complex systems call for layered, hierarchical explanations Each layer is in some sense autonomous: at the same time, layers are organised in a hierarchy each layer is strictly connected with the upper /lower layers Ambra Molesini (DEIS) 07/04/2008 10 / 44
The SODA Methodology Societies in Open and Distributed Agent spaces SODA...... is an agent-oriented methodology for the analysis and design of agent-based systems... focuses on inter-agent issues: societies and environment [Omicini, 2001]... adopts agents and artifacts A&A meta-model as the main building blocks [Molesini et al., 2006a, Molesini et al., 2007a]... introduces a layering principle in order to cope with the complexity of system description [Molesini et al., 2006b]... adopts a tabular representation Ambra Molesini (DEIS) 07/04/2008 11 / 44
The SODA Methodology Tabular Representation Abstractions and their relationships are represented by means of relational tables difficult for human very easy for automatic tools Ambra Molesini (DEIS) 07/04/2008 12 / 44
The SODA Methodology Tabular Representation Abstractions and their relationships are represented by means of relational tables difficult for human very easy for automatic tools Actor actor name Requirement requirement name Requirement requirement names Description requirement description Ambra Molesini (DEIS) 07/04/2008 12 / 44
SODA s Overview The SODA Methodology References Tables Analysis Requirements Analysis Analysis Requirements Tables Domain Tables Relations Tables Responsibilities Tables Dependencies Tables Topologies Tables Transitions Tables Design Mapping Tables Architectural Design Detailed Design Entities Tables Interaction Tables Topological Tables Agent/Society Design Tables Environment Design Tables Ambra Molesini (DEIS) 07/04/2008 13 / 44
Outline The SODA Methodology SODA & Meta-models 1 Agent-Oriented Software Engineering & Methodologies Meta-models Environment Complexity Management 2 The SODA Methodology SODA & Meta-models SODA & Environment SODA & Complexity Management The Methodology 3 From SODA to Infrastructures 4 Evaluation and Conclusion Evaluation Conclusion Ambra Molesini (DEIS) 07/04/2008 14 / 44
The SODA Methodology SODA s meta-models SODA & Meta-models SODA is represented by two complementary meta-models: for the abstractions representing the static view for the process representing the dynamic view Ambra Molesini (DEIS) 07/04/2008 15 / 44
The SODA Methodology SODA & Meta-models SODA: Meta-model for abstractions SODA 2008/04/02 Actor 1 Requirement * * 1 1 1 1 participates * participates Relation LegacySystem ExternalEnvironment * 1 * * 1 1 1 Requirements Analysis 0..* Task 1 * * participates Dependency * * 1 inducts participates Function * * 1 Analysis influences 0..* 0..* 1 Topology affects * 1 * performs 1 Action Role 1 perception * Interaction * participates * * * constrains 0..* constrains constrains Space Rule * participates constrains is allocated in Operation provides 1 Resource * 1 Architectural Design 0..* connection perceives connection Workspace is allocated 1 1 Environmental Artifact Detailed Design 1 1 1 Agent Use Artifact 1 Social Artifact Manifest Individual Artifact 1 Composition Society Aggregate Ambra Molesini (DEIS) 07/04/2008 16 / 44
The SODA Methodology SODA & Meta-models SODA: Meta-model for process SODA can also be modelled via the Software Process Engineering Metamodel [SPEM,, Nardini et al., 2008] 1 1 SPEM 2.0 forthcoming Ambra Molesini (DEIS) 07/04/2008 17 / 44
The SODA Methodology SODA & Meta-models SODA: Disciplines Requirements Analyst System Analyst Requirements Definition and Description () Referencies Identification () Domain Definition and Description () Responsibilities Definition and Description () Relations Definition and Description () Dependencies Definition and Description () Referencies Identification () Topologies Definition and Description () Layering () Layering () Domain Expert Domain Definition and Description () Relations Definition and Description () References Identification () Responsibilities Definition and Description () Dependencies Definition and Description () Topologies Definition and Description () Problem Statement Architectural Designer Transition Identification () Entities Definition and Description () Interactions Description () Workspaces Definition and Descripiton () Mapping Execution () Layering () Domain Expert Transition Identification () Entities Definition and Description () Interactions Description () Topologies Definition and Description () Mapping Execution () Agent/Society Design () Enviroment Design () System Designer Choose Design View () Mapping Execution () Agent/Society Design () Enviroment Design () System Analyst Transition Identification () Requirements Tables Domain Tables Relations Tables Referencies Tables Transition Tables Entities Tables Interaction Tables Topological Tables Responsibilities Tables Dependencies Tables Topologies Tabels Zooming Tables Mapping Tables Agent/Society Tables Enviroment Tables Zooming Tables Ambra Molesini (DEIS) 07/04/2008 18 / 44
Outline The SODA Methodology SODA & Environment 1 Agent-Oriented Software Engineering & Methodologies Meta-models Environment Complexity Management 2 The SODA Methodology SODA & Meta-models SODA & Environment SODA & Complexity Management The Methodology 3 From SODA to Infrastructures 4 Evaluation and Conclusion Evaluation Conclusion Ambra Molesini (DEIS) 07/04/2008 19 / 44
The SODA Methodology SODA & Environment Environment & Topology Abstractions Environment Abstraction: artifact takes the form of an object or tool that agents share and use models the environment as a first-class entity Topology Abstraction: workspace organises agents and artifacts in the space Ambra Molesini (DEIS) 07/04/2008 20 / 44
The SODA Methodology SODA & Environment Environment in SODA Agents model individual and social activities Artifacts glue agents together, as well as MAS and the environment artifacts mediate between individual agents and MAS artifacts build up agent societies artifacts wrap up the resources of MAS and bring them to the cognitive level of agents Workspaces structure agents and artifacts organisation & interaction Ambra Molesini (DEIS) 07/04/2008 21 / 44
Outline The SODA Methodology SODA & Complexity Management 1 Agent-Oriented Software Engineering & Methodologies Meta-models Environment Complexity Management 2 The SODA Methodology SODA & Meta-models SODA & Environment SODA & Complexity Management The Methodology 3 From SODA to Infrastructures 4 Evaluation and Conclusion Evaluation Conclusion Ambra Molesini (DEIS) 07/04/2008 22 / 44
The SODA Methodology SODA & Complexity Management Layering in SODA: The Meta-Model The layering principle is captured by means of the zoom and projection mechanisms Two kinds of zoom: in-zoom: from an abstract to a more detailed layer out-zoom: from a detailed to a more abstract layer The projection mechanism projects an entity from one layer to another Layer layering Layering Zoom Projection in-zoom out-zoom Ambra Molesini (DEIS) 07/04/2008 23 / 44
The SODA Methodology Layering: an example SODA & Complexity Management R1 R2 C C+1 R4 R5 +R2 C+2 R6 R7 R8 R9 Ambra Molesini (DEIS) 07/04/2008 24 / 44
The SODA Methodology Layering: an example SODA & Complexity Management R1 R2 R1 R2 C C+1 R4 R5 +R2 C C+2 C+1 R6 R7 R8 R9 R4 R5 +R2 C+2 R6 R7 R8 R9 Ambra Molesini (DEIS) 07/04/2008 24 / 44
The SODA Methodology Layering: an example SODA & Complexity Management R1 R2 R1 R2 C C+1 R4 R5 +R2 C C+2 C+1 R6 R7 R8 R9 R4 R5 +R2 R1 R2 C C+2 C+1 R4 R5 +R2 R6 R7 R8 R9 C+2 R6 R7 R8 R9 Ambra Molesini (DEIS) 07/04/2008 24 / 44
Outline The SODA Methodology The Methodology 1 Agent-Oriented Software Engineering & Methodologies Meta-models Environment Complexity Management 2 The SODA Methodology SODA & Meta-models SODA & Environment SODA & Complexity Management The Methodology 3 From SODA to Infrastructures 4 Evaluation and Conclusion Evaluation Conclusion Ambra Molesini (DEIS) 07/04/2008 25 / 44
SODA The SODA Methodology The Methodology SODA is organised in two phases, each composed of two steps Analysis phase Requirements Analysis the system s requirements and the external environment are analysed and modelled Analysis the system s requirements are modelled in terms of tasks, functions, topologies and dependencies Design phase Architectural Design the solution domain is analysed and the system modelled in terms of roles, resources, actions, operations, interactions, spaces and rules Detailed Design the system is designed in terms of agents, societies, artifacts, aggregates and workspaces Ambra Molesini (DEIS) 07/04/2008 26 / 44
The SODA Methodology The Methodology Multi-Architectural View and Carving Operation The system is potentially composed of all the layers defined in the previous steps However, the deliverable of Detailed Design needs to be composed of only one layer So, the proper representation layer is chosen for each entity Architectural Design Carving Operation Detailed Design R1 R2 R1 R2 A1 Society A2 C C+1 R4 R5 +R2 R4 R5 +R2 A4 Society A5 C+2 R6 R7 R8 R9 R6 R7 R8 R9 A6 A7 Ambra Molesini (DEIS) 07/04/2008 27 / 44
From SODA to Infrastructures SODA & Infrastructures The gap between methodologies and infrastructures can lead to inconsistencies between the design and the implementation the abstractions adopted in the design are different from those used in the implementation Guidelines for correctly mapping the abstractions adopted by SODA onto the abstractions supported by MAS Infrastructures are defined [Molesini et al., 2007b]: adoption of the metamodelling technique both for methodologies and infrastructures mapping the methodologies abstractions onto the infrastructures abstractions Ambra Molesini (DEIS) 07/04/2008 28 / 44
From SODA to Infrastructures Mapping abstractions: Comparison SODA TuCSoN CArtAgO TOTA Role Role Role - Action Coordination Primitive Action - Interaction Reaction Specification Rules Maintenance Rule Reaction Contract Propagation Rule Operation Tuple Centre Operation Operation - (Social) Artifact Tuple Centre Artifact Tuple Space, Tuples (Individual) Artifact ACC Agent Body - (Environmental) Artifact - Artifact - Aggregate Linked Tuple Centres Artifact - Society Organisation Workplace - Workspace Node Workspace Node Workspace Connection - Workspace Nesting Neighborhood Ambra Molesini (DEIS) 07/04/2008 29 / 44
Outline Evaluation and Conclusion Evaluation 1 Agent-Oriented Software Engineering & Methodologies Meta-models Environment Complexity Management 2 The SODA Methodology SODA & Meta-models SODA & Environment SODA & Complexity Management The Methodology 3 From SODA to Infrastructures 4 Evaluation and Conclusion Evaluation Conclusion Ambra Molesini (DEIS) 07/04/2008 30 / 44
Evaluation Criteria Evaluation and Conclusion Evaluation Comparing methodologies is a very complex task: methodologies may address different aspects...... or differ in their terminology some methodologies are influenced by a specific approach the completeness of various methodologies varies dramatically Here the evaluation criteria adopted are: Lifecycle criteria: look at the development approach followed by the methodologies and the covered steps Notation criteria: look at the notations adopted by methodologies, supporting tools and usability Ambra Molesini (DEIS) 07/04/2008 31 / 44
Evaluation and Conclusion Evaluation Lifecycle Criteria Development Lifecycle expresses what development lifecycle best describes the methodology (e.g., iterative or sequential) Coverage Lifecycle specifies what phases of the lifecycle are covered by the methodology Development Perspective specifies what development perspective is supported by the methodology (e.g., top-down, bottom-up or hybrid) Support for verification specifies if the development process of the methodology contains rules to allow for the verification of the correctness of the developed models and specifications Ambra Molesini (DEIS) 07/04/2008 32 / 44
Evaluation and Conclusion Evaluation Lifecycle Criteria: Comparison Development Coverage Development Support for Lifecycle Lifecycle Perspective Verification Gaia sequential Analysis and Design top-down No Tropos iterative Analysis, Design and top-down Yes Implementation Prometheus iterative Analysis and Design bottom-up Yes PASSI iterative Analysis, Design and bottom-up Yes Implementation ADELFE RUP Analysis, Design and top-down Yes Implementation MaSE iterative Analysis and Design top-down Yes MESSAGE RUP Analysis, Design and hybrid No Implementation INGENIAS USDP Analysis, Design and hybrid Yes Implementation SODA iterative Analysis and Design hybrid No Ambra Molesini (DEIS) 07/04/2008 33 / 44
Evaluation and Conclusion Evaluation Notation Criteria Notation specifies the type of notation adopted by the methodology Easy to understand specifies if the adopted notation is easy to understand for the new users Usability specifies the degree of usability of the methodology Supporting tool specifies if the methodology is provided with suitable supporting tools Ambra Molesini (DEIS) 07/04/2008 34 / 44
Evaluation and Conclusion Evaluation Notation Criteria: Comparison Notation Easy to Usability Supporting understand Tool Gaia ad hoc high medium No Tropos ad hoc medium medium Yes Prometheus UML, AUML high high Yes PASSI UML high high Yes ADELFE UML, AUML high high Yes MaSE UML, AUML high medium No MESSAGE ad hoc medium medium Yes INGENIAS ad hoc medium medium Yes SODA ad hoc high medium No Ambra Molesini (DEIS) 07/04/2008 35 / 44
Tests Evaluation and Conclusion Evaluation SODA is currently on test: Multi-Agent Systems LS Case Studies: Conference Management Access Control Traffic Control... Bioinformatics Protein folding Virtual Lab Ambra Molesini (DEIS) 07/04/2008 36 / 44
Outline Evaluation and Conclusion Conclusion 1 Agent-Oriented Software Engineering & Methodologies Meta-models Environment Complexity Management 2 The SODA Methodology SODA & Meta-models SODA & Environment SODA & Complexity Management The Methodology 3 From SODA to Infrastructures 4 Evaluation and Conclusion Evaluation Conclusion Ambra Molesini (DEIS) 07/04/2008 37 / 44
Conclusions Evaluation and Conclusion Conclusion SODA... meta-model comparing SODA to other methodologies combining SODA with other methodologies society engineering interactions and organisational rules environment first class abstraction in MAS engineering high-level abstractions: artifacts and workspaces complexity management multi-architectural view: layering principle carving operation for choosing the more suitable system architecture Ambra Molesini (DEIS) 07/04/2008 38 / 44
Evaluation and Conclusion Conclusion Future Work SODA and SPEM 2.0 Extracting fragments from SODA according to IEEE-FIPA Method Engineering Studying SODA and security issues Defining a graphical language Developing suitable tools IDE for developers automatic checks of the system s consistencies automatic code generation Ambra Molesini (DEIS) 07/04/2008 39 / 44
Bibliography I Bibliography Molesini, A., Denti, E., and Omicini, A. (2007a). Agent-based conference management: a case study in soda. Submitted to IJAOSE (International Journal of Agent-Oriented Software Engineering) in July 2007. Molesini, A., Denti, E., and Omicini, A. (2007b). From AO methodologies to MAS infrastructures: The SODA case study. Accepted to the 8th International Workshop Engineering Societies in the Agents World - October 22 24, 2007 in Athens - Greece. Ambra Molesini (DEIS) 07/04/2008 40 / 44
Bibliography II Bibliography Molesini, A., Omicini, A., Denti, E., and Ricci, A. (2006a). SODA: A roadmap to artefacts. In Dikenelli, O., Gleizes, M.-P., and Ricci, A., editors, Engineering Societies in the Agents World VI, volume 3963 of LNAI, pages 49 62. Springer. 6th International Workshop (ESAW 2005), Kuşadası, Aydın, Turkey, 26 28 October 2005. Revised, Selected & Invited Papers. Molesini, A., Omicini, A., Ricci, A., and Denti, E. (2006b). Zooming multi-agent systems. In Müller, J. P. and Zambonelli, F., editors, Agent-Oriented Software Engineering VI, volume 3950 of LNCS, pages 81 93. Springer. Ambra Molesini (DEIS) 07/04/2008 41 / 44
Bibliography III Bibliography 6th International Workshop (AOSE 2005), Utrecht, The Netherlands, 25 26 July 2005. Revised and Invited Papers. Molesini, A., Omicini, A., and Viroli, M. (2008). Environment in agent-oriented software engineering methodologies. International Journal on Multiagent and Grid Systems. Special Issue on Engineering Environment in Multi-Agent Systems. Nardini, E., Molesini, A., Omicini, A., and Denti, E. (2008). Spem on test: The soda case study. Accepted to the 23rd Annual ACM Symposium on Applied Computing - Fortaleza, Brazil, March 16 20, 2008. Ambra Molesini (DEIS) 07/04/2008 42 / 44
Bibliography IV Bibliography Omicini, A. (2001). SODA: Societies and infrastructures in the analysis and design of agent-based systems. In Ciancarini, P. and Wooldridge, M. J., editors, Agent-Oriented Software Engineering, volume 1957 of LNCS, pages 185 193. Springer-Verlag. 1st International Workshop (AOSE 2000), Limerick, Ireland, 10 June 2000. Revised Papers. SPEM. SPEM Software Process Engineering Meta-Model home page. http://www.omg.org/technology/documents/formal/spem.ht Ambra Molesini (DEIS) 07/04/2008 43 / 44
Bibliography Meta-models, Environment and Layers: Agent-Oriented Engineering of Complex Systems Ambra Molesini ambra.molesini@unibo.it DEIS Alma Mater Studiorum Università di Bologna Bologna, 07/04/2008 Ambra Molesini (DEIS) 07/04/2008 44 / 44