Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
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 2023 Publication 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.
[2]
ISO, "ISO26262: Road vehicles - Functional safety," 2011.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.pdf
[16]
T. Mens and P. Van Gorp, "A taxonomy of model transformation," Electronic notes in theoretical computer science, vol. 152, pp. 125--142, 2006.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[49]
J. Meinicke, "Varexj: a variability-aware interpreter for java applications," Master's thesis, University of Magdeburg, 2014.
[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.
[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.
[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.
[53]
T. ThÜm, "A machine-checked proof for a product-line-aware type system," Master's thesis, University of Magdeburg, 2010.
[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.
[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_9
[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-4
[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.
[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.
[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.
[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/3442389
[61]
R. Shahin, "Lifting Product Line Analyses," Ph.D. dissertation, University of Toronto, 2021.
[62]
J.-M. Jézéquel, "Model-driven engineering for software product lines," International Scholarly Research Notices, vol. 2012, 2012.
[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.
[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.
[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.
[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.
[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.1370199
[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.

Cited By

View all
  • (2024)PLACIDUS: Engineering Product Lines of Rigorous Assurance CasesIntegrated Formal Methods10.1007/978-3-031-76554-4_6(87-108)Online publication date: 13-Nov-2024

Recommendations

Comments

Information & Contributors

Information

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
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].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 28 August 2023

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Funding Sources

  • NSERC

Conference

SPLC '23
Sponsor:

Acceptance Rates

Overall Acceptance Rate 167 of 463 submissions, 36%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)17
  • Downloads (Last 6 weeks)0
Reflects downloads up to 08 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)PLACIDUS: Engineering Product Lines of Rigorous Assurance CasesIntegrated Formal Methods10.1007/978-3-031-76554-4_6(87-108)Online publication date: 13-Nov-2024

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media