160 likes | 343 Views
Autonomic Software Product Lines (ASPL). Nadeem Abbas , Jesper Andersson , Welf Löwe Linnaeus University, Sweden Monday, August 23, 2010 1st International Workshop on Variability in Software Product Line Architectures, ECSA 2010. Introduction. Universal Business Goals High Quality
E N D
Autonomic Software Product Lines (ASPL) NadeemAbbas, JesperAndersson, WelfLöwe Linnaeus University, Sweden Monday, August 23, 2010 1st International Workshop on Variability in Software Product Line Architectures, ECSA 2010.
Introduction • Universal Business Goals • High Quality • Time-to-Market • Low Cost • Strategic Reuse of Resources • Requirements • Domain Knowledge • Design • Code/Components • Product Line Engineering • Software Product Lines
Dynamic SPLs • Changes & Product Line Evolutions • Dynamic Changes • Goals • Requirements • Context/Environment • Components • New Products • Dynamic SPLs
Software Variability • variability is the ability of a software to be efficiently extended, changed, or configured for use in a specific context • We abstract variability as: • Variants and • Variation Points • Variant Selection/Binding depends on system goals and context Fig 1. Variability: Variants and Variation Points
Q.1: Stakeholders? • Software Producers/Manufacturers • Software Architects • Developers • Users
Q. 2: Architectural Models? • Component and Connector Model • Goal Model • Environment Model
Q. 3 Variability and Views? • “Separation of Concerns” • Variability View on Component-Connector Model
Variability Management - MAPE-K • To manage variability in a product line, product line components are modeled as an Autonomic Elements. • Autonomic elements implement a MAPE-K control loop Fig 2. Autonomic Element
Autonomic SPLs in Practice • There are 3-Key steps to put Autonomic SPLs in action: • System Design • Offline Training • Dynamic Product Instantiation
Offline Training • Training data provides artificial call context. • Each variant is invoked against with all specific context attributes. • Variant’s performance is analyzed against the given goals • Best-fit variants are tagged in the Dispatch Table. Fig 3. Offline Training with AEs
Product Instantiation - Online Learning • Dynamic Product composition by selecting best-fit variants from the Dispatch Table, based on the system context and goals. • Online learning addresses issues of context and core asset evolution Fig 4. Autonomic SPL Instance
Performance Evaluation Fig 5. AutonomicMatrix Multiplication Product Line vs Simple Multiplication Product
Performance Evaluation Fig 6. Self-Optimization of the SPL with On-line Learning
Conclusion • Promising results with short term variability management in SPLs. • Autonomic Elements powered with online learning results in an effective “Variability Management” mechanism in Dynamic Software Product Lines. • Combining Autonomic Computing and SPL research is useful
Future Work • More on Evaluation/Testing, particularly in Open World • Incorporate other learning strategies • ASPL against other classic SPL & DSPL approaches