TC Methodology Massimo Cossentino (Italian National Research Council) Radovan Cervenka (Whitestein Technologies)

Slides:



Advertisements
Similar presentations
GenArch: Automatic Product Derivation in Multi-agent Systems Product Line Elder Cirilo.
Advertisements

Andrea Maurino Web Service Design Methodology Batini, De Paoli, Maurino, Grega, Comerio WP2-WP3 Roma 24/11/2005.
Software Process Modeling with UML and SPEM
Agent Based Software Development
1 UML ++ Mohamed T IBRAHIM University of Greenwich -UK.
UML an overview.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML, Part 4 UML 2 Metamodel.
1 Software Testing and Quality Assurance Lecture 13 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
IBM Business Consulting Services © Copyright IBM Corporation 2006 Unified Process March 27, 2006 Chris Armstrong.
Object-Oriented Analysis and Design
Developing MAS The GAIA Methodology A Brief Summary by António Castro and Prof. Eugénio Oliveira.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
1 UML – an overview What is UML? UML stands for Unified Modelling Language. ”The Unified Modelling Language is a visual language for specifying, constructing.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
April 15, 2005Department of Computer Science, BYU Agent-Oriented Software Engineering Muhammed Al-Muhammed Brigham Young University Supported in part by.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
© Copyright Eliyahu Brutman Programming Techniques Course.
Supplement 02CASE Tools1 Supplement 02 - Case Tools And Franchise Colleges By MANSHA NAWAZ.
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
Enterprise Architecture
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Ontologies Reasoning Components Agents Simulations The Eclipse Process Framework Breno Machado.
Copyright 2002 Prentice-Hall, Inc. Chapter 1 The Systems Development Environment 1.1 Modern Systems Analysis and Design.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
WG Methodology Chair: Massimo Cossentino (Italian National Research Council)
Software Models (Cont.) 9/22/2015ICS 413 – Software Engineering1 -Component-based software engineering -Formal Development Model.
Experiences from a standardization attempt in AO methodologies Massimo Cossentino (Italian National Research Council)
1 MFI-5: Metamodel for Process models registration HE Keqing, WANG Chong State Key Lab. Of Software Engineering, Wuhan University
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: 
Patterns of agents Massimo Cossentino Massimo Cossentino, Luca Sabatucci ICAR/CNR High performance computing and networks institute Italian National Research.
Chapter 7 System models.
MODA-TEL An IST project on Model Driven Architectures for Telecommunications System Development and Operation.
System models l Abstract descriptions of systems whose requirements are being analysed.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
GRASP: Designing Objects with Responsibilities
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.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
Systems Analysis and Design in a Changing World, Fourth Edition
 The need for a formal methodology description  SPEM for describing an agent oriented methodology  PASSI: an example  The needed extension  Discussion.
Separating Crosscutting Concerns in Agent Oriented Detailed Design: The Social Patterns Case Carla Silva Jaelson Castro Advisor: Jaelson Castro João Araújo.
AOT Lab Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma Unifying MAS Meta-Models ADELFE, Gaia & PASSI Carole Bernon, Massimo.
Systems Analysis and Design in a Changing World, Fourth Edition
Nigel Baker UWE & CERN/EP-CMA Design Patterns for Integrating Product and Process Models The C.R.I.S.T.A.L. Project ( C ooperative R epositories & I nformation.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
Towards filling the gap between AOSE methodologies and infrastructures: requirements and meta-model Fabiano Dalpiaz¹, Ambra Molesini², Mariachiara Puviani³,
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
UML AN OVERVIEW. Topics covered in this Session 1. Introducing UML. 2. What constitutes the UML. 3. Concepts of UML.
Introduction to UML.
Chapter 1 The Systems Development Environment
UML Diagrams By Daniel Damaris Novarianto S..
Object-Oriented Software Engineering Using UML, Patterns, and Java,
Chapter 1 The Systems Development Environment
UML Diagrams Jung Woo.
Abstract descriptions of systems whose requirements are being analysed
Software Architecture & Design Pattern
Using and extending the SPEM specifications to represent agent oriented methodologies Valeria Seidita Valeria Seidita - 3 Dicembre 2007.
Object oriented analysis and design
Chapter 1 The Systems Development Environment
PASSI (Process for Agent Societies Specification and Implementation)
Software Architecture & Design
Presentation transcript:

TC Methodology Massimo Cossentino (Italian National Research Council) Radovan Cervenka (Whitestein Technologies)

Outline AOSE (Agent Oriented Software Engineering) today Our goals The proposed approach What is Method Engineering The TC Modeling work plan

AOSE Today Several methodologies with different advantages: Gaia Mase Message PASSI Prometheus Tropos … No standard modeling language  Modeling TC activity Different tools How to make them interact?

Our Goals Let the developer of a multi-agent system create his own methodology: Suited for the specific problem/system to be built Not conflicting with his (development) environmental constraints Coherent with his (or his group) knowledge and skills Supported by a CASE tool Using a standard modeling language In this work we are also contributing to a standardization action within the FIPA Methodology Technical Committee 1 1

The proposed approach Method Engineering The development methodology is built by the developer assembling pieces of the process (method fragments) from a method base. The method base is composed of contributions coming from existing methodologies and other novel and specifically conceived fragments Modeling Language:  Modeling TC activity

What is method engineering

The Method Engineer analyzes the problem and the development context/people to deduce new methodology features Method Engineering: people, artifacts and tools The Method Engineer uses a CAME tool to compose the new methodology by reusing fragments from the repository The CAME tool is used to instantiate a methodology specific tool The System Designer using the CASE tool specifies and develops the agent solution

What is a (method) fragment A fragment 1 is a portion of the development process, composed as follows: 1. A portion of process (what is to be done, in what order), defined with a SPEM diagram 2. One or more deliverables (artifacts like (A)UML/UML diagrams, text documents and so on). 3. Some preconditions (they are a kind of constraint because it is not possible to start the process specified in the fragment without the required input data or without verifying the required guard condition) 4. A list of concepts (related to the MAS meta-model) to be defined (designed) or refined during the specified process fragment. 5. Guideline(s) that illustrates how to apply the fragment and best practices related to that 6. A glossary of terms used in the fragment (in order to avoid misunderstandings if the fragment is reused in a context that is different from the original one) 7. Other information (composition guidelines, platform to be used, application area and dependency relationships useful to assemble fragments) complete this definition. 1 According to the FIPA Methodology TC definition (see FIPAmeth/metamodel.htm)

The new methodology production process All methodologies are expressed in a standard notation (we adopt SPEM - Software Process Engineering Metamodel – by OMG) Fragments are identified and described according to the previous discussed definition New fragments are defined if necessary A method fragments repository is composed with all existing fragments The desired MAS- Meta-Model is composed according to problem specific needs (for instance including or not self-organizing agents) A CAME (Computer Aided Method Engineering) tool assists in the selection of fragments and composition of design process A new and problem specific methodology is built A CASE (Computer Aided Software Engineering) tool is used to effectively design the multi-agent system The multi-agent system has been coded, tested and is ready to be deployed

OO vs AO Method Engineering Method Engineering has been introduced in the object oriented (OO) context some years ago It could seem that introducing the method engineering paradigm in the agent oriented (AO) context is a plain operation. It is not so, because in the OO context the construction of method fragments (pieces of methodology), the assembling of the methodology with them and the execution of the design rely on a common denominator, the universally accepted concept of object and related model of the object oriented system. In the agent context, there is not an universally accepted definition of agent nor it exists any very diffused model of the multi-agent system.

MAS meta-models It is the meta-model of the system to be built It specifies which elements (agents, roles, behaviors, communications, …) will constitute the agent solution which relationships exist among these elements The MAS meta-model (when chosen before of the methodology) provides a guideline for the methodology pieces selection and assemblying

Work Plan Creation of the meta-model. It is necessary to formally represent method fragments in order to store them in the method base. Identification of the method base architecture. The method base needs of a technological infrastructure for the instantiation of the method meta-model previously described. the details of this architecture strongly effect the possibility of a CASE/CAME tool support and availability. Collection of method fragments. They can origin from the most diffused methodologies and other specific contributions. After the formalization they will be introduced in the method base. Description of techniques for method integration. Product- oriented integration allows the composition of different fragments emphasizing their inter-relationships, process-oriented integration facilitate the composition of the logical sequence of steps of the methodology.

Deliverables A specification document of fragment methods meta- model; A specification document for the architecture of the method base; A set of reusable methods obtained from existing agent-based development methodologies; A collection of guidelines for method integration; A glossary of methodology-related terms

Scheduling 06/2003Initial specifications of the fragment methods meta-model 10/2003Initial draft of the specifications for the method base architecture 02/2004A set of documents describing reusable methods according to the meta-model specifications 06/2004 Initial draft of method integration guidelines 10/2004Final draft of the meta-model and method base architecture specifications 12/2004Final draft of method integration guidelines