ADOOPLA - Combining Product-Line- and Product-Level Criteria in Multi-objective Optimization of Product Line Architectures

Product lines of software-intensive systems have a great diversity of features and products, which leads to vast design spaces that are difficult to explore. In addition, finding optimal product line system architectures usually requires a consideration of several quality trade-offs at once, involving both product-level as well as product-line-wide criteria. This challenge cannot be solved manually for all but the smallest problems, and can therefore benefit from automated support. In this paper we propose ADOOPLA, a tool-supported approach for the optimization of product line system architectures. In contrast to existing approaches where product-level approaches only support product-level criteria and product-line oriented approaches only support product-line-wide criteria, our approach integrates criteria from both levels in the optimization of product line architectures. Further, the approach can handle multiple objectives at once, supporting the architect in exploring the multi-dimensional Pareto-front of a given problem. We describe the theoretical principles of the ADOOPLA approach and demonstrate its application to a simplified case study from the automotive domain.

[1]  Graham Kendall,et al.  Search Methodologies: Introductory Tutorials in Optimization and Decision Support Techniques , 2013 .

[2]  Ramin Tavakoli Kolagari,et al.  Compositional Variability - Concepts and Patterns , 2009 .

[3]  Derek Rayside,et al.  Modelling and multi-objective optimization of quality attributes in variability-rich software , 2012, NFPinDSML '12.

[4]  Tobias Wägemann,et al.  Generating Multi-objective Programs from Variant-rich EAST-ADL Product Line Architectures , 2015, GI-Jahrestagung.

[5]  Zibin Zheng,et al.  Configuring Software Product Lines by Combining Many-Objective Optimization and SAT Solvers , 2018, ACM Trans. Softw. Eng. Methodol..

[6]  Gunter Saake,et al.  Analysis Strategies for Software Product Lines , 2012 .

[7]  Klaus Schmid,et al.  Developing long-term stable product line architectures , 2012, SPLC '12.

[8]  Stefan Kugele,et al.  Model-based optimization of automotive E/E-architectures , 2014, CSTVA 2014.

[9]  Klaus Schmid,et al.  Optimal Product Line Architectures for the Automotive Industry , 2018, Modellierung.

[10]  Klaus Pohl,et al.  Variability management in software product line engineering , 2006, ICSE.

[11]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[12]  Yiannis Papadopoulos,et al.  Automatic optimisation of system architectures using EAST-ADL , 2013, J. Syst. Softw..

[13]  Zhibao Mian Model transformation for multi-objective architecture optimisation for dependable systems , 2014 .

[14]  Klaus Schmid,et al.  Exploring Automotive Stakeholder Requirements for Architecture Optimization Support , 2019, 2019 IEEE International Conference on Software Architecture Companion (ICSA-C).

[15]  Yves Le Traon,et al.  Combining Multi-Objective Search and Constraint Solving for Configuring Large Software Product Lines , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.

[16]  Ramin Tavakoli Kolagari,et al.  EAST-ADL: An Architecture Description Language for Automotive Software-Intensive Systems , 2013 .

[17]  Kaisa Miettinen,et al.  IND-NIMBUS for Demanding Interactive Multiobjective Optimization , 2006 .

[18]  Olivier Barais,et al.  A decision-making process for exploring architectural variants in systems engineering , 2016, SPLC.