4. Multiagent Sys stems Design. Part 2: The PROMETHEUS methodology.



Similar documents
An Investigation of Agent Oriented Software Engineering Methodologies to Provide an Extended Methodology

Agent-based University Library System

The Tropos and MaSE Agent-Oriented Software Engineering Methodologies. Msury Mahunnah, Tallinn University of Technology

Software Rapid Approach to Agency Design and Development

Evaluating the Coverage of Development Lifecycle in Agent Oriented Software Engineering Methodologies

Agent-Oriented Software Engineering PORTO Methodology AIAD 2013/2014. António Castro and Eugénio Oliveira

Fourth generation techniques (4GT)

Prometheus: A Methodology for Developing Intelligent Agents

A Methodology to Evaluate Agent Oriented Software Engineering Techniques

Software Design. Design (I) Software Design Data Design. Relationships between the Analysis Model and the Design Model

How To Develop A Multiagent System

A Review of Agent-Oriented Development Methodologies and Programming Languages/Frameworks

Goal-Oriented Design of Agent Systems: A Refinement of Prometheus and its Evaluation. Jason Khallouf and Michael Winikoff*

Multiagent Systems Engineering: A Methodology And Language for Designing Agent Systems

How To Develop A Multi Agent System (Mma)

Masters of Science in Software & Information Systems

INFORMATION INTEGRATION ARCHITECTURE DEVELOPMENT: A MULTI-AGENT APPROACH

Background: Business Value of Enterprise Architecture TOGAF Architectures and the Business Services Architecture

Chap 1. Introduction to Software Architecture

Evaluating Agent-Oriented Software Engineering Methodologies

CHAPTER 1: INTRODUCTION TO RAPID APPLICATION DEVELOPMENT (RAD)

Software Specification and Architecture 2IW80

Towards an Agent Oriented approach to Software Engineering

Agent Services-Based Infrastructure for Online Assessment of Trading Strategies

White Paper What Solutions Architects Should Know About The TOGAF ADM

Structure of Presentation. The Role of Programming in Informatics Curricula. Concepts of Informatics 2. Concepts of Informatics 1

Announcements. SE 1: Software Requirements Specification and Analysis. Review: Use Case Descriptions

Software Engineering. System Models. Based on Software Engineering, 7 th Edition by Ian Sommerville

Perspective Methods and Tools for the Design of Distributed Software Systems Based on Services

Current Issues in Multi-Agent Systems Development (Invited Paper)

Karunya University Dept. of Information Technology

JOURNAL OF OBJECT TECHNOLOGY

Applying 4+1 View Architecture with UML 2. White Paper

Object-Oriented Design Guidelines

RUP Design. Purpose of Analysis & Design. Analysis & Design Workflow. Define Candidate Architecture. Create Initial Architecture Sketch

Perspective Methods and Tools for the Design of Distributed Software Systems Based on Services

Object-oriented design methodologies

Software development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali

Enterprise Architecture 101. (Includes numerous samples/ templates produced using TOGAF methodology) Shail Sood

Use Cases. Reference: Craig Larman, Applying UML and Patterns, Ch. 6

Communication Diagrams

2.1. Introduction to UML: Use-Case Diagram

Fundamentals of Information Systems, Fifth Edition. Chapter 8 Systems Development

Use Cases. Massimo Felici. Massimo Felici Use Cases c

Knowledge, Certification, Networking

Classnotes 5: 1. Design and Information Flow A data flow diagram (DFD) is a graphical technique that is used to depict information flow, i.e.

2. Analysis, Design and Implementation

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements

ENACTED SOFTWARE DEVELOPMENT PROCESS BASED ON AGILE AND AGENT METHODOLOGIES

The Agent Modeling Language (AMOLA)

Requirements engineering

The Design of an Agent-Based Production Scheduling Software Framework for Improving Planning-Scheduling Collaboration

Requirements Analysis Concepts & Principles. Instructor: Dr. Jerry Gao

Object Oriented Programming. Risk Management

Simplifying the Development of Intelligent Agents

Use of Agent-Based Service Discovery for Resource Management in Metacomputing Environment

An agent-oriented approach to change propagation in software evolution

Utilizing Domain-Specific Modelling for Software Testing

VAIL-Plant Asset Integrity Management System. Software Development Process

Business Analyst Interview Questions And Answers

TOGAF usage in outsourcing of software development

Agent-Oriented Software Engineering

Component Based Development Methods - comparison

Analyzing Requirements of Knowledge Management Systems with the Support of Agent Organizations

Assuming the Role of Systems Analyst & Analysis Alternatives

Engineering of a Clinical Decision Support Framework for the Point of Care Use

An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications

OBJECT ORIENTED UML MODELING FOR TRAVELER MANAGEMENT SYSTEM

Aerospace Software Engineering

COMPUTER SCIENCE (5651) Test at a Glance

Incorporating Aspects into the UML

What is a life cycle model?

Personalized e-learning a Goal Oriented Approach

Service Oriented Architecture

Abstract

Section C. Requirements Elicitation

Visionet IT Modernization Empowering Change

Using Provenance to Improve Workflow Design

One for All and All in One

Managing Software Evolution through Reuse Contracts

2. Analysis, Design and Implementation

Systematization of Requirements Definition for Software Development Processes with a Business Modeling Architecture

In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology?

Announcements. HW due today, 2 to grade this week Welcome back from Spring Break!

PROCESS MODELS FOR AGENT-BASED DEVELOPMENT

Building Service-oriented User Agents using a Software Product Line Approach. Ingrid Oliveira de Nunes ionunes@inf.puc-rio.br

Introduction to Systems Analysis and Design

Training Management System for Aircraft Engineering: indexing and retrieval of Corporate Learning Object

RETRATOS: Requirement Traceability Tool Support

A UML Introduction Tutorial

Agent-Based Computing and Programming of Agent Systems

Design Patterns for Managing Product Lifecycle Information

Process Technology Implications of Procurement Processes: Some Initial Observations

Ubiquitous, Pervasive and Mobile Computing: A Reusable-Models-based Non-Functional Catalogue

Development of Enterprise Architecture of PPDR Organisations W. Müller, F. Reinert

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

Mapping from Business Processes to Requirements Specification

Master of Science in Software Engineering (MSC)

Case studies: Outline. Requirement Engineering. Case Study: Automated Banking System. UML and Case Studies ITNP090 - Object Oriented Software Design

Agent-Based Software and Practical Case of Agent-Based Software Development

Transcription:

4. Multiagent Systems Design Part 2: Multiagent Syste ems (SMA-UPC) https://kemlg.upc.edu The PROMETHEUS methodology. Javier Vázquez-Salceda SMA-UPC Methodological Extensions to Object-Oriented Approaches A means for agent technologies to gain traction within industrial settings may be by being introduced through well-established technologies The Unified Modeling Language (UML) is gaining wide acceptance for the representation of engineering artifacts using the object-oriented paradigm There are several attempts to extend UML so as to encompass agent concepts In general, building methods and tools for agent-oriented software development on top of their object-orientedoriented counterparts seems appropriate It lends itself to smoother migration between these different technology generations It improves accessibility of agent-based methods and tools to the object-oriented developer community which, as of today, prevails in industry. jvazquez@lsi.upc.edu 2

Multiagent Syste ems (SMA-UPC) https://kemlg.upc.edu The Methodology Phases Tools From to ROADMAP, is an iterative methodology covering the complete software engineering process Analysis, Design, Detailed design, Implementation Aims at the development of intelligent agents (in particular BDI agents) Uses goals, beliefs, plans, and events. The resulting specification can be implemented in any agent implementation software that covers such abstractions Specially aimed for implementation with JACK It is evolved out of practical experiences It is aimed at industrial software development, not researchers jvazquez@lsi.upc.edu 4

Overview Methodology developed over 7-8 years in collaboration with industry partner (Agent Software). Feedback from many students and industry partner clients. Focus on detailed guidance and structure to facilitate tool support. Mixture of graphical notation for overview (structured) text notation for detail. Hierarchical and modular. Prototype tool available and used externally jvazquez@lsi.upc.edu 5 Phases The methodology covers three phases The system specification focuses on identifying the basic functions of the system, along with inputs (percepts), outputs (actions) and their processing (for example, how percepts are to be handled and any important shared data sources to model the system s interaction with respect to its changing and dynamic environment) The architectural design phase subsequent to system specification determines which agents the system will contain and how they will interact The detailed design phase describes the internals of each agent and the way in which it will achieve its tasks within the overall system. The focus is on defining capabilities (modules within the agent), internal events, plans and detailed data structures. jvazquez@lsi.upc.edu 6

Process Overview stems Design 4. Multiagent Sys jvazquez@lsi.upc.edu 7 System Specification Phase Initial system description Sys stem Spe ecification System goals Functionality descriptors Scenarios Architectural design Stakeholders (Actors) Actions, Percepts jvazquez@lsi.upc.edu 8

System Specification phase System defined by Goals: goal diagram Scenarios: user case scenarios Functionalities: functionality descriptors System interface with environment described in terms of actions, percepts external data jvazquez@lsi.upc.edu 9 System Specification phase: Steps (non-sequential!) Start with high-level description of the system (textual) Identify actors Identify top-level scenarios for each actor Identify inputs/outputs (actions/percepts) jvazquez@lsi.upc.edu 10

System Specification phase: Steps (non-sequential!) Add a corresponding system goal for each use-case Librarian Order Books check-out books Admin order books process returned books jvazquez@lsi.upc.edu 11 System Specification phase: Steps (non-sequential!) Apply Goal Abstraction to system goals Refine Goal (OR/AND refinement) Link goals to (sub)scenarios Maintain large range of books how? why? Scenario OR Borrow books Order books from other libraries i AND how? Find cheapest price Organise delivery Log Order jvazquez@lsi.upc.edu 12

System Specification phase: Steps (non-sequential!) Identify the functionalities of the system Idea: identify roles and activities stems Design 4. Multiagent Sys jvazquez@lsi.upc.edu 13 System Specification phase: Steps (non-sequential!) Develop and refine the Scenarios and subscenarios Steps inside a scenario consist of: Incoming event/percept ( receiving functionality) Message (sender receiver) Activity or actions ( functionalities) jvazquez@lsi.upc.edu 14

Architectural Design Phase Scenarios System specification artifacts Actions, System Percepts goals Functionality descriptors Architectural Design Interaction diagrams Conversation protocols System overview Detailed design Agent descriptors jvazquez@lsi.upc.edu 15 Architectural Design Phase: Agent types Identify the agent types in the system Group functionalities to agent types based on cohesion and coupling Group functionalities that are related based on common sense group functionalities that require a lot of the same information: Data Coupling Diagram Do not group functionalities that are clearly unrelated exist on different hardware platform security and privacy Modifiable by different people Evaluate grouping: Simple descriptive names (heuristic) Generate agent acquaintance diagram jvazquez@lsi.upc.edu 16

Architectural Design Phase: Data Coupling Diagram stems Design 4. Multiagent Sys jvazquez@lsi.upc.edu 17 Architectural Design Phase: Agent Descriptors Generate Agent Descriptors based on the agent types How many agents of a each agent type (one, many, dynamic)? What is the life time of the agent? What is the initial state of the agent? What should be done when agent is killed? What is the data used/produced by the agent? To which event the agent should react? jvazquez@lsi.upc.edu 18

Architectural Design Phase: Agent Descriptors stems Design 4. Multiagent Sys jvazquez@lsi.upc.edu 19 Architectural Design Phase: System Overview Diagram stems Design 4. Multiagent Sys Key jvazquez@lsi.upc.edu 20

Detailed Design Phase Architectural design artifacts Conversation System protocols overview Agent descriptors Detai iled Design Process diagrams Capability overview Agent overview Event descr. Implementation Capability descriptors Data descr. Plan descr. jvazquez@lsi.upc.edu 21 Detailed Design Phase The details of the agent internals are developed Defined in terms of capabilities, data, events and plans Process diagrams are used as stepping stone between interaction protocols and plans Steps (I) Develop the internal structure of individual agents Identify the capability of each agent (start with functionalities) Generate capability descriptors Name: Delivery Problem Handling External interface to the capability: events used/produced Natural language description: Respond if books are not in stock Interaction with other capabilities: Transport capability Data used/produced by the capability: Note problem to transport capability Inclusion of other capabilities: None Generate agent overview diagrams jvazquez@lsi.upc.edu 22

Detailed Design Phase: Agent Overview Diagrams stems Design 4. Multiagent Sys Key jvazquez@lsi.upc.edu 23 Detailed Design Phase: Agent Overview Diagrams stems Design 4. Multiagent Sys Key jvazquez@lsi.upc.edu 24

Detailed Design Phase: Event, Data & Plan Descriptions Steps (II) Plan descriptions Name: Delivery Problem Handling Natural language description: Respond if books are not in stock Triggering event type: Delivery problem, Delayed delivery Plan steps: Delivery Query, Register problems Context of performing the plan: The delivery is delayed Data used/produced: Produce note problem Event descriptions Identify the purpose of events and the data carried by it Data descriptions Identify the data structure and operations on the data jvazquez@lsi.upc.edu 25 Tools: the Design Tool (PDT) stems Design 4. Multiagent Sys jvazquez@lsi.upc.edu 26

Tools: the Design Tool (PDT) System Specification PDT Architectural Design PDT Detailed Design Implementation Debugging Testing PDT jvazquez@lsi.upc.edu 27 From to ROADMAP Main strengths: Structured processes to refine design. Automated consistency checking between (some of) the design artefacts. t Hierarchical and modular views. Actively continuing development Next step: the ROADMAP methodology More abstract and high level than. Concerned with high level view of models needed. Focusses particularly on requirements analysis. Notation for new elements still being defined. jvazquez@lsi.upc.edu 28

ROADMAP Overview of Models Domain specific Application specific Reusable service models Goal Model Environment Social Model Role Model Model Knowledge Model provides details in these models -and a little in the environment model Agent Model Interaction Model Service Model jvazquez@lsi.upc.edu 29 ROADMAP Models Goal hierarchy (Requirements, propagates down) Roles associated with goals (Requirements) Interaction ti model: Scenarios (Requirements). Protocols (Architectural design) Requiring more work: Knowledge Model Environment Model Possibly need a Task Model Social Model Services Model jvazquez@lsi.upc.edu 30

ROADMAP Integration with actors/stakeholders and functionalities become external/internal roles Can identify goals or scenarios at ttop level l Add soft goals as annotations on all entities Percepts and actions possibly wait till architectural design Still need to decide common notation jvazquez@lsi.upc.edu 31 ROADMAP Example of new models: Goal Model Key Role Goal Large choice Librarian Select book User Borrow book Register borrower Provide return date Soft goal Friendly jvazquez@lsi.upc.edu 32

References [ 1. ] N.R. Jennings, On Agent-Based Software Engineering, Artificial Intelligence, 117:227-296, 2000. [ 2. ] F. Zambonelli, N. Jennings, M. Wooldridge, Organizational Abstractions for the Analysis and Design, 1st International Workshop on Agent-oriented Software Engineering, LNAI No. 1957, 2001. [ 3. ] O. Shehory and A. Sturm, Evaluation of Modelling Techniques for Agent-Based Systems, Proceedings of The Fifth International Conference on Autonomous Agents, pp. 624-631, 2001. [ 4. ] L. Padgham, M. Winikoff. : A methodology for developing intelligent agents. In Third Int. Workshop on agent- Oriented Software Engineering, July 2002. [] 5. L. Padgham, M. Winikoff. : A pragmatic methodology for engineering intelligent agents. In proc. of the OOPSLA 2002 Workshop on Agent-Oriented Methodologies, page 97-108, Seatle, 2002. These slides are based mainly in [2], jvazquez@lsi.upc.edu [4], [5] and material from M. Winikoff, L. Padgham, 33 M. Luck and M. Dastani