97f3d01b36a06caeb624a746c0ee617b.ppt
- Количество слайдов: 47
Multi-agent Systems Product Lines Camila Nunes, Elder Cirilo, Ingrid Nunes {cnunes, ecirilo, ioliveira}@inf. puc-rio. br
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 pertain to Market Strategy / Application Domain is satisfied by share an Architecture Products used to structure are built from Components Product Lines: Take economic advantage of commonality Bound variability Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio
Background Core Asset (Components) to product set of related products Architecture Production Plans Scope Definition © LES/PUC-Rio
Background 19/03/2018 Elder © LES/PUC-Rio 9
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 Domain Analysis Product 1 Architecture Product 2 Project SPL Proactive Approach Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio Product 3
SPL Development Approaches Product 1 Product 2 Product 3 SPL Extractive Approach Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio Product 3
SPL Development Approaches Product 1 React Product 2 SPL Iterate Product 2 Product 3 + Product 3 SPL Requirements for a new product instance, Product 4 Reactive Approach Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio
SPL and MAS-PL Approaches Methodology Domain Analysis Domain Design FORM Feature diagram with composition rules Subsystem, Process Model and Module Models [Pohl 2005] Framework Reusable, textual and Reference architecture, refined model-based requirements, variability model, mapping from variability model 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 Mac. MAS 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 http: //www. inf. puc-rio. br/~ioliveira/maspl/ 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 Believes Goals Plans Agent also accomplish their goals by communicating with other agents; thus, it is common that inserting new capabilities affects other agents 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 Ma. CMAS Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio
Case Studies Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio
Expert. Committee (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 – Easy. Chair (http: //www. easychair. org/) – JEMS (https: //submissoes. sbc. org. br/) 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 Role Base. Action Author Role Coordinator Role Chair Actions Author Actions Reviewer Actions Task. Action Observer Reviewer Role Committee Member Role GUI Layer Observable Service Chair Service. Impl Author Service. Impl Reviewer Service. Impl Environment Agent User Data Agent <
EC Configuration File Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio
OLIS • OLIS (On. Line 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 application. Context. xml Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio
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 • Process Structure – Feature-oriented – Structured according to SPEM – Systematic – Three main levels – Incorporation of notations and activities of existing SPL and MAS approaches • 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 Aspect. J language. • OLIS MAS-PL – (i) JADE platform and Spring configuration files; – (ii) Jadex platform and Spring configuration files; – (iii) JADE and AOP with the Aspect. J 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 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 Feature Model JADE Model Classes, Aspectos. . . Files 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 Gen. Arch Feature Model (FMP) + 5 : : Delivery feature interface ML Models 3 : : Derivate 6 : : Bind Feature 4 : : Deployment Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio
Feature Derivation – Autonomic Runtime Environment Gen. Arch 2 : : Request a New Feature Model (FMP) + ML Models 4 : : Derivate 7 : : Bind 1 : : Obtain Feature Metadata Feature 5 : : Deployment Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio
References • NUNES, I. O. ; NUNES, C. ; KULESZA, U. ; LUCENA, C. Developing and Evolving a Multi-Agent System Product Line: An Exploratory Study. In: 9 th International Workshop on Agent-Oriented Software Engineering (AOSE’ 08), 2008, Estoril. p. 177 -188. • 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 (SEKE’ 08), 2008, San Francisco. p. 745 -751. • 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), 2008. p. 122 -135
References • NUNES, I. O. ; KULESZA, U. ; NUNES, C. ; CIRILO E. ; LUCENA, C. Extending Web-Based Applications to Incorporate Autonomous Behavior. In: Web. Media, 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 (SAC’ 09), 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 (SAC’ 09), 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: 9 th International Workshop, AOSE 2008. Lecture Notes in Computer Science, Springer-Verlag, 2009. 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 11 th International Conference on Enterprise Information Systems (ICEIS 2009), Milan, Italy, 2009. To appear.
References • NUNES, I. O. ; KULESZA, U. ; NUNES, C. ; LUCENA, C. A Domain Engineering Process for Developing Multi-agent Systems Product Lines. In: 8 th Autonomous Agents and Multiagent Systems (AAMAS’ 09), 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: 10 th International Workshop on Agent. Oriented Software Engineering (AOSE’ 09), 2009, Budapest. To Appear.
Questions? Camila Nunes cnunes@inf. puc-rio. br Elder Cirilo ecirilo@inf. puc-rio. br Ingrid Nunes ioliveira@inf. puc-rio. br