We think you have liked this presentation. If you wish to download it, please recommend it to your friends in any social system. Share buttons are a little bit lower. Thank you!
Presentation is loading. Please wait.
Published byAshton Cullen
Modified over 2 years ago
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 –ExpertCommittee –OLIS GenArch Current Work
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 customisation. 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
Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio SPL Development Approaches 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 Background 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 Background 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 (http://www.easychair.org/)http://www.easychair.org/ –JEMS (https://submissoes.sbc.org.br/)https://submissoes.sbc.org.br/
Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio EC Versions VersionDescription Version 1 Typical web-based application (MAS-PL core) Mandatory features that support the conference management process Version 2 Release 1: Addition of the Reviewer role and the functionalities related to it: accept/reject review and review paper. Release 2: Addition of automatic suggestion of conferences to the authors. Release 3: Addition of message notifications to the system users through or SMS (alternative feature). Release 4: Addition of deadline monitoring, to trigger specific actions when they expire. Release 5: Addition of automatic assignment of papers to committee members review them. Release 6: Addition of task management. Version 3Refactoring of Version 2 Improvement of the modularization of some agency features
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
Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio GenArch Model-driven product derivation tool Centered on the definition of three models –Feature model –Implementation model –Configuration model The Approach Motivates –Generation of initial versions of these models based on a set of code annotations –Refinement and adaptation of these initial versions to enable the automatic product derivation
Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio GenArch Purpose of each model –Feature Model Represents variabilities from the SPL architecture –Architecture Implementation Model Offers a visual representation of code artifacts from the SPL architecture –Configuration Model Defines the mapping between features and code artifacts Represents the configuration knowledge from a generative approach
Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio GenArch
Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio Current Work (Ingrid) Method definition –SPL Methodologies extensions Agent variability documentation and tracing –Set of guidelines for including software agents into an existing web system Web-MAS Architectural Pattern MAS Techniques SPL Methodologies Documentation of Agency Features
Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio Current Work (Elder) Spring Model Classes, Aspectos... JADEX Model XML Feature Model «IMPORT br::pucrio::inf::les::genarch::models::instance» «EXTENSION br::pucrio::inf::les::genarch::models::Model» «DEFINE Main FOR Instance» «FILE "User.agent.xml"-» (...) «LET domainModelElement(mas",user",domainModels) AS u» «FOREACH u.capabilities AS c» «c.fragment.content» «FOREACH» «ENDLET» (...) «ENDFILE» «ENDDEFINE» Produtos Multi-level Customization in SPL Derivation
Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio Current Work (Camila) 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 –Proposal Implement and to compare quantitatively and qualitatively (using metrics) MAS-PL implementations using OO and OA Analyze the impact of OO and OA in MAS-PL maintenance scenarios
Camila Nunes, Elder Cirilo e Ingrid Nunes © LES/PUC-Rio References CIRILO, E.; KULESZA, U.; LUCENA, C. Genarch: A Model-Based Product Derivation Tool. In Proceedings of Brazilian Symposium on Software Components, Architectures and Reuse (SBCARS Tools 2007), Campinas – Brazil, CIRILO, E.; KULESZA, U.; COELHO, R.; LUCENA, C.; STAA, A. Integrating Component and Product Lines Technologies. In Proceedings of 10th International Conference on Software Reuse (ICSR 2008), Beijing – China, CIRILO, E.; KULESZA, U.; LUCENA, C. A Product Derivation Tool Base on Model-Driven Techniques and Annotations. Journal of Universal Computer Science, Graz – 2008.
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: 9th International Workshop on Agent-Oriented Software Engineering, 2008, Estoril. 9th International Workshop on Agent- Oriented Software Engineering, 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, 2008, San Francisco. Proceedings of Twentieth International Conference on Software Engineering and Knowledge Engineering, 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, 2008.
Questions? Camila Nunes Elder Cirilo Ingrid Nunes
Multi-agent Systems Product Lines Camila Nunes, Elder Cirilo, Ingrid Nunes
GenArch: Automatic Product Derivation in Multi-agent Systems Product Line Elder Cirilo.
On the Modularity Assessment of Aspect- Oriented Multi-Agent Systems Product Lines: a Quantitative Study Camila Nunes
Software Factory Assembling Applications with Models, Patterns, Frameworks and Tools Anna Liu Senior Architect Advisor Microsoft Australia.
Software Product Line Material based on slides and chapter by Linda M. Northrop, SEI.
Software Product Line Engineering Andrew Burmester SE 4110 Section 2 4/14/11.
Collaborative and Distributed Product Configuration: An Agent-Based Approach Carlos Roberto Marques Junior Elder José Reioli Cirilo.
Software Engineering Principles Principles form the basis of methods, techniques, methodologies and tools Principles form the basis of methods, techniques,
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
Quality Assurance in the Presence of Variability Kim Lauenroth, Andreas Metzger, Klaus Pohl Institute for Computer Science and Business Information Systems.
1 Software Engineering Muhammad Fahad Khan Software Engineering Muhammad Fahad Khan University Of Engineering.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Integration of MBSE and Virtual Engineering for Detailed Design Presented by: Akshay Kande Advisor: Dr. Steven Corns Missouri University of Science & Technology.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Rational Unified Process Fundamentals Module 4: Disciplines II.
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
Java Autonomic Agent Framework with Self-Testing Andrew Diniz da Costa Camila Nunes
Supplement 02CASE Tools1 Supplement 02 - Case Tools And Franchise Colleges By MANSHA NAWAZ.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
Objects and Components. The adaptive organization The competitive environment of businesses continuously changing, and the pace of that change is increasing.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 18 Slide 1 Software Reuse.
Introduction Better Faster Cheaper (pick any two) On-going issue that continues to motivate research in software engineering Applications: –continue to.
Computer Systems & Architecture Lesson Software Product Lines.
Supporting Self-Adaptation in Multi- Agent Systems.
Introduction to Software Engineering 1. Software Engineering Failures – Complexity – Change 2. What is Software Engineering? – Using engineering approaches.
Software Design Refinement Using Design Patterns Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Software Product Lines Krishna Anusha, Eturi. Introduction: A software product line is a set of software systems developed by a company that share a common.
Product Line Architecture. Systems Systems often come in families: basic, regular, professional, enterprise,… Can we share components? Is architecture.
Ch:8 Design Concepts S.W Design should have following quality attribute: –Functionality –Usability –Reliability –Performance –Supportability (extensibility,
Lectures 2 & 3: Software Process Models Neelam Gupta.
Software Product Line Architectures (SPLA) Nipun Shah
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
Metadata Driven Aspect Specification Ricardo Ferreira, Ricardo Raminhos Uninova, Portugal Ana Moreira Universidade Nova de Lisboa, Portugal 7th International.
Framework is l Reusable Code, often domain specific (GUI, Net, Web, etc) l expressed as l a set of classes and l the way objects in those classes collaborate.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Institut Experimentelles Software Engineering Fraunhofer IESE Klaus Schmid Relating Product Line Adoption Mode and Transition Process.
Object-Oriented Application Frameworks Much of the cost and effort stems from the continuous re- discovery and re-invention of core concepts and components.
CLEANROOM SOFTWARE ENGINEERING. Cleanroom Software Engineering Cleanroom Software Engineering Process Lifecycle Process Lifecycle The Processes.
Software Reuse Course: # The Johns-Hopkins University Montgomery County Campus Fall 2000 Lecture # 2 - September 14, 2004.
April 15, 2005Department of Computer Science, BYU Agent-Oriented Software Engineering Muhammed Al-Muhammed Brigham Young University Supported in part by.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
Autonomic Software Product Lines (ASPL) Nadeem Abbas, Jesper Andersson, Welf Löwe Linnaeus University, Sweden Monday, August 23, st International.
Software Reuse. Objectives l To explain the benefits of software reuse and some reuse problems l To discuss several different ways to implement software.
Architecture and Software Product Lines A software architecture represents a significant investment of time and effort, usually by senior talent. So it.
1 Computer Systems & Architecture Lesson 1 1. The Architecture Business Cycle.
E 2 ESQuaReD Software Product Line Testing Part I : Introduction Myra CohenMatthew Dwyer Laboratory for Empirically-based Software Quality Research Department.
Lucian Voinea Visualizing the Evolution of Code The Visual Code Navigator (VCN) Nunspeet,
© 2017 SlidePlayer.com Inc. All rights reserved.