ABSTRACT
Model management frameworks support a wide array of analyses, transformations, and workflows, but lack native support for handling product lines of models. Yet the ubiquity of domains that heavily use model-driven techniques and are built using product lines, such as automotive, require adaptation, or lifting, of model management frameworks to be variability-aware. Lifting might introduce new implementation and validation costs, especially in safety-critical contexts. To facilitate the implementation and validation of variability-aware model management workflows, this paper provides a novel taxonomy of lifting methods. We compare the lifting methods in their capacity to reuse existing components and validation results. We then define a general framework for lifting and validating model management workflows, and report on an experience of lifting and validating modeling tasks and workflows in an existing Eclipse-based model management framework.
- M. Brambilla, J. Cabot, and M. Wimmer, "Model-driven software engineering in practice," Synthesis lectures on software engineering, vol. 3, no. 1, pp. 1--207, 2017.Google Scholar
- ISO, "ISO26262: Road vehicles - Functional safety," 2011.Google Scholar
- T. Thüm, S. Apel, C. Kästner, I. Schaefer, and G. Saake, "A classification and survey of analysis strategies for software product lines," ACM Computing Surveys (CSUR), vol. 47, no. 1, pp. 1--45, 2014.Google ScholarDigital Library
- C. Kästner, S. Apel, T. Thüm, and G. Saake, "Type checking annotation-based product lines," ACM Transactions on Software Engineering and Methodology (TOSEM), vol. 21, no. 3, pp. 1--39, 2012.Google ScholarDigital Library
- C. Brabrand, M. Ribeiro, T. Tolêdo, and P. Borba, "Intraprocedural dataflow analysis for software product lines," in Proceedings of the 11th annual international conference on Aspect-oriented Software Development, 2012, pp. 13--24.Google Scholar
- A. Classen, M. Cordy, P. Heymans, A. Legay, and P.-Y. Schobbens, "Model checking software product lines with snip," International Journal on Software Tools for Technology Transfer, vol. 14, pp. 589--612, 2012.Google ScholarDigital Library
- R. Shahin, S. Kokaly, and M. Chechik, "Towards certified analysis of software product line safety cases," in Computer Safety, Reliability, and Security: 40th International Conference, SAFECOMP 2021, York, UK, September 8-10, 2021, Proceedings 40. Springer, 2021, pp. 130--145.Google Scholar
- R. Shahin, M. Chechik, and R. Salay, "Lifting datalog-based analyses to software product lines," in Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, 2019, pp. 39--49.Google Scholar
- R. Salay, M. Famelis, J. Rubin, A. Di Sandro, and M. Chechik, "Lifting model transformations to product lines," in Proceedings of the 36th International Conference on Software Engineering, 2014, pp. 117--128.Google Scholar
- R. Shahin and M. Chechik, "Automatic and efficient variability-aware lifting of functional programs," Proceedings of the ACM on Programming Languages, vol. 4, no. OOPSLA, pp. 1--27, 2020.Google ScholarDigital Library
- X. Wu, C. Zhu, and Y. Li, "Diffbase: A differential factbase for effective software evolution management," in Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, 2021, pp. 503--515.Google Scholar
- D. Clarke and J. Proença, "Towards a theory of views for feature models," in Proceedings of the First Intl. Workshop on Formal Methods in Software Product Line Engineering (FMSPLE 2010). Lancaster University, 2010, pp. 91--98.Google Scholar
- J. Bézivin, F. Jouault, and D. Touzet, "An introduction to the atlas model management architecture," Rapport de recherche, vol. 5, pp. 10--49, 2005.Google Scholar
- D. S. Kolovos, R. F. Paige, and F. A. Polack, "The epsilon transformation language," in Theory and Practice of Model Transformations: First International Conference, ICMT 2008, Zürich, Switzerland, July 1-2, 2008 Proceedings 1. Springer, 2008, pp. 46--60.Google Scholar
- A. D. Sandro, R. Salay, M. Famelis, S. Kokaly, and M. Chechik, "MMINT: A graphical tool for interactive model management," in Proceedings of the MoDELS 2015 Demo and Poster Session co-located with ACM/IEEE 18th International Conference on Model Driven Engineering Languages and Systems (MoDELS 2015), Ottawa, Canada, September 27, 2015, ser. CEUR Workshop Proceedings, vol. 1554. CEUR-WS.org, 2015, pp. 16--19. [Online]. Available: https://ceur-ws.org/Vol-1554/PD_MoDELS_2015_paper_6.pdfGoogle Scholar
- T. Mens and P. Van Gorp, "A taxonomy of model transformation," Electronic notes in theoretical computer science, vol. 152, pp. 125--142, 2006.Google Scholar
- B. Sanchez, D. S. Kolovos, and R. Paige, "Modelflow: Towards reactive model management workflows," in Proceedings of the 17th ACM SIGPLAN International Workshop on Domain-Specific Modeling, 2019, pp. 30--39.Google Scholar
- C. Alvarez and R. Casallas, "Mtc flow: A tool to design, develop and deploy model transformation chains," in Proceedings of the workshop on ACadeMics Tooling with Eclipse, 2013, pp. 1--9.Google Scholar
- A. Di Sandro, R. Shahin, and M. Chechik, "Adding product-line capabilities to your favourite modeling language," in Proceedings of the 17th International Working Conference on Variability Modelling of Software-Intensive Systems (VaMoS'23), 2023, pp. 3--12.Google Scholar
- K. Czarnecki and M. Antkiewicz, "Mapping Features to Models: A Template Approach Based on Superimposed Variants," in Proc. of GPCE'05, 2005, pp. 422--437.Google Scholar
- K. Czarnecki and K. Pietroszek, "Verifying feature-based model templates against well-formedness ocl constraints," in Proceedings of the 5th international conference on Generative programming and component engineering, 2006, pp. 211--220.Google Scholar
- F. Schwägerl and B. Westfechtel, "Integrated revision and variation control for evolving model-driven software product lines," Software and Systems Modeling, vol. 18, pp. 3373--3420, 2019.Google ScholarDigital Library
- J. Liebig, A. Von Rhein, C. Kästner, S. Apel, J. Dörre, and C. Lengauer, "Scalable analysis of variable software," in Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering, 2013, pp. 81--91.Google Scholar
- S. El-Sharkawy, A. Krafczyk, and K. Schmid, "Fast static analyses of software product lines: An example with more than 42,000 metrics," in Proceedings of the 14th International Working Conference on Variability Modelling of Software-Intensive Systems, 2020, pp. 1--9.Google Scholar
- C. Kästner, K. Ostermann, and S. Erdweg, "A variability-aware module system," in Proceedings of the ACM international conference on Object oriented programming systems languages and applications, 2012, pp. 773--792.Google Scholar
- P. Gazzillo and R. Grimm, "Superc: Parsing all of c by taming the preprocessor," ACM SIGPLAN Notices, vol. 47, no. 6, pp. 323--334, 2012.Google ScholarDigital Library
- A. V. Rhein, J. Liebig, A. Janker, C. Kästner, and S. Apel, "Variability-aware static analysis at scale: An empirical study," ACM Transactions on Software Engineering and Methodology (TOSEM), vol. 27, no. 4, pp. 1--33, 2018.Google ScholarDigital Library
- F. Angerer, H. Prähofer, D. Lettner, A. Grimmer, and P. Grünbacher, "Identifying inactive code in product lines with configuration-aware system dependence graphs," in Proceedings of the 18th International Software Product Line Conference-Volume 1, 2014, pp. 52--61.Google Scholar
- S. Apel, S. Kolesnikov, J. Liebig, C. Kästner, M. Kuhlemann, and T. Leich, "Access control in feature-oriented programming," Science of Computer Programming, vol. 77, no. 3, pp. 174--187, 2012.Google ScholarDigital Library
- S. Apel, W. Scholz, C. Lengauer, and C. Kästner, "Language-independent reference checking in software product lines," in Proceedings of the 2nd International Workshop on Feature-Oriented Software Development, 2010, pp. 65--71.Google Scholar
- S. Apel, H. Speidel, P. Wendler, A. Von Rhein, and D. Beyer, "Detection of feature interactions using feature-aware verification," in 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011). IEEE, 2011, pp. 372--375.Google Scholar
- A. Classen, M. Cordy, P. Heymans, A. Legay, and P.-Y. Schobbens, "Formal semantics, modular specification, and symbolic verification of product-line behaviour," Science of Computer Programming, vol. 80, pp. 416--439, 2014.Google ScholarDigital Library
- M. Cordy, A. Classen, P. Heymans, P.-Y. Schobbens, and A. Legay, "Provelines: a product line of verifiers for software product lines," in Proceedings of the 17th International Software Product Line Conference co-located workshops, 2013, pp. 141--146.Google Scholar
- C.-P. Wong, J. Meinicke, L. Lazarek, and C. Kästner, "Faster variational execution with transparent bytecode transformation," Proceedings of the ACM on Programming Languages, vol. 2, no. OOPSLA, pp. 1--30, 2018.Google ScholarDigital Library
- A. Lanna, T. Castro, V. Alves, G. Rodrigues, P.-Y. Schobbens, and S. Apel, "Feature-family-based reliability analysis of software product lines," Information and Software Technology, vol. 94, pp. 59--81, 2018.Google ScholarDigital Library
- M. H. ter Beek, A. Fantechi, S. Gnesi, and F. Mazzanti, "Modelling and analysing variability in product families: model checking of modal transition systems with variability constraints," Journal of Logical and Algebraic Methods in Programming, vol. 85, no. 2, pp. 287--315, 2016.Google ScholarCross Ref
- D. Romero Organvidez, J. Á. Galindo Duarte, J. M. Horcas Aguilera, and D. F. Benavides Cuevas, "Variability-aware data migration tool," in SPLC 2022: 26th ACM International Systems and Software Product Line Conference (2022), pp. 78--81. ACM: Association for Computing Machinery, 2022.Google Scholar
- L. Gerling and K. Schmid, "Variability-aware semantic slicing using code property graphs," in Proceedings of the 23rd International Systems and Software Product Line Conference-Volume A, 2019, pp. 65--71.Google Scholar
- J.Kim, D.Batory, and D. Dig, "Refactoring java software product lines," in Proceedings of the 21st International Systems and Software Product Line Conference-Volume A, 2017, pp. 59--68.Google Scholar
- P. D. Schubert, P. Gazzillo, Z. Patterson, J. Braha, F. Schiebel, B. Hermann, S. Wei, and E. Bodden, "Static data-flow analysis for software product lines in c: Revoking the preprocessor's special role," Automated Software Engineering, vol. 29, no. 1, p. 35, 2022.Google ScholarDigital Library
- K. Lauenroth, K. Pohl, and S. Toehning, "Model checking of domain artifacts in product line engineering," in 2009 IEEE/ACM International Conference on Automated Software Engineering. IEEE, 2009, pp. 269--280.Google Scholar
- A. S. Dimovski, S. Apel, and A. Legay, "Several lifted abstract domains for static analysis of numerical program families," Science of Computer Programming, vol. 213, p. 102725, 2022.Google ScholarDigital Library
- H. V. Nguyen, C. Kästner, and T. N. Nguyen, "Exploring variability-aware execution for testing plugin-based web applications," in Proceedings of the 36th International Conference on Software Engineering, 2014, pp. 907--918.Google Scholar
- C. Kästner, A. Von Rhein, S. Erdweg, J. Pusch, S. Apel, T. Rendel, and K. Ostermann, "Toward variability-aware testing," in Proceedings of the 4th International Workshop on Feature-Oriented Software Development, 2012, pp. 1--8.Google Scholar
- J. M. Young, E. Walkingshaw, and T. Thüm, "Variational satisfiability solving," in Proceedings of the 24th ACM Conference on Systems and Software Product Line: Volume A-Volume A, 2020, pp. 1--12.Google Scholar
- C. H. P. Kim, S. Khurshid, and D. Batory, "Shared execution for efficiently testing product lines," in 2012 IEEE 23rd International Symposium on Software Reliability Engineering. IEEE, 2012, pp. 221--230.Google Scholar
- T. Thüm, I. Schaefer, S. Apel, and M. Hentschel, "Family-based deductive verification of software product lines," in Proceedings of the 11th International Conference on Generative Programming and Component Engineering, 2012, pp. 11--20.Google Scholar
- C. H. P. Kim, D. Marinov, S. Khurshid, D. Batory, S. Souto, P. Barros, and M. d'Amorim, "Splat: Lightweight dynamic analysis for reducing combinatorics in testing configurable systems," in Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering, 2013, pp. 257--267.Google Scholar
- J. Meinicke, "Varexj: a variability-aware interpreter for java applications," Master's thesis, University of Magdeburg, 2014.Google Scholar
- C. Ghezzi and A. M. Sharifloo, "Model-based verification of quantitative nonfunctional properties for software product lines," Information and Software Technology, vol. 55, no. 3, pp. 508--524, 2013.Google ScholarDigital Library
- S. Chen and M. Erwig, "Type-based parametric analysis of program families," in Proceedings of the 19th ACM SIGPLAN international conference on Functional programming, 2014, pp. 39--51.Google Scholar
- S. Peldszus, D. Strüber, and J. Jürjens, "Model-based security analysis of feature-oriented software product lines," in Proceedings of the 17th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, 2018, pp. 93--106.Google Scholar
- T. ThÜm, "A machine-checked proof for a product-line-aware type system," Master's thesis, University of Magdeburg, 2010.Google Scholar
- S. Segura, D. Benavides, A. Ruiz-Cortés, and P. Trinidad, "Automated merging of feature models using graph transformations," in International Summer School on Generative and Transformational Techniques in Software Engineering. Springer, 2007, pp. 489--505.Google Scholar
- T. Arendt, E. Biermann, S. Jurack, C. Krause, and G. Taentzer, "Henshin: Advanced concepts and tools for in-place EMF model transformations," in Model Driven Engineering Languages and Systems - 13th International Conference, MODELS 2010, Oslo, Norway, October 3-8, 2010, Proceedings, Part I, ser. Lecture Notes in Computer Science, vol. 6394. Springer, 2010, pp. 121--135. [Online]. Available: https://doi.org/10.1007/978-3-642-16145-2_9Google ScholarCross Ref
- D. Varró, G. Bergmann, Á. Hegedüs, Á. Horváth, I. Ráth, and Z. Ujhelyi, "Road to a Reactive and Incremental Model Transformation Platform: Three Generations of the VIATRA Framework," Software and System Modeling, vol. 15, no. 3, pp. 609--629, 2016. [Online]. Available: https://doi.org/10.1007/s10270-016-0530-4Google ScholarDigital Library
- G. Brunet, M. Chechik, S. Easterbrook, S. Nejati, N. Niu, and M. Sabetzadeh, "A Manifesto for Model Merging," in Proc. of the 2006 International Workshop on Global Integrated Model Management (GaMMa '06), 2006, pp. 5--12.Google Scholar
- M. Chechik, S. Nejati, and M. Sabetzadeh, "A relationship-based approach to model integration," Innovations in Systems and Software Engineering, vol. 8, pp. 3--18, 2012.Google ScholarDigital Library
- A. Von Rhein, S. Apel, C.Kästner, T. Thüm, and I. Schaefer, "The pla model: on the combination of product-line analyses," in Proceedings of the Seventh International Workshop on Variability Modelling of Software-intensive Systems, 2013, pp. 1--8.Google Scholar
- T. Castro, L. Teixeira, V. Alves, S. Apel, M. Cordy, and R. Gheyi, "A Formal Framework of Software Product Line Analyses," ACM Trans. Softw. Eng. Methodol., vol. 30, no. 3, apr 2021. [Online]. Available: https://doi.org/10.1145/3442389Google ScholarDigital Library
- R. Shahin, "Lifting Product Line Analyses," Ph.D. dissertation, University of Toronto, 2021.Google Scholar
- J.-M. Jézéquel, "Model-driven engineering for software product lines," International Scholarly Research Notices, vol. 2012, 2012.Google Scholar
- J. Rubin and M. Chechik, "Combining Related Products into Product Lines," in Proc. of FASE'12, ser. LNCS, 2012, vol. 7212, pp. 285--300.Google Scholar
- J. Rubin, K. Czarnecki, and M. Chechik, "Cloned product variants: from ad-hoc to managed software product lines," Int. J. Softw. Tools Technol. Transf., vol. 17, no. 5, pp. 627--646, 2015.Google ScholarDigital Library
- M. Lochau, S. Oster, U. Goltz, and A. Schürr, "Model-based pairwise testing for feature interaction coverage in software product line engineering," Software Quality Journal, vol. 20, pp. 567--604, 2012.Google ScholarDigital Library
- P. Heisig, J.-P. Steghöfer, C. Brink, and S. Sachweh, "A generic traceability meta-model for enabling unified end-to-end traceability in software product lines," in Proceedings of the 34th ACM/SIGAPP Symposium on Applied Computing, 2019, pp. 2344--2353.Google Scholar
- F. Heidenreich, J. Kopcsek, and C. Wende, "FeatureMapper: Mapping Features to Models," in Companion of the 30th International Conference on Software Engineering, ser. ICSE Companion '08. New York, NY, USA: Association for Computing Machinery, 2008, p. 943--944. [Online]. Available: https://doi.org/10.1145/1370175.1370199Google ScholarDigital Library
- G. Kahraman and L. Cleophas, "Automated derivation of variants in manufacturing systems design," in Proceedings of the 25th ACM International Systems and Software Product Line Conference-Volume B, 2021, pp. 45--50.Google Scholar
Recommendations
Reusing Platform-specific Models in Model-Driven Architecture for Software Product Lines
MODELSWARD 2018: Proceedings of the 6th International Conference on Model-Driven Engineering and Software DevelopmentOne of the main concerns of software engineering is the automation of reuse in order to produce high quality applications in a faster and cheaper manner. Model-Driven Software Product Line Engineering is an approach providing solutions to systematically ...
Adding Product-Line Capabilities to Your Favourite Modeling Language
VaMoS '23: Proceedings of the 17th International Working Conference on Variability Modelling of Software-Intensive SystemsSoftware product lines are commonly adopted in industry to manage the development of complex families of software systems. Software engineering activities use models at their core, and extending a modeling language to support product lines is an ...
Network Analysis of Scientific Workflows: A Gateway to Reuse
Online workflow repositories let scientists share successful experimental routines and compose new workflows from best practices and existing service components. The authors share the results of a social- network analysis of the myExperiment workflow ...
Comments