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

Incremental feature model synthesis for clone-and-own software systems in MATLAB/Simulink

Published: 19 October 2020 Publication History

Abstract

Families of related MATLAB/Simulink systems commonly emerge ad hoc using clone-and-own practices. Extractively migrating systems towards a software product line (SPL) can be a remedy. A feature model (FM) represents all potential configurations of an SPL, ideally, in non-technical domain terms. However, yielding a sensible FM from automated synthesis remains a major challenge due to domain knowledge being a prerequisite for features to be adequate abstractions. In incremental reverse engineering, subsequent generation of FMs may further overwrite changes and design decisions made during previous manual FM refinement.
In this paper, we propose an approach to largely automate the synthesis of a suitable FM from a set of cloned MATLAB/Simulink models as part of reverse engineering an SPL. We fully automate the extraction of an initial, i.e., a technical, FM that closely aligns with realization artifacts and their variability, and further provide operations to manually refine it to incorporate domain knowledge. Most importantly, we provide concepts to capture such operations and to replay them on a structurally different technical FM stemming from a subsequent reverse engineering increment that included further systems of the portfolio. We further provide an implementation and demonstrate the feasibility of our approach using two MATLAB/Simulink data sets from the automotive domain.

References

[1]
M. Acher, P. Collet, P. Lahire, and R. France. 2010. Composing Feature Models. In Proc. of the Intl. Conference on Software Language Engineering (SLE). Springer, Berlin, Heidelberg, 62--81.
[2]
M. Alalfi, E. Rapos, A. Stevenson, M. Stephan, T. Dean, and J. Cordy. 2014. Semi-automatic Identification and Representation of Subsystem Variability in Simulink Models. In Proc. of the Intl. Conference on Software Maintenance and Evolution (ICSME). IEEE, 486--490.
[3]
M. H. Alalfi, J. R. Cordy, and T. R. Dean. 2014. Analysis and Clustering of Model Clones: An Automotive Industrial Experience. In Proc. of the Intl. Conference on Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE). IEEE, 375--378.
[4]
N. Andersen, K. Czarnecki, S. She, and A. Wasowski. 2012. Efficient synthesis of feature models. In Proc. of the Intl. Software Product Line Conference (SPLC). 106--115.
[5]
S. Apel, D. Batory, C. Kästner, and G. Saake. 2013. Feature-Oriented Software Product Lines: Concepts and Implementation. Springer, Berlin Heidelberg.
[6]
W. Assunção, R. Lopez-Herrejon, L. Linsbauer, S. Vergilio, and A. Egyed. 2017. Reengineering Legacy Applications into Software Product Lines: A Systematic Mapping. Empirical Software Engineering 22 (02 2017).
[7]
G. Bécan, M. Acher, B. Baudry, and S. Ben Nasr. 2015. Breathing Ontological Knowledge Into Feature Model Synthesis: An Empirical Study. Empirical Software Engineering 21 (03 2015).
[8]
K. Berg, J. Bishop, and D. Muthig. 2005. Tracing Software Product Line Variability: From Problem to Solution Space. In Proc. of the Annual Research Conference of the South African Institute of Computer Scientists and Information Technologists on IT Research in Developing Countries (SAICSIT). South African Institute for Computer Scientists and Information Technologists, 182--191.
[9]
G. Botterweck, A. Pleuss, D. Dhungana, A. Polzer, and S. Kowalewski. 2010. EvoFM: Feature-Driven Planning of Product-Line Evolution. In Proc. of the Int. Workshop on Product Line Approaches in Software Engineering (PLASE). 24--31.
[10]
A. Schlie - TU Braunschweig. 2020. Supplementary Material Website. https://www.isf.cs.tu-bs.de/cms/team/schlie/material/splc2020.
[11]
A. Schlie - Technical University Braunschweig. 2020. Prior Work Supplementary Material Website. https://www.isf.cs.tu-bs.de/cms/team/schlie/material.
[12]
J. Bürdek, T. Kehrer, M. Lochau, D. Reuling, U. Kelter, and A. Schürr. 2016. Reasoning About Product-Line Evolution using Complex Feature Model Differences. ASE Journal 23, 4 (2016), 687--733.
[13]
L. Cleophas, D.G. Kourie, V. Pieterse, I. Schaefer, and B.W. Watson. 2016. Correctness-by-Construction Taxonomies Deep Comprehension of Algorithm Families. In Leveraging Applications of Formal Methods, Verification and Validation: Foundational Techniques. Springer, 766--783.
[14]
Software Productivity Consortium Services Corporation. 1993. Reuse-driven Software Processes Guidebook: SPC-92019-CMC, Version 02.00.03. Software Productivity Consortium Services Corporation.
[15]
K. Czarnecki, P. Grünbacher, R. Rabiser, K. Schmid, and A. Wąsowski. 2012. Cool Features and Tough Decisions: A Comparison of Variability Modeling Approaches. In Proc. of the Intl. Workshop on Variability Modeling in Software-intensive Systems (VaMoS). ACM, 173--182.
[16]
Y. Dajsuren and M. van den Brand. 2019. Automotive Systems and Software Engineering: State of the Art and Future Trends. Springer.
[17]
F. Deissenboeck, B. Hummel, E. Juergens, M. Pfaehler, and B. Schaetz. 2010. Model Clone Detection in Practice. In Proc. of the Intl. Workshop on Software Clones (IWSC). 57--64.
[18]
F. Deissenboeck, B. Hummel, E. Jürgens, B. Schätz, S. Wagner, J.-F. Girard, and S. Teuchert. 2008. Clone Detection in Automotive Model-Based Development. In Proc. of the Intl. Conference on Software Engineering (ICSE). ACM, 603--612.
[19]
D. Dhungana and P. Grünbacher. 2008. Understanding Decision-Oriented Variability Modelling. In Proc. of the Intl. Software Product Line Conference (SPLC). 233--242.
[20]
B. Dit, M. Revelle, M. Gethers, and D. Poshyvanyk. 2013. Feature Location in Source Code: a Taxonomy and Survey. Journal of software: Evolution and Process 25, 1 (2013), 53--95.
[21]
Y. Dubinsky, J. Rubin, T. Berger, S. Duszynski, M. Becker, and K. Czarnecki. 2013. An Exploratory Study of Cloning in Industrial Software Product Lines. In Proc. of the European Conference on Software Maintenance and Reengineering (CSMR). IEEE, 25--34.
[22]
S. El-Sharkawy, S. Dederichs, and K. Schmid. 2012. From Feature Models to Decision Models and Back Again an Analysis Based on Formal Transformations. In Proc. of the Intl. Software Product Line Conference (SPLC). ACM, 126--135.
[23]
G. Engels, R. Heckel, J. M. Küster, and L. Groenewegen. 2002. Consistency-Preserving Model Evolution through Transformations. In International Conference on the Unified Modeling Language. Springer, 212--227.
[24]
W. Fenske, T. Thüm, and G. Saake. 2014. A Taxonomy of Software Product Line Reengineering. In Proc. of the Intl. Workshop on Variability Modeling in Software-intensive Systems (VaMoS). 1--8.
[25]
J. Font, L. Arcega, Ø. Haugen, and C. Cetina. 2015. Building Software Product Lines from Conceptualized Model Patterns. In Proc. of the Intl. Software Product Line Conference (SPLC). ACM, 46--55.
[26]
J. Font, L. Arcega, Ø. Haugen, and C. Cetina. 2016. Feature Location in Model-Based Software Product Lines through a Genetic Algorithm. In International Conference on Software Reuse. Springer, 39--54.
[27]
J. Font, L. Arcega, Ø. Haugen, and C. Cetina. 2016. Feature Location in Models through a Genetic Algorithm Driven by Information Retrieval Techniques. In Proceedings of the ACM/IEEE 19th International Conference on Model Driven Engineering Languages and Systems. 272--282.
[28]
J. Font, L. Arcega, Ø. Haugen, and C. Cetina. 2017. Achieving Feature Location in Families of Models through the use of Search-Based Software Engineering. IEEE Transactions on Evolutionary Computation 22, 3 (2017), 363--377.
[29]
Eclipse Foundation®. 2020. Eclipse Foundation Website. https://eclipse.org.
[30]
Eclipse Foundation®. 2020. Eclipse Modelling Framework Website. https://eclipse.org/modeling/emf.
[31]
Eclipse Foundation®. 2020. Eclipse Rich Client Platform Website. https://wiki.eclipse.org/Rich_Client_Platform.
[32]
V. Gruhn and R. Striemer. 2018. The Essence of Software Engineering. Springer International Publishing.
[33]
A. Haber, C. Kolassa, P. Manhart, P.M.S. Nazari, B. Rumpe, and I. Schaefer. 2013. First-class Variability Modeling in Matlab/Simulink. In Proc. of the Intl. Workshop on Variability Modeling in Software-intensive Systems (VaMoS). ACM, 11--18.
[34]
Ø. Haugen, A. Wąsowski, and K. Czarnecki. 2013. CVL: Common Variability Language. In Proc. of the Intl. Software Product Line Conference (SPLC). ACM, 277.
[35]
S. Holthusen, D. Wille, C. Legat, S. Beddig, I. Schaefer, and B. Vogel-Heuser. 2014. Family Model Mining for Function Block Diagrams in Automation Software. In Proc. of the Intl. Workshop on Reverse Variability Engineering (REVE). ACM, 36--43.
[36]
Kyo K., Sholom C., James H., William N., and A. P. 1990. Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical Report CMU/SEI-90-TR-021. Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA.
[37]
T. Kehrer, G. Taentzer, M. Rindt, and U. Kelter. 2016. Automatically Deriving the Specification of Model Editing Operations from Meta-Models. In Proc. of the Int. Conference on Theory and Practice of Model Transformations (TPMT). Springer, 173--188.
[38]
C.W. Krueger. 2002. Easing the Transition to Software Mass Customization. In Software Product-Family Engineering. Springer, Berlin, Heidelberg, 282--293.
[39]
J. Martinez, T. Ziadi, T. F. Bissyandé, J. Klein, and Y. l. Traon. 2015. Automating the Extraction of Model-Based Software Product Lines from Model Variants. In Proc. of the Intl. Conference on Automated Software Engineering (ASE). 396--406.
[40]
R. Mazo, C. Salinesi, D. Diaz, and A. Lora Michiels. 2011. Transforming Attribute and Clone-Enabled Feature Models Into Constraint Programs Over Finite Domains. In Proc. of the Intl. Conference on Evaluation of Novel Approaches to Software Engineering (ENASE). 188--199.
[41]
J. Meinicke, T. Thüm, R. Schröter, F. Benduhn, T. Leich, and G. Saake. 2017. Mastering Software Variability with FeatureIDE. Springer International Publishing.
[42]
J. Meinicke, T. Thüm, R. Schröter, S. Krieter, F. Benduhn, G. Saake, and T. Leich. 2016. FeatureIDE: Taming the Preprocessor Wilderness. In Proc. of the Intl. Conference on Software Engineering (ICSE). IEEE, 629--632.
[43]
D. Merschen, A. Polzer, G. Botterweck, and S. Kowalewski. 2011. Experiences of Applying Model-based Analysis to Support the Development of Automotive Software Product Lines. In Proc. of the Intl. Workshop on Variability Modeling in Software-intensive Systems (VaMoS). ACM, 141--150.
[44]
A. Metzger, K. Pohl, P. Heymans, P. Schobbens, and G. Saval. 2007. Disambiguating the Documentation of Variability in Software Product Lines: A Separation of Concerns, Formalization and Automated Analysis. In Proc. of the Int. Requirements Engineering Conference (RE). IEEE, 243--253.
[45]
Technical University Munich. 2020. Collaborative Embedded Systems. https://crest.in.tum.de/.
[46]
Technical University Munich. 2020. Software Platform Embedded Systems 'XT'. http://spes2020.informatik.tu-muenchen.de/spes_xt-home.html.
[47]
D. Nešić, J. Krüger, S. Stănciulescu, and T. Berger. 2019. Principles of Feature Modeling. In Proc. of the European Software Engineering Conference/Foundations of Software Engineering (ESEC/FSE). ACM, 62--73.
[48]
M. Nieke, C. Seidl, and T. Thüm. 2018. Back to the Future: Avoiding Paradoxes in Feature-Model Evolution. In Proceedings of the 22nd International Systems and Software Product Line Conference-Volume 2. 48--51.
[49]
K. Pohl, G. Böckle, and Linden, F. J. van der. 2005. Software Product Line Engineering: Foundations, Principles and Techniques. Springer.
[50]
R. Pohl, M. Höchsmann, P. Wohlgemuth, and C. Tischer. 2018. Variant Management Solution for Large Scale Software Product Lines. In Proc. of the Int. Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP). ACM, 85--94.
[51]
Pure-Systems®. 2020. Pure::Variants Website. http://www.pure-systems.com.
[52]
R. Rabiser. 2019. Feature Modeling vs. Decision Modeling: History, Comparison and Perspectives. In Proc. of the Intl. Software Product Line Conference (SPLC). ACM, 134--136.
[53]
R. Reicherdt and S. Glesner. 2012. Slicing MATLAB Simulink Models. In Proc. of the Intl. Conference on Software Engineering (ICSE). IEEE, 551--561.
[54]
C. Riva and C. D. Rosso. 2003. Experiences with Software Product Family Evolution. In Proc. of the Joint Workshop on Software Evolution and Intl. Workshop on Principles of Software Evolution (IWPSE-EVOL). IEEE, 161--169.
[55]
K. Rosiak, O. Urbaniak, A. Schlie, C. Seidl, and I. Schaefer. 2019. Analyzing Variability in 25 Years of Industrial Legacy Software: An Experience Report. In Proc. of the Int. Workshop on Variability and Evolution of Software-Intensive Systems (VariVolution). ACM, 65--72.
[56]
J. Rubin and M. Chechik. 2012. Combining Related Products into Product Lines. In Proc. of the Intl. Conference on Fundamental Approaches to Software Engineering (FASE) (LNCS, Vol. 7212). Springer, 285--300.
[57]
J. Rubin and M. Chechik. 2013. Quality of Merge-Refactorings for Product Lines. In Proc. of the Intl. Conference on Fundamental Approaches to Software Engineering (FASE) (LNCS, Vol. 7793). Springer, 83--98.
[58]
J. Rubin and M. Chechik. 2013. A Survey of Feature Location Techniques. In Domain Engineering. Springer, 29--58.
[59]
P. Runeson and M. Höst. 2009. Guidelines for Conducting and Reporting Case Study Research in Software Engineering. Empirical Software Engineering 14, 2 (2009), 131--164.
[60]
U. Ryssel, J. Ploennigs, and K. Kabitzsch. 2010. Automatic Variation-point Identification in Function-block-based Models. In Proc. of the Intl. Conference on Generative Programming and Component Engineering (GPCE). ACM, 23--32.
[61]
Marco S. and Sybren D. 2007. Classifying Variability Modeling Techniques. Information and Software Technology (IST) 49, 7 (2007), 717--739.
[62]
F. Sanen, E. Truyen, and W. Joosen. 2009. Mapping Problem-Space to Solution-Space Features: A Feature Interaction Approach. In Proc. of the Intl. Conference on Generative Programming and Component Engineering (GPCE). ACM, 167--176.
[63]
A. Schlie, K. Rosiak, O. Urbaniak, I. Schaefer, and B. Vogel-Heuser. 2019. Analyzing Variability in Automation Software with the Variability Analysis Toolkit. In Proc. of the Intl. Workshop on Reverse Variability Engineering (REVE). ACM, 191--198.
[64]
A. Schlie, S. Schulze, and I. Schaefer. 2018. Comparing Multiple MATLAB/Simulink Models Using Static Connectivity Matrix Analysis. In Proc. of the Intl. Conference on Software Maintenance and Evolution (ICSME). IEEE, 185--196.
[65]
A. Schlie, C. Seidl, and I. Schaefer. 2019. Reengineering Variants of MATLAB/Simulink Software Systems. In Security and Quality in Cyber-Physical Systems Engineering. Springer, 267--301.
[66]
A. Schlie, D. Wille, L. Cleophas, and I. Schaefer. 2017. Clustering Variation Points in MATLAB/Simulink Models Using Reverse Signal Propagation Analysis. In Proc. of the Intl. Conference on Software Reuse (ICSR). Springer, 77--94.
[67]
A. Schlie, D. Wille, S. Schulze, L. Cleophas, and I. Schaefer. 2017. Detecting Variability in MATLAB/Simulink Models: An Industry-Inspired Technique and Its Evaluation. In Proc. of the Intl. Software Product Line Conference (SPLC). ACM, 215--224.
[68]
K. Schmid and H. Eichelberger. 2008. A Requirements-based Taxonomy of Software Product Line Evolution. Electronic Communications of the EASST 8 (2008).
[69]
P.-Y. Schobbens, P. Heymans, J.-C. Trigaux, and Y. Bontemps. 2007. Generic Semantics of Feature Diagrams. Computer Networks 51, 2 (2007), 456--479.
[70]
J. Schroeter, M. Lochau, and T. Winkelmann. 2012. Multi-Perspectives on Feature Models. In Proc. of the Intl. Conference on Model Driven Engineering Languages and Systems (MODELS). Springer-Verlag, Berlin, Heidelberg, 252--268.
[71]
C. Seidl, F. Heidenreich, and U. Aßmann. 2012. Co-evolution of Models and Feature Mapping in Software Product Lines. In Proc. of the Intl. Software Product Line Conference (SPLC). ACM, 76--85.
[72]
S. She, K. Czarnecki, and A. Wąsowski. 2012. Usage Scenarios for Feature Model Synthesis. In Proc. of the VARiability for You Workshop: Variability Modeling Made Useful for Everyone (VARY). ACM, 15--20.
[73]
Oracle Systems®. 2020. Java Website. https://www.java.com/en/.
[74]
T. Thum, D. Batory, and C. Kastner. 2009. Reasoning about Edits to Feature Models. In Proc. of the Intl. Conference on Software Engineering (ICSE). IEEE, 254--264.
[75]
T. Thum, D. Batory, and C. Kastner. 2009. Reasoning about Edits to Feature Models. In Proc. of the Intl. Conference on Software Engineering (ICSE). IEEE, 254--264.
[76]
K. Wehling, D. Wille, C. Seidl, and I. Schaefer. 2018. Reducing Variability of Technically Related Software Systems in Large-Scale IT Landscapes. In Proc. of the Conference of the Centre for Advanced Studies on Collaborative Research (CASCON). ACM, 224--235.
[77]
M.W. Whalen, A. Murugesan, S. Rayadurgam, and M.P.E. Heimdahl. 2014. Structuring Simulink Models for Verification and Reuse. In Proc. of the Intl. Workshop on Modeling in Software Engineering (MISE). ACM, 19--24.
[78]
D. Wille, Ö. Babur, L. Cleophas, C. Seidl, M. van den Brand, and I. Schaefer. 2018. Improving Custom-Tailored Variability Mining Using Outlier and Cluster Detection. Science of Computer Programming 163 (2018), 62--84.
[79]
D. Wille, T. Runge, C. Seidl, and I. Schulze. 2017. Extractive Software Product Line Engineering Using Model-Based Delta Module Generation. In Proc. of the Intl. Workshop on Variability Modeling in Software-intensive Systems (VaMoS). ACM, 36--43.
[80]
D. Wille, S. Schulze, C. Seidl, and I. Schaefer. 2016. Custom-Tailored Variability Mining for Block-Based Languages. In Proc. of the Intl. Conference on Software Analysis, Evolution, and Reengineering (SANER). IEEE, 271--282.
[81]
D. Wille, K. Wehling, C. Seidl, and I. Schaefer. 2017. Variability Mining of Technical Architectures. In Proc. of the Intl. Software Product Line Conference (SPLC). ACM, 39--48.
[82]
Y. Xue, Z. Xing, and S. Jarzabek. 2010. Understanding Feature Evolution in a Family of Product Variants. In Proc. of the Working Conference on Reverse Engineering (WCRE). IEEE, 109--118.

Cited By

View all
  • (2024)Verifying consistency of software product line architectures with product architecturesSoftware and Systems Modeling (SoSyM)10.1007/s10270-023-01114-423:1(195-221)Online publication date: 1-Feb-2024
  • (2023)The e4CompareFrameworkProceedings of the 27th ACM International Systems and Software Product Line Conference - Volume B10.1145/3579028.3609012(34-38)Online publication date: 28-Aug-2023
  • (2023)Extracting Hardware Reconfiguration Models Based on Knowledge Synthesis from STEP Files2023 ACM/IEEE International Conference on Model Driven Engineering Languages and Systems Companion (MODELS-C)10.1109/MODELS-C59198.2023.00077(434-443)Online publication date: 1-Oct-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SPLC '20: Proceedings of the 24th ACM Conference on Systems and Software Product Line: Volume A - Volume A
October 2020
323 pages
ISBN:9781450375696
DOI:10.1145/3382025
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 19 October 2020

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. 150% model
  2. MATLAB/Simulink
  3. clone-and-own
  4. feature model
  5. incremental
  6. individual
  7. mapping
  8. refinement
  9. synthesis
  10. variability

Qualifiers

  • Research-article

Conference

SPLC '20
Sponsor:

Acceptance Rates

SPLC '20 Paper Acceptance Rate 17 of 49 submissions, 35%;
Overall Acceptance Rate 167 of 463 submissions, 36%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

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

Other Metrics

Citations

Cited By

View all
  • (2024)Verifying consistency of software product line architectures with product architecturesSoftware and Systems Modeling (SoSyM)10.1007/s10270-023-01114-423:1(195-221)Online publication date: 1-Feb-2024
  • (2023)The e4CompareFrameworkProceedings of the 27th ACM International Systems and Software Product Line Conference - Volume B10.1145/3579028.3609012(34-38)Online publication date: 28-Aug-2023
  • (2023)Extracting Hardware Reconfiguration Models Based on Knowledge Synthesis from STEP Files2023 ACM/IEEE International Conference on Model Driven Engineering Languages and Systems Companion (MODELS-C)10.1109/MODELS-C59198.2023.00077(434-443)Online publication date: 1-Oct-2023
  • (2022)BEEHIVEProceedings of the 26th ACM International Systems and Software Product Line Conference - Volume B10.1145/3503229.3547064(17-22)Online publication date: 12-Sep-2022
  • (2022)RaQuN: a generic and scalable n-way model matching algorithmSoftware and Systems Modeling10.1007/s10270-022-01062-522:5(1495-1517)Online publication date: 21-Nov-2022
  • (2022)Re-engineering Automation Software with the Variability Analysis ToolkitHandbook of Re-Engineering Software Intensive Systems into Software Product Lines10.1007/978-3-031-11686-5_16(405-428)Online publication date: 5-Jul-2022
  • (2022)Scratching the Surface of ./configure: Learning the Effects of Compile-Time Options on Binary Size and GadgetsReuse and Software Quality10.1007/978-3-031-08129-3_3(41-58)Online publication date: 10-Jun-2022
  • (2021)Extractive multi product-line engineeringProceedings of the 43rd International Conference on Software Engineering: Companion Proceedings10.1109/ICSE-Companion52605.2021.00122(263-265)Online publication date: 25-May-2021

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