Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3377024.3377030acmotherconferencesArticle/Chapter ViewAbstractPublication PagesvamosConference Proceedingsconference-collections
research-article

Towards projectional editing for model-based SPLs

Published: 06 February 2020 Publication History

Abstract

Model-based software product lines (MBSPLs) are implemented using various variability mechanisms. These are commonly categorized whether they separate features virtually (e.g., using annotations) or physically (e.g., using modules). Each of these mechanisms comprises advantages and disadvantages regarding MBSPL development, maintenance and analysis. To date, MBSPL developers have to choose upfront which variability mechanism to use, and the chosen mechanism including its drawbacks is bound to the MBSPL's entire lifecycle. In contrast, projectional editing has recently shown very promising potential of making the development of classical SPLs (e.g., implemented in C/C++) more flexible. User-editable projections allow developers to switch fluidly between different variability mechanisms based upon a common internal representation known as variational abstract syntax tree.
In this paper, we report on ongoing work on the projectional editing of MBSPLs, which is challenged by a set of additional requirements. We lay the foundation for different editable projections using a common variational abstract syntax graph (vASG) as internal representation. This vASG is used for a fine-grained variability representation of EMOF-based models. We demonstrate the feasibility of our approach by incorporating different variability mechanism projections (150% models and delta modules) and modeling languages (Ecore class diagrams and UML state machines) used in existing MBSPL case studies.

References

[1]
S. Apel, D. Batory, C. Kästner, and G. Saake. 2013. Feature-Oriented Software Product Lines - Concepts and Implementation. Springer Science & Business Media, Berlin Heidelberg.
[2]
Sven Apel, Florian Janda, Salvador Trujillo, and Christian Kästner. 2009. Model Superimposition in Software Product Lines. In Theory and Practice of Model Transformations, Second International Conference, ICMT 2009, Zurich, Switzerland, June 29--30, 2009. Proceedings. 4--19.
[3]
S. Apel, C. Kästner, and C. Lengauer. 2013. Language-Independent and Automated Software Composition: The FeatureHouse Experience. IEEE Transactions on Software Engineering 39, 1 (Jan 2013), 63--79.
[4]
Benjamin Behringer and Moritz Fey. 2016. Implementing Delta-oriented SPLs Using PEoPL: An Example Scenario and Case Study. In Proceedings of the 7th International Workshop on Feature-Oriented Software Development (FOSD 2016). ACM, New York, NY, USA, 28--38.
[5]
Benjamin Behringer, Jochen Palz, and Thorsten Berger. 2017. PEoPL: Projectional Editing of Product Lines. In Proceedings of the 39th International Conference on Software Engineering (ICSE '17). IEEE Press, Piscataway, NJ, USA, 563--574.
[6]
Benjamin Behringer and Steffen Rothkugel. 2016. Integrating Feature-based Implementation Approaches Using a Common Graph-based Representation. In Proceedings of the 31st Annual ACM Symposium on Applied Computing (SAC '16). ACM, New York, NY, USA, 1504--1511.
[7]
Thorsten Berger, Markus Völter, Hans Peter Jensen, Taweesap Dangprasert, and Janet Siegmund. 2016. Efficiency of Projectional Editing: A Controlled Experiment. In Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE 2016). ACM, New York, NY, USA, 763--774.
[8]
Antonio Cicchetti, Federico Ciccozzi, and Thomas Leveque. 2012. A hybrid approach for multi-view modeling. Electronic Communications of the EASST 50, 0 (July 2012). http://journal.ub.tu-berlin.de/eceasst/article/view/738
[9]
P. Clements and L. Northrop. 2001. Software Product Lines: Practices and Patterns. Addison-Wesley Longman Publishing Co., Inc.
[10]
K. Czarnecki and M. Antkiewicz. 2005. Mapping Features to Models: A Template Approach Based on Superimposed Variants. In ACM International Conference on Generative Programming and Component Engineering (Lecture Notes in Computer Science), Vol. 3676. Springer-Verlag, 422 -- 437.
[11]
K. Czarnecki and U. Eisenecker. 2000. Generative Programming: Methods, Tools, and Applications. Addison-Wesley.
[12]
Sascha El-Sharkawy, Nozomi Yamagishi-Eichler, and Klaus Schmid. 2019. Metrics for analyzing variability and its implementation in software product lines: A systematic literature review. Information & Software Technology 106 (2019), 1--30.
[13]
Sandra Greiner and Bernhard Westfechtel. 2019. On Determining Variability Annotations In Partially Annotated Models. In Proceedings of the 13th International Workshop on Variability Modelling of Software-Intensive Systems, VAMOS 2019, Leuven, Belgium, February 06--08, 2019. 17:1--17:10.
[14]
Øystein Haugen, Birger Møller-Pedersen, Jon Oldevik, Gøran K Olsen, and Andreas Svendsen. 2008. Adding standardized variability to domain specific languages. In 2008 12th International Software Product Line Conference. IEEE, 139--148.
[15]
Jose-Miguel Horcas, Alejandro Cortiñas, Lidia Fuentes, and Miguel R. Luaces. 2018. Integrating the Common Variability Language with Multilanguage Annotations for Web Engineering. In Proceedings of the 22Nd International Systems and Software Product Line Conference - Volume 1 (SPLC '18). ACM, New York, NY, USA, 196--207.
[16]
Jose-Miguel Horcas, Mónica Pinto, and Lidia Fuentes. 2019. Software Product Line Engineering: A Practical Experience. In Proceedings of the 23rd International Systems and Software Product Line Conference - Volume A (SPLC '19). ACM, New York, NY, USA, 164--176.
[17]
Christian Kästner, Sven Apel, and Martin Kuhlemann. 2009. A Model of Refactoring Physically and Virtually Separated Features. SIGPLAN Not. 45, 2 (Oct. 2009), 157--166.
[18]
Timo Kehrer, Udo Kelter, and Gabriele Taentzer. 2013. Consistency-preserving edit scripts in model versioning. In IEEE/ACM 28th International Conference on Automated Software Engineering (ASE). 191--201.
[19]
Timo Kehrer, Gabriele Taentzer, Michaela Rindt, and Udo Kelter. 2016. Automatically deriving the specification of model editing operations from meta-models. In International Conference on Theory and Practice of Model Transformations. Springer, 173--188.
[20]
Jacob Krüger, Gül Calikli, Thorsten Berger, Thomas Leich, and Gunter Saake. 2019. Effects of Explicit Feature Traceability on Program Comprehension. In Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE 2019). ACM, New York, NY, USA, 338--349.
[21]
Jacob Krüger, Kai Ludwig, Bernhard Zimmermann, and Thomas Leich. 2018. Physical Separation of Features: A Survey with CPP Developers. In Proceedings of the 33rd Annual ACM Symposium on Applied Computing (SAC '18). ACM, New York, NY, USA, 2042--2049.
[22]
Jacob Krüger, Ivonne Schröter, Andy Kenner, Christopher Kruczek, and Thomas Leich. 2016. FeatureCoPP: Compositional Annotations. In Proceedings of the 7th International Workshop on Feature-Oriented Software Development (FOSD 2016). ACM, New York, NY, USA, 74--84.
[23]
Jörg 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 Proceedings of the 32Nd ACM/IEEE International Conference on Software Engineering - Volume 1 (ICSE '10). ACM, New York, NY, USA, 105--114.
[24]
Lukas Linsbauer, Thorsten Berger, and Paul Grünbacher. 2017. A Classification of Variation Control Systems. In Proceedings of the 16th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences (GPCE 2017). ACM, New York, NY, USA, 49--62.
[25]
Malte Lochau, Johannes Bürdek, Sascha Lity, Matthias Hagner, Christoph Legat, Ursula Goltz, and Andy Schürr. 2014. Applying model-based software product line testing approaches to the automation engineering domain. at-Automatisierungstechnik 62, 11 (2014), 771--780.
[26]
Roberto Erick Lopez-Herrejon and Alexander Egyed. 2010. Detecting Inconsistencies in Multi-view Models with Variability (ECMFA'10). Springer-Verlag, Berlin, Heidelberg, 217--232.
[27]
J. Martinez, T. Ziadi, T. F. Bissyande, J. Klein, and Y. L. Traon. 2015. Automating the Extraction of Model-Based Software Product Lines from Model Variants. In International Conference on Automated Software Engineering (ASE 15). 396--406.
[28]
Mukelabai Mukelabai, Benjamin Behringer, Moritz Fey, Jochen Palz, Jacob Krueger, and Thorsten Berger. 2018. Multi-view Editing of Software Product Lines with PEoPL. In Proceedings of the 40th International Conference on Software Engineering: Companion Proceeedings (ICSE '18). ACM, New York, NY, USA, 81--84.
[29]
Christopher Pietsch, Timo Kehrer, Udo Kelter, Dennis Reuling, and Manuel Ohrndorf. 2015. SiPL - A Delta-Based Modeling Framework for Software Product Line Engineering. In 30th IEEE/ACM International Conference on Automated Software Engineering, ASE 2015, Lincoln, NE, USA, November 9--13, 2015. 852--857.
[30]
Christopher Pietsch, Udo Kelter, Timo Kehrer, and Christoph Seidl. 2019. Formal foundations for analyzing and refactoring delta-oriented model-based software product lines. In Proceedings of the 23rd International Systems and Software Product Line Conference, SPLC 2019, Volume A, Paris, France, September 9--13, 2019. 30:1-- 30:11.
[31]
Christopher Pietsch, Dennis Reuling, Udo Kelter, and Timo Kehrer. 2017. A tool environment for quality assurance of delta-oriented model-based SPLs. In Proceedings of the Eleventh International Workshop on Variability Modelling of Software-intensive Systems, VaMoS 2017, Eindhoven, Netherlands, February 1--3, 2017. 84--91.
[32]
Christopher Pietsch, Christoph Seidl, Michael Nieke, and Timo Kehrer. 2019. Model Management and Analytics for Large Scale Systems. Elsevier, Chapter Delta-Oriented Development of Model-Based Software Product Lines with DeltaEcore and SiPL: A Comparison. accepted.
[33]
Dennis Reuling, Udo Kelter, Johannes Bürdek, and Malte Lochau. 2019. Automated N-way Program Merging for Facilitating Family-based Analyses of Variant-rich Software. ACM Trans. Softw. Eng. Methodol. 28, 3, Article 13 (July 2019), 59 pages.
[34]
Dennis Reuling, Malte Lochau, and Udo Kelter. 2019. From Imprecise N-Way Model Matching to Precise N-Way Model Merging. Journal of Object Technology 18, 2 (2019), 8:1--20.
[35]
Dennis Reuling, Christopher Pietsch, Udo Kelter, and Timo Kehrer. 2020. Accompanying materials for this paper. http://pi.informatik.uni-siegen.de/Projekte/sipl/doc/vamos2020/.
[36]
Michaela Rindt, Timo Kehrer, and Udo Kelter. 2014. Automatic Generation of Consistency-Preserving Edit Operations for MDE Tools. Demos@MoDELS 14 (2014).
[37]
J. Rubin, K. Czarnecki, and M. Chechik. 2015. Cloned product variants: from ad-hoc to managed software product lines. International Journal on Software Tools for Technology Transfer 17, 5 (2015), 627--646.
[38]
Ina Schaefer. 2010. Variability Modelling for Model-Driven Development of Software Product Lines. In Fourth International Workshop on Variability Modelling of Software-Intensive Systems, Linz, Austria, January 27--29, 2010. Proceedings. 85--92.
[39]
Ina Schaefer, Lorenzo Bettini, Viviana Bono, Ferruccio Damiani, and Nico Tanzarella. 2010. Delta-Oriented Programming of Software Product Lines. In Software Product Lines: Going Beyond, Jan Bosch and Jaejoon Lee (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 77--91.
[40]
Felix Schwägerl and Bernhard Westfechtel. 2016. SuperMod: Tool Support for Collaborative Filtered Model-driven Software Product Line Engineering. In Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering (ASE 2016). ACM, New York, NY, USA, 822--827.
[41]
M. Stephan and J. R Cordy. 2013. A Survey of Model Comparison Approaches and Applications. In Modelsward. 265--277.
[42]
T. Thüm, S. Apel, C. Kästner, I. Schaefer, and G. Saake. 2014. A Classification and Survey of Analysis Strategies for Software Product Lines. ACM Comput. Surv. 47, 1, Article 6 (June 2014), 45 pages.
[43]
Thomas Thüm, Leopoldo Teixeira, Klaus Schmid, Eric Walkingshaw, Mukelabai Mukelabai, Mahsa Varshosaz, Goetz Botterweck, Ina Schaefer, and Timo Kehrer. 2019. Towards efficient analysis of variation in time and space. In Proceedings of the 23rd International Systems and Software Product Line Conference-Volume B. ACM.
[44]
B. Vogel-Heuser, C. Legat, J. Folmer, and S. Feldmann. 2014. Researching Evolution in Industrial Plant Automation: Scenarios and Documentation of the Pick and Place Unit. Technical Report TUM-AIS-TR-01-14-02. TU München.

Cited By

View all
  • (2024)Modular language product lines: concept, tool and analysisSoftware and Systems Modeling10.1007/s10270-024-01179-9Online publication date: 28-May-2024
  • (2023)Adding Product-Line Capabilities to Your Favourite Modeling LanguageProceedings of the 17th International Working Conference on Variability Modelling of Software-Intensive Systems10.1145/3571788.3571791(3-12)Online publication date: 25-Jan-2023
  • (2023)Incremental Model Transformations with Triple Graph Grammars for Multi-version Models2023 ACM/IEEE 26th International Conference on Model Driven Engineering Languages and Systems (MODELS)10.1109/MODELS58315.2023.00033(296-306)Online publication date: 1-Oct-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
VaMoS '20: Proceedings of the 14th International Working Conference on Variability Modelling of Software-Intensive Systems
February 2020
184 pages
ISBN:9781450375016
DOI:10.1145/3377024
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: 06 February 2020

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Physical Separation
  2. model-based software product line engineering
  3. projectional editing
  4. virtual separation

Qualifiers

  • Research-article

Funding Sources

Conference

VaMoS '20

Acceptance Rates

Overall Acceptance Rate 66 of 147 submissions, 45%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)17
  • Downloads (Last 6 weeks)2
Reflects downloads up to 09 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Modular language product lines: concept, tool and analysisSoftware and Systems Modeling10.1007/s10270-024-01179-9Online publication date: 28-May-2024
  • (2023)Adding Product-Line Capabilities to Your Favourite Modeling LanguageProceedings of the 17th International Working Conference on Variability Modelling of Software-Intensive Systems10.1145/3571788.3571791(3-12)Online publication date: 25-Jan-2023
  • (2023)Incremental Model Transformations with Triple Graph Grammars for Multi-version Models2023 ACM/IEEE 26th International Conference on Model Driven Engineering Languages and Systems (MODELS)10.1109/MODELS58315.2023.00033(296-306)Online publication date: 1-Oct-2023
  • (2022)Towards Development with Multi-version Models: Detecting Merge Conflicts and Checking Well-FormednessGraph Transformation10.1007/978-3-031-09843-7_7(118-136)Online publication date: 7-Jul-2022
  • (2021)On Preserving Variability Consistency in Multiple ModelsProceedings of the 15th International Working Conference on Variability Modelling of Software-Intensive Systems10.1145/3442391.3442399(1-10)Online publication date: 9-Feb-2021
  • (2021)Controlling View Editability in Projection-Based Modeling Environments2021 IEEE 25th International Enterprise Distributed Object Computing Conference (EDOC)10.1109/EDOC52215.2021.00026(152-161)Online publication date: Oct-2021
  • (2020)Enhancing development and consistency of UML models and model executions with USE studioProceedings of the 23rd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings10.1145/3417990.3422011(1-5)Online publication date: 16-Oct-2020
  • (2020)On the use of product-line variants as experimental subjects for clone-and-own researchProceedings of the 24th ACM Conference on Systems and Software Product Line: Volume A - Volume A10.1145/3382025.3414972(1-6)Online publication date: 19-Oct-2020

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media