Multi-agent Systems Product Lines Camila Nunes, Elder Cirilo, Ingrid Nunes

Slides:



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

Java Autonomic Agent Framework with Self-Testing Andrew Diniz da Costa Camila Nunes
Multi-agent Systems Product Lines Camila Nunes, Elder Cirilo, Ingrid Nunes
Collaborative and Distributed Product Configuration: An Agent-Based Approach Carlos Roberto Marques Junior Elder José Reioli Cirilo.
Multi-agent Systems Product Lines Camila Nunes, Elder Cirilo, Ingrid Nunes
Integration of MBSE and Virtual Engineering for Detailed Design
Object-Oriented Application Frameworks Much of the cost and effort stems from the continuous re- discovery and re-invention of core concepts and components.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Software Reuse SEII-Lecture 28
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Software Factory Assembling Applications with Models, Patterns, Frameworks and Tools Anna Liu Senior Architect Advisor Microsoft Australia.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Course Instructor: Aisha Azeem
Software Product Line Engineering Andrew Burmester SE 4110 Section 2 4/14/11.
Autonomic Software Product Lines (ASPL) Nadeem Abbas, Jesper Andersson, Welf Löwe Linnaeus University, Sweden Monday, August 23, st International.
Software Product Line Architectures (SPLA) Nipun Shah
Architecture and Software Product Lines A software architecture represents a significant investment of time and effort, usually by senior talent. So it.
Computer Systems & Architecture Lesson Software Product Lines.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
Introduction To System Analysis and design
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 18 Slide 1 Software Reuse.
Software Engineering Muhammad Fahad Khan
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
CSI315 Web Applications and Technology Overview of Systems Development (342)
Objects and Components. The adaptive organization The competitive environment of businesses continuously changing, and the pace of that change is increasing.
Institut Experimentelles Software Engineering Fraunhofer IESE Klaus Schmid Relating Product Line Adoption Mode and Transition Process.
Software Design Refinement Using Design Patterns Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
Rational Unified Process Fundamentals Module 4: Disciplines II.
TC Methodology Massimo Cossentino (Italian National Research Council) Radovan Cervenka (Whitestein Technologies)
An Introduction to Software Architecture
The Software Product Line Architectures
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Supporting Heterogeneous Users in Collaborative Virtual Environments using AOP CoopIS 2001 September 5-7, Trento, Italy M. Pinto, M. Amor, L. Fuentes,
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
Software Engineering Principles Principles form the basis of methods, techniques, methodologies and tools Principles form the basis of methods, techniques,
On the Modularity Assessment of Aspect- Oriented Multi-Agent Systems Product Lines: a Quantitative Study Camila Nunes
1 Introduction to Software Engineering Lecture 1.
Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
Supporting Self-Adaptation in Multi- Agent Systems.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Introduction Better Faster Cheaper (pick any two) On-going issue that continues to motivate research in software engineering Applications: –continue to.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Software Product Line Material based on slides and chapter by Linda M. Northrop, SEI.
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 18 Slide 1 Software Reuse.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University IWPSE 2003 Program.
Engineering Self-adaptive Service Mashups Mahdi Bashari LS3 Colloquium May 7 th 2014.
Software Reuse Course: # The Johns-Hopkins University Montgomery County Campus Fall 2000 Session 4 Lecture # 3 - September 28, 2004.
Quality Assurance in the Presence of Variability Kim Lauenroth, Andreas Metzger, Klaus Pohl Institute for Computer Science and Business Information Systems.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
1 SYS366 Week 1 - Lecture 1 Introduction to Systems.
Introduction to Software Engineering 1. Software Engineering Failures – Complexity – Change 2. What is Software Engineering? – Using engineering approaches.
Context-Aware Middleware for Resource Management in the Wireless Internet US Lab 신현정.
Software Reuse. Objectives l To explain the benefits of software reuse and some reuse problems l To discuss several different ways to implement software.
Software Design Refinement Using Design Patterns
Object-Oriented Software Engineering Using UML, Patterns, and Java,
Complexity Time: 2 Hours.
Instructor: Dr. Hany H. Ammar
Chapter 25: Architecture and Product Lines
Designing Software for Ease of Extension and Contraction
Textbook Engineering Web Applications by Sven Casteleyn et. al. Springer Note: (Electronic version is available online) These slides are designed.
Model-Driven Analysis Frameworks for Embedded Systems
A Case Study of Variation Mechanism in an Industrial Product Line
Presentation transcript:

Multi-agent Systems Product Lines Camila Nunes, Elder Cirilo, Ingrid Nunes

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio Outline Introduction Background Related Work Case Studies –EC –OLIS MAS-PL Research Work in LES –Domain Engineering Process –Empirical Studies –SPL For Self-Adaptive Systems

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio Introduction Agent-oriented Software Engineering (AOSE) –New software engineering paradigm –Development of distributed complex applications Software Reuse –Benefits Lower costs Reduced time-to-market Quality improvement –AOSE methodologies Failed to adequately capture the reuse potential since many of the developed methodologies center on the development of specific software applications

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio Introduction Software product lines (MAS) –New trend of software reuse –Build family of applications in a systematic method Only recent research has explored the integration between SPL and Multi-agent Systems (MAS) –Multi-agent Systems Product Lines (MAS-PL) –SPL + MAS benefits –Help on the industrial exploitation of agent technology

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio Background Reuse: From Ad-Hoc to Systematic Focus was small-grained and opportunistic. Results always fell short of expectations.

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio Background A software product line is a set of software-intensive systems sharing a common, managed set of features that satisfy the specific need of a particular market segment or mission and that are developed from a common set of core assets in a prescribed way. Software product line engineering is a paradigm to develop software applications (software-intensive systems and software products) using platforms and mass customization. A software platform is a set of software subsystems and interfaces that form a common structure from which a set of derivative products can be efficiently developed and produced.

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio Background Market Strategy / Application Domain pertain to Architecture share an Components are built from is satisfied by used to structure Products Product Lines: Take economic advantage of commonality Bound variability

© LES/PUC-Rio Background set of related products to product Core Asset (Components) Scope Definition Production Plans Architecture

7/6/20149 Elder © LES/PUC-Rio Background

© LES/PUC-Rio Background

Feature Model –Describe a SPL in terms of common and variable features Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio

Background SPL Implementation –Framework OO Abstract Classes, Intefaces –Components Intefaces –Aspect Oriented Development Code composition –Pre-processing Coditional Compilation Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio

SPL Adoption Strategies Proactive –Development of product lines considering all the products in the foreseeable horizon –A complete set of artifacts to address the product line is developed from scratch Extractive –SPL is developed starting from existing software systems –Common and variable features are extracted from these systems to derive an initial version of the SPL Reactive –Incremental development of SPLs –SPL artifacts address only a few products. When there is a demand to incorporate new requirements or products, the common and variable artifacts are incrementally extended in reaction to them

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio SPL Development Approaches SPL Product 1 Product 2 Product 3 Proactive Approach Domain Analysis Architecture Project

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio SPL Development Approaches Product 1 Product 2 Product 3 SPL Product 1 Product 2 Product 3 Extractive Approach

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio SPL Development Approaches SPL Product 1 Product 2 Product 3 Reactive Approach SPL Product 1 Product 2 Product 3 Product 4 Requirements for a new product instance, Product 4 + React Iterate

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio SPL and MAS-PL Approaches MethodologyDomain AnalysisDomain Design FORM Feature diagram with composition rules Subsystem, Process Model and Module Models [Pohl 2005] Framework Reusable, textual and model-based requirements, variability model Reference architecture, refined variability model, mapping from design artifacts to requirements artifacts PLUS Requirements model consisting of a use case model and feature model Static and dynamic models, feature/class dependencies, design of component-based software architecture MacMAS Extension Feature Model (features are goals) Acquaintance Organization, Traceability and Role Models [Dehlinger 2007] Role Schema, Role Variation Point - For the complete study, refers to

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio MAS-PL Variability Types Variability Types –What can vary in a MAS-PL Besides the common variabilities of SPLs –Alternative / Optional Agents Alternative / Optional Roles Alternative / Optional Capabilities Agent also accomplish their goals by communicating with other agents; thus, it is common that inserting new capabilities affects other agents Believes Goals Plans

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio Related Work Josh Dehlinger and Robyn R. Lutz –A Product-Line Requirements Approach to Safe Reuse in Multi- Agent Systems Extensible agent-oriented requirements specification template for distributed systems that supports safe reuse –Software Product Line Approach –Dynamically changing configurations of agents can be captured and reused for future similar systems Consistency with the Gaia methodology Requirements area documented in two phases –Role Schema –Role Variation Point Schema

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio Related Work Joaquin Pena et al –Designing and managing evolving systems using a MAS product line approach Evolving system: multiple versions of the same system –Extension of MaCMAS

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio Case Studies

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio ExpertCommittee (EC) Conference Management System Typical web-based application Functionalities to support the complete process of the management of conferences and workshops –Paper submission –Reviewing processes Examples –EasyChair ( –JEMS (

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio EC Feature Model

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio EC Architecture Chair Actions BaseAction Database Author ServiceImpl ConferenceDAO Hibernate PaperDAO Hibernate Author Actions Deadline Agent GUI Layer Chair ServiceImpl Data Layer Business Layer Chair Role Coordinator Role Author Role Committee Member Role Observable Observer User Data Agent > Observable Service User Agents Environment Agent Task Agent TaskAction Task ServiceImp l TaskDAO Hibernate Notifier Agent SMSMAIL … Reviewer Actions Reviewer ServiceImpl Reviewer Role

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio EC Configuration File

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio OLIS OLIS (OnLine Intelligent Services) –Software product line of web-based systems –Services (mandatory or optional) User Management Calendar Events Announcement Weather –Handles different event types Generic Academic Travel –Addition of Autonomous behavior to Provide Intelligent Services

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio OLIS Feature Model Feature Dependencies

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio OLIS Architecture

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio OLIS Configuration struts.xml applicationContext.xml

MAS-PL Research Work in LES Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio

Domain Engineering Process for MAS-PLs Definition of a domain engineering process for developing MAS-PLs –Detailing its activities and their respective artifacts Notations to model and document agent variability Models to capture agent features traceability Modeling agent features independently –Incorporation of agents into existing systems designed with other technologies with a low impact Design and implementation guidelines to help on the development of MAS-PL

Domain Engineering Process for MAS-PLs Key characteristics –Feature-oriented –Systematic –Incorporation of notations and activities of existing SPL and MAS approaches Process Structure –Structured according to SPEM –Three main levels Phases Activities Tasks

Domain Engineering Process for MAS-PLs Future work includes –Dealing with Fine-grained Features –Use of Aspect-oriented Analysis and Design Approaches –Experimental Studies to Evaluate our Process –Framework for Integrating Web-applications and Software Agents –Tool Support

Empirical Study Evolving MAS-PL: An Empirical Study –Motivation Increase several approaches of SPL –MAS growing in size and complexity Evolution Scenarios of MAS Combining OO and OA –Problem Definition MAS concerns may not no very well separated by existing OO abstractions Evolution requirements of product line Construction of reusable and maintainable large MAS

Empirical Study Problem –There are recent research and empirical studies exploring the use of AOP to modularize features –However, none of them analyzes the impact of adding agency features in evolution scenarios of a MAS-PL. –How to deal with the MAS-PL evolution? Implementation of variability mechanisms: –Conditional Compilation –Configuration Files –Aspect-Oriented Programming (AOP)

Empirical Study We compared two different versions of the Expert Committee MAS-PL implemented using the following technologies: –(i) JADE with conditional compilation using the Java language –(ii) JADE and AOP using the AspectJ language. OLIS MAS-PL –(i) JADE platform and Spring configuration files; –(ii) Jadex platform and Spring configuration files; –(iii) JADE and AOP with the AspectJ language

SPL Approach to Support Self-Adaptation in MAS Autonomic computing –Ability to manage themselves and dynamically adapt to changes in the environment Challenge –How to provides non intrusive and expected evolutions in an automatic and autonomic way? Proposed Solution –Variability management approach based on SPL –Feature model + multi-level models = Autonomic Feature Reconfiguration Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio

Feature Model Represent variability from the SPL architecture –Feature model models dependencies between variable features by means of constraints –Specify valid and invalid feature combinations. Feature Model reasoning techniques allow us –the number of products available; –filter some configuration give a context constraint –Valid and the optimum configuration give a context constraint Modeling as Mata-Level Features Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio

Multi-Level Models Classes, Aspectos... JADE Model Files Feature Model

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio Product Derivation in ASPL Adaptation Points –Data Adaptation –Intra-Agent Adaptation –Resource Adaptation –Agent-level Adaptation Feature Derivation - constructing a feature from the set of assets specified or implemented for a SPL

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio Feature Derivation - Manual Runtime Environment 1 :: Developer select a new Feature 5 :: Delivery feature interface Feature 3 :: Derivate 4 :: Deployment 6 :: Bind Feature Model (FMP) Feature Model (FMP) GenArch ML Models +

Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio Feature Derivation – Autonomic Runtime Environment 1 :: Obtain Feature Metadata Feature 4 :: Derivate 5 :: Deployment 7 :: Bind 2 :: Request a New Feature Feature Model (FMP) Feature Model (FMP) GenArch ML Models +

References NUNES, I. O.; NUNES, C.; KULESZA, U.; LUCENA, C. Developing and Evolving a Multi-Agent System Product Line: An Exploratory Study. In: 9th International Workshop on Agent-Oriented Software Engineering (AOSE08), 2008, Estoril. p NUNES, I. O.; KULESZA, U.; NUNES, C.; LUCENA, C. Documenting and Modeling Multi-agent Systems Product Lines. In: International Conference on Software Engineering and Knowledge Engineering (SEKE08), 2008, San Francisco. p NUNES, C.; KULESZA, U..; SANT'ANNA, C.; NUNES, I.; LUCENA, C. On the Modularity Assessment of Aspect-Oriented Multi-Agent Systems Product Lines: a Quantitative Study. In Simpósio Brasileiro de Componentes, Arquiteturas e Reutilização de Software (SBCARS 2008), p

References NUNES, I. O.; KULESZA, U.; NUNES, C.; CIRILO E.; LUCENA, C. Extending Web-Based Applications to Incorporate Autonomous Behavior. In: WebMedia, 2008, Vila Velha. NUNES, I. O.; KULESZA, U.; NUNES, C.; CIRILO E.; LUCENA, C. Extending PASSI to Model Multiagent Systems Product Lines. Poster, Symposium on Applied Computing (SAC09), 2008, Honolulu. CIRILO E.; NUNES, I. O.; KULESZA, U.; NUNES, C.; LUCENA, C. Automatic Product Derivation of Multi-agent Systems Product Lines. Poster, Symposium on Applied Computing (SAC09), 2008, Honolulu.

References NUNES, I. O.; NUNES, C.; KULESZA, U.; LUCENA, C. Developing and Evolving a Multi-Agent System Product Line: An Exploratory Study. In: Agent-Oriented Software Engineering IX: 9th International Workshop, AOSE Lecture Notes in Computer Science, Springer-Verlag, To appear. NUNES, C.; KULESZA, U.; SANT'ANNA, C.; NUNES, I.; GARCIA, A.; LUCENA, C. Comparing stability of implementation techniques for multi-agent system product lines (to appear). In: 13 th European Conference on Software Maintenance and Reengineering (CSMR 2009), Kaiserslautern, Germany, 2009 NUNES, I. O.; KULESZA, U.; NUNES, C.; CIRILO E.; LUCENA, C. A domain analysis approach for multi-agent systems product lines In 11th International Conference on Enterprise Information Systems (ICEIS 2009), Milan, Italy, To appear.

References NUNES, I. O.; KULESZA, U.; NUNES, C.; LUCENA, C. A Domain Engineering Process for Developing Multi-agent Systems Product Lines. In: 8th Autonomous Agents and Multiagent Systems (AAMAS09), 2009, Budapest. To appear. NUNES, I. O.; LUCENA, C.; KULESZA, U.; NUNES, C. On the Development of Multi-Agent System Product Lines: A Domain Engineering Process. In: 10th International Workshop on Agent- Oriented Software Engineering (AOSE09), 2009, Budapest. To Appear.

Questions? Camila Nunes Elder Cirilo Ingrid Nunes