Separating Crosscutting Concerns in Agent Oriented Detailed Design: The Social Patterns Case Carla Silva Jaelson Castro Advisor: Jaelson Castro João Araújo.

Slides:



Advertisements
Similar presentations
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
Advertisements

Approaches to Systems Development
IBM Business Consulting Services © Copyright IBM Corporation 2006 Unified Process March 27, 2006 Chris Armstrong.
March R McFadyen1 Architecture Architecture involves the set of significant decisions about the organization of a software system, decisions.
Introduction To System Analysis and Design
Developing MAS The GAIA Methodology A Brief Summary by António Castro and Prof. Eugénio Oliveira.
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.
CMPT 370: Information Systems Design Instructor: Curtis Cartmill, Simon Fraser University – Summer 2003 Lecture Topic: Layered Architecture Class Exercise:
Logical Architecture and UML Package Diagrams
Software Architecture. Agenda " Why architect? " What is architecture? " What does an architect do? " What principles guide the process of architecting?
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Deriving AO Software Architectures using the AO-ADL Tool Suite Luis Fernández, Lidia Fuentes, Mónica Pinto, Juan A. Valenzuela Universidad de Málaga
Logical Architecture and UML Package Diagrams 徐迎晓 复旦大学软件学院.
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM]
Free Mini Course: Applying SysML with MagicDraw
TC Methodology Massimo Cossentino (Italian National Research Council) Radovan Cervenka (Whitestein Technologies)
Experiences from a standardization attempt in AO methodologies Massimo Cossentino (Italian National Research Council)
Introduction To System Analysis and Design
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
TROPOS Derived from the Greek tropé, which means easily changeable, also easily adaptable. Presented By: Varun Rao Bhamidimarri.
On the Modularity Assessment of Aspect- Oriented Multi-Agent Systems Product Lines: a Quantitative Study Camila Nunes
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
PROPOSAL OF AN INNOVATIVE ARCHITECTURE FOR WEB BASED EDUCATION SYSTEMS CATE 2012 Superior School of Computer Science of National Polytechnic Institute.
Page 1 Accounting Management in a TINA- Based Service and Network Environment Patrick Hellemans, Cliff Redmond, Koen Daenen, Dave Lewis IS&N 99 - Barcelona.
Introduction Better Faster Cheaper (pick any two) On-going issue that continues to motivate research in software engineering Applications: –continue to.
07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking.
Systems Analysis and Design in a Changing World, Fourth Edition
Object-Oriented Software Engineering using Java, Patterns &UML. Presented by: E.S. Mbokane Department of System Development Faculty of ICT Tshwane University.
Part VII: Design Continuous
Introduction to Design Patterns Part 1. © Lethbridge/Laganière 2001 Chapter 6: Using design patterns2 Patterns - Architectural Architectural Patterns:
1 CMPT 275 High Level Design Phase Modularization.
Capturing and Reusing Functional and Non-functional Requirements Knowledge: A Goal-Object Pattern Approach Lawrence Chung and Sam Supakkul The University.
Copyright © Active Frameworks Inc. - All Rights Reserved - V2.0Design Pattern Catalog - Page L3-1 PS95&96-MEF-L10-1 Dr. M.E. Fayad Creationa.
Object Oriented Analysis and Design Chapter 1 Applying UML and Patterns -Craig Larman.
Introspecting Agent-Oriented Design Patterns Manuel Kolp, T. Tung Do, Stéphane Faulkner and T. T. Hang Hoang Presented by Rachel Bock, Sam Shaw, Nicholas.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
UML - Development Process 1 Software Development Process Using UML.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
4+1 View Model of Software Architecture
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
1 Architectural Blueprints—The “4+1” View Model of Software Architecture (
Metadata Driven Aspect Specification Ricardo Ferreira, Ricardo Raminhos Uninova, Portugal Ana Moreira Universidade Nova de Lisboa, Portugal 7th International.
Dec 11, Analysis and Design of MLC Services using JADE (1) Oscar Lin.
The Observer Design Pattern Author :Erich Gamma, et al. Source :Elements of Reusable Object-Oriented Software Speaker : Chiao-Ping Chang Advisor : Ku-Yaw.
Basic Characteristics of Object-Oriented Systems
Introduction to Software Engineering 1. Software Engineering Failures – Complexity – Change 2. What is Software Engineering? – Using engineering approaches.
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.
Aspect-oriented Code Generation Approaches Abid Mehmood & Dayang N. A. Jawawi Department of Software Engineering Faculty of Computer Science and Information.
Integrating BPMN and SoaML Based on an example from SoaML spec.
Design Patterns CSCE 315 – Programming Studio Spring 2013.
Page 1 An Overview of The COTS-Aware Requirements Engineering and Software Architecting Project (CARE/SA) The University of Texas at Dallas Department.
Design Patterns: MORE Examples
Chapter 10 Design Patterns.
Object-Oriented Software Engineering Using UML, Patterns, and Java,
CMPE 135: Object-Oriented Analysis and Design October 24 Class Meeting
OO Methodology OO Architecture.
Introduction to Design Patterns Part 1
Patterns.
Chapter 20 Object-Oriented Analysis and Design
The Tropos visual modeling language A meta-model.
Introduction to Pattern Oriented Analysis and Design (POAD)
CMPE 135 Object-Oriented Analysis and Design March 21 Class Meeting
Chapter 8, Design Patterns Introduction
Dept. of Computation, UMIST
Agent-oriented Software Engineering Methodologies
PASSI (Process for Agent Societies Specification and Implementation)
From Use Cases to Implementation
Logical Architecture & UML Package Diagrams
Presentation transcript:

Separating Crosscutting Concerns in Agent Oriented Detailed Design: The Social Patterns Case Carla Silva Jaelson Castro Advisor: Jaelson Castro João Araújo Co-Advisors: João Araújo and Patrícia Tedesco

2 Content Motivation Proposal Case Study Contributions Future Work Motivation Proposal Case Study Contributions Future Work

3 Agent Oriented Software Development Multi-agent systems (MAS) Problem 1: no consensus regarding MAS constructs Problem 2: no standard notation for MAS Responsibility_C1 Responsibility_C2 Responsibility_A1 Responsibility_A2 Responsibility_D1 Responsibility_D2 Responsibility_B1 Responsibility_B2 A B CD Motivation Proposal Case Study Contributions Future Work

4 Tropos Framework Tropos supports five phases of the software development lifecycle. Problem 3: no systematic process for detailed design > Early Requirements > Late Requirements > Architectural Design > Detailed Design > Implementation Motivation Proposal Case Study Contributions Future Work

5 Detailed Design Phase Additional detail to architectural components Reuse well-tested solutions to recurring problems  Social Patterns Ex.: Monitor, Broker, Matchmaker, Mediator, Embassy, Wrapper, Booking, Call-for-proposal, Subscription, Bidding  Patterns provide easy reuse of good software design Description_RespA_P1 Description_RespB_P1 P1 Description_RespA_P2 Description_RespB_P2 P2 Description_RespA_P3 Description_RespB_P3 P3 Motivation Proposal Case Study Contributions Future Work

6 Matchmaker Pattern Problem 4: no standard (and detailed) description of social patterns Problem 5: no guidelines to select social patterns Problem 6: no systematic way to apply social patterns Description of a Social Pattern Request Provider ID Register Yellow Pages Unregister Yellow Pages Locate Provider Matchmaker Request Registration Request Unregistration Client Provider Motivation Proposal Case Study Contributions Future Work

7 ResponsibilityA_P1 ResponsibilityB_P1 P1 ResponsibilityA_P2 ResponsibilityB_P2 P2 ResponsibilityA_P3 ResponsibilityB_P3 P3 Application of a Social Pattern to a MAS Responsibility_C1 Responsibility_C2 Responsibility_A1 Responsibility_A2 Responsibility_D1 Responsibility_D2 Responsibility_B1 Responsibility_B2 A B CD Pattern applied to the system Pattern DescriptionMulti-Agent System Motivation Proposal Case Study Contributions Future Work

8 Request Provider ID Register Yellow Pages Unregister Yellow Pages Locate Provider Matchmaker Request Registration Request Unregistration Client Provider Contact News Agencies Produce News Format News Article Reviews News Content Update Website Decompose Guideline Format Newspaper Editor Chief Editor Rep-Photo Webmaster Application of the Matchmaker Pattern to a MAS Pattern DescriptionMulti-Agent System Matchmaker Pattern Description Multi-Agent System Motivation Proposal Case Study Contributions Future Work

9 Application of an Social Pattern to a MAS Problem 7: Matchmaker Pattern concerns are crosscutting concerns  Scattering and tangling Low cohesion High coupling reusability Motivation Proposal Case Study Contributions Future Work

10 Motivation 1. No consensus regarding MAS constructs 2. No standard notation for MAS 3. No systematic process for detailed design 4. No standard (and detailed) description of social patterns 5. No guidelines to select social patterns 6. No systematic way to apply social patterns 7. Matchmaker Pattern concerns are crosscutting concerns Motivation Proposal Case Study Contributions Future Work

11 Proposal 1. Agency Metamodel 2. MAS Modeling Notation 3. Detailed Design Process 4. Agent Pattern Specifications 5. Heuristics to select Social Patterns 6. A technique to systematically apply Social patterns 7. Advanced separation of Social Patterns concerns Motivation Proposal Case Study Contributions Future Work

12 Agency metamodel Define some constructs to specify MAS  Intentional constructs Agent Role, Agent, Goal, Belief, Intention, Plan, Action, etc.  Interaction constructs Interaction Protocol, Communication Message, Agent Connector, Organizational Port, ACL, etc. Motivation Proposal Case Study Contributions Future Work

13 MAS modeling notation 2 behavioral diagrams  Communication diagram  Plan diagram 4 structural diagrams  Architectural diagram  Intentional diagram  Rational diagram  Environmental diagram Motivation Proposal Case Study Contributions Future Work

14 Detailed Design A step-by-step to guide the detailed design of MAS Motivation Proposal Case Study Contributions Future Work

15 Agent Pattern Specifications Specializes the agency metamodel by using model roles (France et al.) Whittle et al. and Araújo et al. uses model roles to address aspect modeling The APS technique comprises  A description template  An Structural Agent Pattern Specification  A Communication Agent Pattern Specification Motivation Proposal Case Study Contributions Future Work

16 The Template for a Pattern Description ElementDescription NameMatchmaker Pattern IntentTo locate a provider for a given service requested by a client and letting the client directly interact with the provider. ApplicabilityWhen an agent (client) needs to directly interact with another agent (provider) to use its services, but does not know what agent offers the desired service. Motivation Example A reporter agent needs to interact with a news agency to obtain news about a specific subject. The news agency to be contacted is going to be known at run time by any reporter agent. ProblemHow can clients locate unknown providers which offer a specific service? SolutionThe solution involves an intermediary agent (matchmaker) that receives requests from service providers to subscribe/unsubscribe its services into the yellow pages maintained by it. An agent (client) may need a specific service provided by an unknown agent (provider). The Matchmaker also receives requests from client agents to locate some provider agent which offers a specific service. If there is some provider for the requested service, the Matchmaker gives that provider’s identification to the client which, in its turn, can directly interact with it. ParticipantsThe Client requests the identification of an agent that provides a specific service. The Matchmaker finds the Provider of the requested service and gives its identification to the Client. The Provider must subscribe the Matchmaker yellow page service in order to be found by the clients requesting its services. Motivation Proposal Case Study Contributions Future Work

17 Matchmaker Structural Agent Pattern Specification Motivation Proposal Case Study Contributions Future Work

18 Matchmaker Structural Agent Pattern Specification Agent Role Dependum MacroPlan Goal Notes ComplexAction Motivation Proposal Case Study Contributions Future Work

19 Matchmaker Communication Agent Pattern Specification Agent Agent Role Message Motivation Proposal Case Study Contributions Future Work

20 Towards Implementation Guidelines to implement Social Patterns using an integration of JADE and AspectJ Motivation Proposal Case Study Contributions Future Work

21 Case Study Conference Management System Content Manager System, called e-News Content Manager System, called e-News Contact News Agencies Produce News Format News Article Reviews News Content Update Website Decompose Guideline Format Newspaper Editor Chief Editor Rep-Photo Webmaster Motivation Proposal Case Study Contributions Future Work

22 Architectural Diagram for e-News Motivation Proposal Case Study Contributions Future Work

23 Architectural Diagram for e-News Agent Role Dependum Goal ComplexAction MacroPlan Motivation Proposal Case Study Contributions Future Work

24 Selection of Social Patterns Some heuristics  Observe the system non-functional requirements (NFRs)  Analyze the patterns templates  Choose the social patterns which better address the NFRs Availability For example, Availability  The Matchmaker pattern helps to accomplish this NFR Motivation Proposal Case Study Contributions Future Work

25 Application of Social Patterns Systematic application  Bind Model Roles to Model Elements Pattern Description MAS Architectural Diagram Motivation Proposal Case Study Contributions Future Work

26 Pattern applied to MAS Client Concerns Provider Concerns Matchmaker Concerns Application Concerns Motivation Proposal Case Study Contributions Future Work

27 Contributions Agency metamodel  defines a set of concepts to specify MAS MAS modeling notation  can be used in other frameworks/methodologies besides Tropos  is supported by UML CASE tools Detailed design process  guidelines to map i* to MAS modeling notation  heuristics to select social patterns  systematic application of social patterns Standard technique to describe social patterns  more detailed description  promotes advanced separation of patterns concerns  guidelines to implement social patterns integration of JADE and AspectJ Motivation Proposal Case Study Contributions Future Work

28 Future Work Real case studies  MAS modeling notation  Heuristics to select social patterns  Description of social patterns Empirical evaluation  Social patterns implemented as aspects  Composition of social patterns Advanced Separation of Patterns Concerns CASE tool  Detailed Design Process Motivation Proposal Case Study Contributions Future Work

29 Publications 12 papers related to the thesis  1 paper  1 poster  1 chapter - SELMAS V LNCS (2007)  1 paper  1 paper - WASP’06  1 paper - SELMAS’04  1 paper - SELMAS’06  1 paper Forum Publications

Separating Crosscutting Concerns in Agent Oriented Detailed Design: The Social Patterns Case Carla Silva Jaelson Castro Advisor: Jaelson Castro João Araújo Co-Advisors: João Araújo and Patrícia Tedesco