skip to main content
10.1145/3579027.3608983acmconferencesArticle/Chapter ViewAbstractPublication PagessplcConference Proceedingsconference-collections
research-article

Reusing Your Favourite Analysis Framework to Handle Workflows of Product Line Models

Published:28 August 2023Publication History

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.

References

  1. 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 ScholarGoogle Scholar
  2. ISO, "ISO26262: Road vehicles - Functional safety," 2011.Google ScholarGoogle Scholar
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle Scholar
  6. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle Scholar
  8. 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 ScholarGoogle Scholar
  9. 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 ScholarGoogle Scholar
  10. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  11. 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 ScholarGoogle Scholar
  12. 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 ScholarGoogle Scholar
  13. 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 ScholarGoogle Scholar
  14. 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 ScholarGoogle Scholar
  15. 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 ScholarGoogle Scholar
  16. T. Mens and P. Van Gorp, "A taxonomy of model transformation," Electronic notes in theoretical computer science, vol. 152, pp. 125--142, 2006.Google ScholarGoogle Scholar
  17. 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 ScholarGoogle Scholar
  18. 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 ScholarGoogle Scholar
  19. 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 ScholarGoogle Scholar
  20. 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 ScholarGoogle Scholar
  21. 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 ScholarGoogle Scholar
  22. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  23. 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 ScholarGoogle Scholar
  24. 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 ScholarGoogle Scholar
  25. 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 ScholarGoogle Scholar
  26. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  27. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  28. 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 ScholarGoogle Scholar
  29. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  30. 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 ScholarGoogle Scholar
  31. 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 ScholarGoogle Scholar
  32. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  33. 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 ScholarGoogle Scholar
  34. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  35. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  36. 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 ScholarGoogle ScholarCross RefCross Ref
  37. 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 ScholarGoogle Scholar
  38. 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 ScholarGoogle Scholar
  39. 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 ScholarGoogle Scholar
  40. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  41. 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 ScholarGoogle Scholar
  42. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  43. 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 ScholarGoogle Scholar
  44. 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 ScholarGoogle Scholar
  45. 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 ScholarGoogle Scholar
  46. 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 ScholarGoogle Scholar
  47. 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 ScholarGoogle Scholar
  48. 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 ScholarGoogle Scholar
  49. J. Meinicke, "Varexj: a variability-aware interpreter for java applications," Master's thesis, University of Magdeburg, 2014.Google ScholarGoogle Scholar
  50. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  51. 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 ScholarGoogle Scholar
  52. 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 ScholarGoogle Scholar
  53. T. ThÜm, "A machine-checked proof for a product-line-aware type system," Master's thesis, University of Magdeburg, 2010.Google ScholarGoogle Scholar
  54. 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 ScholarGoogle Scholar
  55. 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 ScholarGoogle ScholarCross RefCross Ref
  56. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  57. 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 ScholarGoogle Scholar
  58. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  59. 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 ScholarGoogle Scholar
  60. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  61. R. Shahin, "Lifting Product Line Analyses," Ph.D. dissertation, University of Toronto, 2021.Google ScholarGoogle Scholar
  62. J.-M. Jézéquel, "Model-driven engineering for software product lines," International Scholarly Research Notices, vol. 2012, 2012.Google ScholarGoogle Scholar
  63. 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 ScholarGoogle Scholar
  64. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  65. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  66. 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 ScholarGoogle Scholar
  67. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  68. 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 ScholarGoogle Scholar

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in
  • Published in

    cover image ACM Conferences
    SPLC '23: Proceedings of the 27th ACM International Systems and Software Product Line Conference - Volume A
    August 2023
    305 pages
    ISBN:9798400700910
    DOI:10.1145/3579027

    Copyright © 2023 ACM

    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 28 August 2023

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • research-article
    • Research
    • Refereed limited

    Acceptance Rates

    Overall Acceptance Rate167of463submissions,36%
  • Article Metrics

    • Downloads (Last 12 months)46
    • Downloads (Last 6 weeks)0

    Other Metrics

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader