The Tropos and MaSE Agent-Oriented Software Engineering Methodologies Msury Mahunnah, Tallinn University of Technology
Mailing list for the course aine.aom@lists.ttu.ee You can join at http://lists.ttu.ee/mailman/listinfo/aine.aom
The course webpages General information: http://maurus.ttu.ee/sts/?page_id=818 Lectures and workshops: http://maurus.ttu.ee/sts/?page_id=837
Last time The Prometheus agent-oriented software engineering methodology
Prometheus AOSE methodology developed at RMIT under the leadership of Lin Padgham:
The conceptual space
The Prometheus process Detailed design Architectural design System specification Scenarios Interaction diagrams Protocols Process actors Capability overview Analysis agent acquaintance System Agent agent grouping Event descriptors System goals actions, percepts messages shared data Data descriptions Initial Role descriptors Agent descriptors Capability descriptors Plan descriptors Key final design artefact intermediate design artefact input Code
Mapping Prometheus to viewpoint framework Viewpoint models Viewpoint aspect Abstraction layer Interaction Information Behavior Conceptual domain modeling Analysis Diagram, System Roles Diagram Goal Diagram, Initial Role Descriptors, Scenarios Platformindependent computational design Platform-specific design and implementation Agent Acquaintance Diagram, Interaction, Protocol, System Diagram Event Descriptors Knowledge Coupling Data Descriptors Agent Descriptors Agent, Process Specifications, Capability
Percepts and Actions Agents are situated therefore need to define the interface(s) with the environment
Conference management system A collection of papers presented over several days Academics and students interested in presenting at the conference submit papers for consideration The papers must be submitted by a given deadline The papers are distributed by a program chair to members of the PC PC members may delegate to reviewers The reviews are completed by an internal deadline Papers are selected based on the reviews The authors are notified and provided with comments from the reviews Final copies are collected for publications
Mapping Prometheus to viewpoint framework Viewpoint models Viewpoint aspect Abstraction layer Interaction Information Behavior Conceptual domain modeling Analysis Diagram, System Roles Diagram Goal Diagram, Initial Role Descriptors, Scenarios Platformindependent computational design Platform-specific design and implementation Agent Acquaintance Diagram, Interaction, Protocol, System Diagram Event Descriptors Knowledge Coupling Data Descriptors Agent Descriptors Agent, Process Specifications, Capability
Analysis Diagram
Mapping Prometheus to viewpoint framework Viewpoint models Viewpoint aspect Abstraction layer Interaction Information Behavior Conceptual domain modeling Analysis Diagram, System Roles Diagram Goal Diagram, Initial Role Descriptors, Scenarios Platformindependent computational design Platform-specific design and implementation Agent Acquaintance Diagram, Interaction, Protocol, System Diagram Event Descriptors Knowledge Coupling Data Descriptors Agent Descriptors Agent, Process Specifications, Capability
Goal Diagram
Mapping Prometheus to viewpoint framework Viewpoint models Viewpoint aspect Abstraction layer Interaction Information Behavior Conceptual domain modeling Analysis Diagram, System Roles Diagram Goal Diagram, Initial Role Descriptors, Scenarios Platformindependent computational design Platform-specific design and implementation Agent Acquaintance Diagram, Interaction, Protocol, System Diagram Event Descriptors Knowledge Coupling Data Descriptors Agent Descriptors Agent, Process Specifications, Capability
System Roles Diagram
Mapping Prometheus to viewpoint framework Viewpoint models Viewpoint aspect Abstraction layer Interaction Information Behavior Conceptual domain modeling Analysis Diagram, System Roles Diagram Goal Diagram, Initial Role Descriptors, Scenarios Platformindependent computational design Platform-specific design and implementation Agent Acquaintance Diagram, Interaction, Protocol, System Diagram Event Descriptors Knowledge Coupling Data Descriptors Agent Descriptors Agent, Process Specifications, Capability
Scenario
Mapping Prometheus to viewpoint framework Viewpoint models Viewpoint aspect Abstraction layer Interaction Information Behavior Conceptual domain modeling Analysis Diagram, System Roles Diagram Goal Diagram, Initial Role Descriptors, Scenarios Platformindependent computational design Platform-specific design and implementation Agent Acquaintance Diagram, Interaction, Protocol, System Diagram Event Descriptors Knowledge Coupling Data Descriptors Agent Descriptors Agent, Process Specifications, Capability
Knowledge Coupling Key A W D role B X E knowledge C Y F role uses knowledge Z G role produces knowledge
Mapping Prometheus to viewpoint framework Viewpoint models Viewpoint aspect Abstraction layer Interaction Information Behavior Conceptual domain modeling Analysis Diagram, System Roles Diagram Goal Diagram, Initial Role Descriptors, Scenarios Platformindependent computational design Platform-specific design and implementation Agent Acquaintance Diagram, Interaction, Protocol, System Diagram Event Descriptors Knowledge Coupling Data Descriptors Agent Descriptors Agent, Process Specifications, Capability
Agent Acquaintance : derivation A W D A D E B C F B X E G C Y F Z G
Mapping Prometheus to viewpoint framework Viewpoint models Viewpoint aspect Abstraction layer Interaction Information Behavior Conceptual domain modeling Analysis Diagram, System Roles Diagram Goal Diagram, Initial Role Descriptors, Scenarios Platformindependent computational design Platform-specific design and implementation Agent Acquaintance Diagram, Interaction, Protocol, System Diagram Event Descriptors Knowledge Coupling Data Descriptors Agent Descriptors Agent, Process Specifications, Capability
Agent Descriptors Name Description Percepts responded to Actions executed Messages sent - to which agent, what content Messages received - from which agent, what content Internal events Knowledge used - external or shared internal Knowledge produced - external or shared internal Goals Roles included Creation/Destruction Cardinality (how many?)
Mapping Prometheus to viewpoint framework Viewpoint models Viewpoint aspect Abstraction layer Interaction Information Behavior Conceptual domain modeling Analysis Diagram, System Roles Diagram Goal Diagram, Initial Role Descriptors, Scenarios Platformindependent computational design Platform-specific design and implementation Agent Acquaintance Diagram, Interaction, Protocol, System Diagram Event Descriptors Knowledge Coupling Data Descriptors Agent Descriptors Agent, Process Specifications, Capability
System overview diagram
Mapping Prometheus to viewpoint framework Viewpoint models Viewpoint aspect Abstraction layer Interaction Information Behavior Conceptual domain modeling Analysis Diagram, System Roles Diagram Goal Diagram, Initial Role Descriptors, Scenarios Platformindependent computational design Platform-specific design and implementation Agent Acquaintance Diagram, Interaction, Protocol, System Diagram Event Descriptors Knowledge Coupling Data Descriptors Agent Descriptors Agent, Process Specifications, Capability
Interaction Diagram Example with Alternatives Agents Messages Time Multiple scenarios/ variations Decision point Agent X Agent Y Agent Z message A message D message B message C message E message G message E These should be variations in scenarios develop in message protocol F message G specification
Mapping Prometheus to viewpoint framework Viewpoint models Viewpoint aspect Abstraction layer Interaction Information Behavior Conceptual domain modeling Analysis Diagram, System Roles Diagram Goal Diagram, Initial Role Descriptors, Scenarios Platformindependent computational design Platform-specific design and implementation Agent Acquaintance Diagram, Interaction, Protocol, System Diagram Event Descriptors Knowledge Coupling Data Descriptors Agent Descriptors Agent, Process Specifications, Capability
Notation: AUML-2 Initiator Participant query-if x query-ref not-understood refuse failure x inform
Mapping Prometheus to viewpoint framework Viewpoint models Viewpoint aspect Abstraction layer Interaction Information Behavior Conceptual domain modeling Analysis Diagram, System Roles Diagram Goal Diagram, Initial Role Descriptors, Scenarios Platformindependent computational design Platform-specific design and implementation Agent Acquaintance Diagram, Interaction, Protocol, System Diagram Event Descriptors Knowledge Coupling Data Descriptors Agent Descriptors Agent, Process Specifications, Capability
Agent overview diagram for Review_manager
Today The Tropos agent-oriented software engineering methodology The MaSE agent-oriented software engineering methodology
The Tropos process
Mapping Tropos to viewpoint framework Viewpoint models Viewpoint aspect Abstraction layer Interaction Information Behavior Conceptual domain modeling Actor Diagram Actor Diagram Goal Platformindependent computational design Refined Goal Platform-specific design and implementation Agent Interaction UML Class Capability, Plan
Mapping Tropos to viewpoint framework Viewpoint models Viewpoint aspect Abstraction layer Interaction Information Behavior Conceptual domain modeling Actor Diagram Actor Diagram Goal Platformindependent computational design Refined Goal Platform-specific design and implementation Agent Interaction UML Class Capability, Plan
Actor diagram
Mapping Tropos to viewpoint framework Viewpoint models Viewpoint aspect Abstraction layer Interaction Information Behavior Conceptual domain modeling Actor Diagram Actor Diagram Goal Platformindependent computational design Refined Goal Platform-specific design and implementation Agent Interaction UML Class Capability, Plan
Goal diagrams
Mapping Tropos to viewpoint framework Viewpoint models Viewpoint aspect Abstraction layer Interaction Information Behavior Conceptual domain modeling Actor Diagram Actor Diagram Goal Platformindependent computational design Refined Goal Platform-specific design and implementation Agent Interaction UML Class Capability, Plan
Expanded actor diagram
Mapping Tropos to viewpoint framework Viewpoint models Viewpoint aspect Abstraction layer Interaction Information Behavior Conceptual domain modeling Actor Diagram Actor Diagram Goal Platformindependent computational design Refined Goal Platform-specific design and implementation Agent Interaction UML Class Capability, Plan
Goal diagram for CMS system
Mapping Tropos to viewpoint framework Viewpoint models Viewpoint aspect Abstraction layer Interaction Information Behavior Conceptual domain modeling Actor Diagram Actor Diagram Goal Platformindependent computational design Refined Goal Platform-specific design and implementation Agent Interaction UML Class Capability, Plan
Refined goal diagram for CMS System
Mapping Tropos to viewpoint framework Viewpoint models Viewpoint aspect Abstraction layer Interaction Information Behavior Conceptual domain modeling Actor Diagram Actor Diagram Goal Platformindependent computational design Refined Goal Platform-specific design and implementation Agent Interaction UML Class Capability, Plan
Further refined goal diagram for CMS System
Mapping Tropos to viewpoint framework Viewpoint models Viewpoint aspect Abstraction layer Interaction Information Behavior Conceptual domain modeling Actor Diagram Actor Diagram Goal Platformindependent computational design Refined Goal Platform-specific design and implementation Agent Interaction UML Class Capability, Plan
Capability diagram
Mapping Tropos to viewpoint framework Viewpoint models Viewpoint aspect Abstraction layer Interaction Information Behavior Conceptual domain modeling Actor Diagram Actor Diagram Goal Platformindependent computational design Refined Goal Platform-specific design and implementation Agent Interaction UML Class Capability, Plan
Agent interaction diagram
The MaSE process
Mapping MaSE to viewpoint framework Viewpoint models Viewpoint aspect Abstraction layer Interaction Information Behavior Conceptual domain modeling Sequence, Role Model Goal Diagram, Use Cases, Role Model Platformindependent computational design Protocol, Agent Class Diagram Concurrent Tasks, Agent Class Diagram Platform-specific design and implementation Plan, Deployment
Mapping MaSE to viewpoint framework Viewpoint models Viewpoint aspect Abstraction layer Interaction Information Behavior Conceptual domain modeling Sequence, Role Model Goal Diagram, Use Cases, Role Model Platformindependent computational design Protocol, Agent Class Diagram Concurrent Tasks, Agent Class Diagram Platform-specific design and implementation Plan, Deployment
Goal diagram
Elaborated goal diagram
Mapping MaSE to viewpoint framework Viewpoint models Viewpoint aspect Abstraction layer Interaction Information Behavior Conceptual domain modeling Sequence, Role Model Goal Diagram, Use Cases, Role Model Platformindependent computational design Protocol, Agent Class Diagram Concurrent Tasks, Agent Class Diagram Platform-specific design and implementation Plan, Deployment
Role model
Mapping MaSE to viewpoint framework Viewpoint models Viewpoint aspect Abstraction layer Interaction Information Behavior Conceptual domain modeling Sequence, Role Model Goal Diagram, Use Cases, Role Model Platformindependent computational design Protocol, Agent Class Diagram Concurrent Tasks, Agent Class Diagram Platform-specific design and implementation Plan, Deployment
Agent class diagram
Mapping MaSE to viewpoint framework Viewpoint models Viewpoint aspect Abstraction layer Interaction Information Behavior Conceptual domain modeling Sequence, Role Model Goal Diagram, Use Cases, Role Model Platformindependent computational design Protocol, Agent Class Diagram Concurrent Tasks, Agent Class Diagram Platform-specific design and implementation Plan, Deployment
Plan diagram for the Referee agent