[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/3571788.3571791acmotherconferencesArticle/Chapter ViewAbstractPublication PagesvamosConference Proceedingsconference-collections
research-article

Adding Product-Line Capabilities to Your Favourite Modeling Language

Published: 25 January 2023 Publication History

Abstract

Software 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 expensive task. Moreover, many useful techniques and analyses such as model querying and model refactoring, are defined at the level of individual products. Before they can take advantage of a product line representation, they need to be lifted, i.e., reengineered to handle variability in a product line. Not only is this process non-trivial, it needs to be redone for each modeling language.
In this paper, we propose an Eclipse-based framework, MMINT-PL, for creating and managing annotative product lines of software models in a language-agnostic way. Our framework allows extending any modeling language with product line capabilities, and facilitates lifting of a variety of modeling activities to the product line level. We also demonstrate how to use MMINT-PL to lift the Viatra Query Language.

References

[1]
Thorsten Arendt, Enrico Biermann, Stefan Jurack, Christian Krause, and Gabriele Taentzer. 2010. 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(Lecture Notes in Computer Science, Vol. 6394). Springer, 121–135. https://doi.org/10.1007/978-3-642-16145-2_9
[2]
Thorsten Arendt, Enrico Biermann, Stefan Jurack, Christian Krause, and Gabriele Taentzer. 2010. Henshin: Advanced Concepts and Tools for In-Place EMF Model Transformations. In Proc. of MODELS’10 (Oslo, Norway). Springer-Verlag, Berlin, Heidelberg, 121–135.
[3]
Colin Atkinson, Joachim Bayer, and Dirk Muthig. 2000. Component-Based Product Line Development: The KobrA Approach. Springer US, Boston, MA, 289–309. https://doi.org/10.1007/978-1-4615-4339-8_16
[4]
Marco Autili, Antonia Bertolino, Guglielmo De Angelis, Davide Di Ruscio, and Alessio Di Sandro. 2016. A Tool-Supported Methodology for Validation and Refinement of Early-Stage Domain Models. IEEE Trans. Software Eng. 42, 1 (2016), 2–25. https://doi.org/10.1109/TSE.2015.2449319
[5]
Damir Bilic, Jan Carlson, Daniel Sundmark, Wasif Afzal, and Peter Wallin. 2020. Detecting Inconsistencies in Annotated Product Line Models. In Proceedings of the 24th ACM Conference on Systems and Software Product Line: Volume A - Volume A(Montreal, Quebec, Canada) (SPLC ’20). Association for Computing Machinery, New York, NY, USA, Article 20, 11 pages. https://doi.org/10.1145/3382025.3414969
[6]
Eric Bodden, Társis Tolêdo, Márcio Ribeiro, Claus Brabrand, Paulo Borba, and Mira Mezini. 2013. SPLLIFT: Statically Analyzing Software Product Lines in Minutes Instead of Years. In Proc. of PLDI’13 (Seattle, Washington, USA). ACM, New York, NY, USA, 355–364.
[7]
Thomas Buchmann, Felix Schwägerl, H Störrle, G Botterweck, M Bourdells, D Kolovos, and R Paige. 2012. FAMILE: Tool Support for Evolving Model-driven Product Lines. In Joint Proceedings of co-located Events at the 8th European Conference on Modelling Foundations and Applications, CEUR WS. 59–62.
[8]
A. Capozucca, B.H.C. Cheng, G. Georg, N. Guelfi, P. Istoan, and G. Mussbacher. 2011. Requirements Definition Document For A Software Product Line Of Car Crash Management Systems. In ReMoDD repository, at http://www.cs.colostate.edu/remodd/v1/content/bcms-requirements-definition.
[9]
Thiago Castro, Leopoldo Teixeira, Vander Alves, Sven Apel, Maxime Cordy, and Rohit Gheyi. 2021. A Formal Framework of Software Product Line Analyses. ACM Trans. Softw. Eng. Methodol. 30, 3, Article 34 (apr 2021), 37 pages. https://doi.org/10.1145/3442389
[10]
Andreas Classen, Maxime Cordy, Pierre-Yves Schobbens, Patrick Heymans, Axel Legay, and Jean-Francois Raskin. 2013. Featured Transition Systems: Foundations for Verifying Variability-Intensive Systems and Their Application to LTL Model Checking. IEEE Trans. Softw. Eng. 39, 8 (Aug. 2013), 1069–1089.
[11]
Paul Clements and Linda Northrop. 2001. Software Product Lines: Practices and Patterns. Addison-Wesley Professional.
[12]
Krzysztof Czarnecki and Michal Antkiewicz. 2005. Mapping Features to Models: A Template Approach Based on Superimposed Variants. In Generative Programming and Component Engineering, 4th International Conference, GPCE 2005, Tallinn, Estonia, September 29 - October 1, 2005, Proceedings(Lecture Notes in Computer Science, Vol. 3676). Springer, 422–437. https://doi.org/10.1007/11561347_28
[13]
A. Di Sandro, R. Salay, M. Famelis, S. Kokaly, and M. Chechik. 2015. MMINT: A Graphical Tool for Interactive Model Management. In MoDELS’15. 16–19.
[14]
Michalis Famelis, Naama Ben-David, Alessio Di Sandro, Rick Salay, and Marsha Chechik. 2015. MU-MMINT: An IDE for Model Uncertainty. In 37th IEEE/ACM International Conference on Software Engineering, ICSE 2015, Florence, Italy, May 16-24, 2015, Volume 2. IEEE Computer Society, 697–700. https://doi.org/10.1109/ICSE.2015.226
[15]
Charles Forgy. 1982. Rete: A Fast Algorithm for the Many Patterns/Many Objects Match Problem. Artif. Intell. 19, 1 (1982), 17–37. https://doi.org/10.1016/0004-3702(82)90020-0
[16]
Paul Gazzillo and Robert Grimm. 2012. SuperC: Parsing All of C by Taming the Preprocessor. In Proc. of PLDI’12 (Beijing, China). ACM, New York, NY, USA, 323–334.
[17]
Sandra Greiner and Bernhard Westfechtel. 2021. On Preserving Variability Consistency in Multiple Models. In 15th International Working Conference on Variability Modelling of Software-Intensive Systems (Krems, Austria) (VaMoS’21). Association for Computing Machinery, New York, NY, USA, Article 7, 10 pages. https://doi.org/10.1145/3442391.3442399
[18]
Esther Guerra, Juan de Lara, Marsha Chechik, and Rick Salay. 2022. Property Satisfiability Analysis for Product Lines of Modelling Languages. IEEE Trans. Software Eng. 48, 2 (2022), 397–416. https://doi.org/10.1109/TSE.2020.2989506
[19]
Øystein Haugen, Birger Møller-Pedersen, Jon Oldevik, Gøran K. Olsen, and Andreas Svendsen. 2008. Adding Standardized Variability to Domain Specific Languages. In Software Product Lines, 12th International Conference, SPLC 2008, Limerick, Ireland, September 8-12, 2008, Proceedings. IEEE Computer Society, 139–148. https://doi.org/10.1109/SPLC.2008.25
[20]
Florian Heidenreich, Jan Kopcsek, and Christian Wende. 2008. FeatureMapper: Mapping Features to Models. In Companion of the 30th International Conference on Software Engineering (Leipzig, Germany) (ICSE Companion ’08). Association for Computing Machinery, New York, NY, USA, 943–944. https://doi.org/10.1145/1370175.1370199
[21]
Kyo C Kang, Sholom G Cohen, James A Hess, William E Novak, and A Spencer Peterson. 1990. Feature-oriented domain analysis (FODA) feasibility study. Technical Report. Carnegie-Mellon Univ Pittsburgh Pa Software Engineering Inst.
[22]
Christian Kästner, Sven Apel, Thomas Thüm, and Gunter Saake. 2012. Type Checking Annotation-based Product Lines. ACM Trans. Softw. Eng. Methodol. 21, 3, Article 14 (July 2012), 39 pages.
[23]
Christian Kästner, Paolo G. Giarrusso, Tillmann Rendel, Sebastian Erdweg, Klaus Ostermann, and Thorsten Berger. 2011. Variability-aware Parsing in the Presence of Lexical Macros and Conditional Compilation. In Proc. of OOPSLA’11 (Portland, Oregon, USA). ACM, New York, NY, USA, 805–824.
[24]
Jorg Liebig, Sven Apel, Christian Lengauer, Christian Kästner, and Michael Schulze. 2010. An Analysis of The Variability in Forty Preprocessor-based Software Product Lines. In 2010 ACM/IEEE 32nd International Conference on Software Engineering, Vol. 1. 105–114. https://doi.org/10.1145/1806799.1806819
[25]
Jens Meinicke, Thomas Thüm, Reimar Schröter, Fabian Benduhn, Thomas Leich, and Gunter Saake. 2017. Mastering software variability with FeatureIDE. Springer.
[26]
Brice Morin, Gilles Perrouin, Philippe Lahire, Olivier Barais, Gilles Vanwormhoudt, and Jean-Marc Jézéquel. 2009. Weaving Variability into Domain Metamodels. In Model Driven Engineering Languages and Systems, Andy Schürr and Bran Selic (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 690–705.
[27]
Dennis Reuling, Christopher Pietsch, Udo Kelter, and Timo Kehrer. 2020. Towards Projectional Editing for Model-Based SPLs. In Proceedings of the 14th International Working Conference on Variability Modelling of Software-Intensive Systems(Magdeburg, Germany) (VAMOS ’20). Association for Computing Machinery, New York, NY, USA, Article 25, 10 pages. https://doi.org/10.1145/3377024.3377030
[28]
Julia Rubin and Marsha Chechik. 2012. Combining Related Products into Product Lines. In Proc. of FASE’12. LNCS, Vol. 7212. 285–300.
[29]
Julia Rubin, Krzysztof Czarnecki, and Marsha Chechik. 2015. Cloned product variants: from ad-hoc to managed software product lines. Int. J. Softw. Tools Technol. Transf. 17, 5 (2015), 627–646.
[30]
Rick Salay, Michalis Famelis, Julia Rubin, Alessio Di Sandro, and Marsha Chechik. 2014. Lifting model transformations to product lines. In 36th International Conference on Software Engineering, ICSE ’14, Hyderabad, India - May 31 - June 07, 2014. ACM, 117–128. https://doi.org/10.1145/2568225.2568267
[31]
Ramy Shahin, Murad Akhundov, and Marsha Chechik. 2022. Annotative Software Product Line Analysis Using Variability-aware Datalog. IEEE Transactions on Software Engineering(2022), 1–20. https://doi.org/10.1109/TSE.2022.3175752
[32]
Ramy Shahin and Marsha Chechik. 2020. Automatic and Efficient Variability-Aware Lifting of Functional Programs. Proc. ACM Program. Lang. 4, OOPSLA, Article 157 (Nov. 2020), 27 pages.
[33]
Ramy Shahin and Marsha Chechik. 2020. Variability-Aware Datalog. In Proc. of PADL’20, Ekaterina Komendantskaya and Yanhong Annie Liu (Eds.). Springer International Publishing, 213–221.
[34]
Ramy Shahin, Rob Hackman, Rafael Toledo, Ramesh S, Jo Atlee, and Marsha Chechik. 2021. Applying Declarative Analysis to Software Product Line Models: An Industrial Study. In Proceedings of the ACM/IEEE 24th International Conference on Model Driven Engineering Languages and Systems (MODELS).
[35]
Ramy Shahin, Sahar Kokaly, and Marsha Chechik. 2021. Towards Certified Analysis of Software Product Line Safety Cases. In Computer Safety, Reliability, and Security, Ibrahim Habli, Mark Sujan, and Friedemann Bitsch (Eds.). Springer International Publishing, Cham, 130–145.
[36]
Leandro Flores da Silva and Edson OliveiraJr. 2021. SMartyModeling: An Environment for Engineering UML-Based Software Product Lines. In 15th International Working Conference on Variability Modelling of Software-Intensive Systems (Krems, Austria) (VaMoS’21). Association for Computing Machinery, New York, NY, USA, Article 5, 5 pages. https://doi.org/10.1145/3442391.3442397
[37]
D. Steinberg, F. Budinsky, E. Merks, and M. Paternostro. 2008. EMF: Eclipse Modeling Framework. Pearson Education.
[38]
Thomas Thüm, Sven Apel, Christian Kästner, Ina Schaefer, and Gunter Saake. 2014. A Classification and Survey of Analysis Strategies for Software Product Lines. ACM Comput. Surv. 47, 1, Article 6 (June 2014), 45 pages.
[39]
Pim van den Broek, Galvao Ismenia, and Joost Noppen. [n. d.]. Merging Feature Models. In SPLC’10 Workshops. 83–90.
[40]
Dániel Varró, Gábor Bergmann, Ábel Hegedüs, Ákos Horváth, István Ráth, and Zoltán Ujhelyi. 2016. Road to a Reactive and Incremental Model Transformation Platform: Three Generations of the VIATRA Framework. Software and System Modeling 15, 3 (2016), 609–629. https://doi.org/10.1007/s10270-016-0530-4
[41]
Vladimir Viyović, Mirjam Maksimović, and Branko Perisić. 2014. Sirius: A rapid development of DSM graphical editor. In IEEE 18th International Conference on Intelligent Engineering Systems INES 2014. 233–238. https://doi.org/10.1109/INES.2014.6909375
[42]
Markus Voelter and Iris Groher. 2007. Product Line Implementation using Aspect-Oriented and Model-Driven Software Development. In 11th International Software Product Line Conference (SPLC 2007). 233–242. https://doi.org/10.1109/SPLINE.2007.23

Cited By

View all
  • (2024)From Products to Product Lines: a Model-based MethodologyProceedings of the ACM/IEEE 27th International Conference on Model Driven Engineering Languages and Systems10.1145/3652620.3688220(980-989)Online publication date: 22-Sep-2024
  • (2024)A structural taxonomy for lifted software product line analysesJournal of Systems and Software10.1016/j.jss.2024.112280(112280)Online publication date: Dec-2024
  • (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

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
VaMoS '23: Proceedings of the 17th International Working Conference on Variability Modelling of Software-Intensive Systems
January 2023
101 pages
ISBN:9798400700019
DOI:10.1145/3571788
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 ACM 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: 25 January 2023

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Product lines
  2. modeling languages
  3. queries.
  4. variability

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

VaMoS 2023

Acceptance Rates

Overall Acceptance Rate 66 of 147 submissions, 45%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)33
  • Downloads (Last 6 weeks)1
Reflects downloads up to 12 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2024)From Products to Product Lines: a Model-based MethodologyProceedings of the ACM/IEEE 27th International Conference on Model Driven Engineering Languages and Systems10.1145/3652620.3688220(980-989)Online publication date: 22-Sep-2024
  • (2024)A structural taxonomy for lifted software product line analysesJournal of Systems and Software10.1016/j.jss.2024.112280(112280)Online publication date: Dec-2024
  • (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

HTML Format

View this article in HTML Format.

HTML Format

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media