ABSTRACT
The use of non-systematic reuse techniques in Systems Engineering (SE) leads to the creation of legacy products comprised of legacy assets like software, hardware, and mechanical parts coupled with associated traceability links to requirements, testing artifacts, architectural fragments etc. The sheer number of different legacy assets and different technologies used to engineer such legacy products makes reverse engineering of PLs in this context a daunting task. One of the prerequisites for reverse engineering of PLs is to create a family model that captures implementation aspects of all the legacy products. In this paper, we evaluate the applicability of a modeling paradigm called Multi-Level Modeling, which is based on the class-instance relation, for the creation of a family model that captures all the implementation concerns in an SE PL. More specifically, we evaluate an approach called Multi-Level conceptual Theory (MLT) for capturing different legacy assets, their mutual relations and related variability information. Moreover, we map PL concepts like variants, presence conditions and product configurations to MLT concepts and provide formal interpretation of their semantics in the MLT framework. The illustrative example used throughout the paper comes from a real case from the automotive domain.
- W. K. G. Assunção, R. E. Lopez-Herrejon, L. Linsbauer, S. R. Vergilio, and A. Egyed. 2017. Reengineering legacy applications into software product lines: a systematic mapping. Empirical Software Engineering (2017).Google Scholar
- C. Atkinson, M. Gutheil, and B. Kennel. 2009. A Flexible Infrastructure for Multilevel Language Engineering. IEEE Transactions on Software Engineering (2009).Google Scholar
- C. Atkinson and T. Kühne. 2001. The Essence of Multilevel Metamodeling. In UML '01. Google ScholarCross Ref
- F. Baader, D. Calvanese, D. L. McGuinness, D. Nardi, and P. F. Patel-Schneider (Eds.). 2003. The Description Logic Handbook: Theory, Implementation, and Applications. Cambridge University Press.Google Scholar
- E. Bagheri, F. Ensan, and D. Gasevic. 2012. Decision support for the software product line domain engineering lifecycle. Automated Software Engineering (2012).Google Scholar
- K. Bąk, Z. Diskin, M. Antkiewicz, K. Czarnecki, and A. Wąsowski. 2016. Clafer: unifying class and feature modeling. Software & Systems Modeling (2016).Google Scholar
- S. Bechhofer. 2009. OWL: Web Ontology Language. Springer.Google Scholar
- R. Behjati, T. Yue, L. Briand, and B. Selic. 2013. SimPL: A product-line modeling methodology for families of integrated control systems. Information and Software Technology (2013).Google Scholar
- Z. Bellahsene, A. Bonifati, and E. Rahm (Eds.). 2011. Schema matching and mapping. Springer. Google ScholarCross Ref
- T. Berger, D. Nair, R. Rublack, J. M. Atlee, K. Czarnecki, and A. Wąsowski. 2014. Three Cases of Feature-Based Variability Modeling in Industry. In MODELS '14. Google ScholarCross Ref
- V. A. Carvalho and J. P. A. Almeida. 2016. Toward a well-founded theory for multi-level conceptual modeling. Software & Systems Modeling (2016).Google Scholar
- V. A. Carvalho, J. P. A. Almeida, C. M. Fonseca, and G. Guizzardi. 2015. Extending the Foundations of Ontology-Based Conceptual Modeling with a Multi-level Theory. In ER '16. Springer. Google ScholarCross Ref
- V. A. Carvalho, J. P. A. Almeida, and G. Guizzardi. 2016. Using a Well-Founded Multi-level Theory to Support the Analysis and Representation of the Powertype Pattern in Conceptual Modeling. In CAISE '16. Google ScholarCross Ref
- Elliot J. Chikofsky and James H. Cross II. 1990. Reverse Engineering and Design Recovery: A Taxonomy. IEEE Software (1990).Google Scholar
- T. Clark, C. Gonzalez-Perez, and B. Henderson-Sellers. 2014. A foundation for multi-level modelling. In MODELS '14: Workshop on Multi-Level Modelling.Google Scholar
- P. C. Clements. 2015. Product Line Engineering Comes to the Industrial Mainstream. INCOSE International Symposium (2015).Google ScholarCross Ref
- D. Dhungana, A. Falkner, and A. Haselböck. 2013. Generation of Conjoint Domain Models for System-of-systems. SIGPLAN Notices (2013).Google Scholar
- D. Dhungana, P.l GrÃijnbacher, R. Rabiser, and T. Neumayer. 2010. Structuring the modeling space and supporting evolution in software product line engineering. Journal of Systems and Software (2010).Google Scholar
- U. Frank. 2014. Multilevel Modeling:Toward a New Paradigm of Conceptual Modeling and Information Systems Design. Business & Information Systems Engineering (2014).Google Scholar
- H. Gomaa and M. E. Shin. 2004. A Multiple-View Meta-modeling Approach for Variability Management in Software Product Lines. In ICSR '04. Google ScholarCross Ref
- C. Gonzalez-Perez and B. Henderson-Sellers. 2006. A powertype-based meta-modelling framework. Software & Systems Modeling (2006).Google Scholar
- Ø. Haugen and O. Øgård. 2014. BVR - Better Variability Results. In SAM '14.Google Scholar
- Ø. Haugen, A. Wąsowski, and K. Czarnecki. 2013. CVL: Common Variability Language. In SPLC '13.Google Scholar
- B. Henderson-Sellers, T. Clark, and C. Gonzalez-Perez. 2013. On the Search for a Level-Agnostic Modelling Language. In CAISE 13. Google ScholarDigital Library
- Reinhartz-Berger I., A. Sturm, and Clark T. 2015. Exploring Multi-Level Modeling Relations Using Variability Mechanisms. In MODELS '15: Workshop on Multi-Level Modelling.Google Scholar
- ISO/IEC 15026 2011. ISO/IEC 15026-2:2011 - Systems and Software assurance: Assurance cases. standard. International Organization for Standardization, Geneva.Google Scholar
- D.Jackson. 2002. Alloy: A Lightweight Object Modelling Notation. ACM Transactions on Software Engineering Methodology (2002).Google ScholarDigital Library
- J. Knodel, I. John, D. Ganesan, M. Pinzger, F. Usero, J. L. Arciniegas, and C. Riva. 2005. Asset recovery and their incorporation into product lines. In WCRE '05). Google ScholarDigital Library
- Juan De Lara, Esther Guerra, and Jesús Sánchez Cuadrado. 2014. When and How to Use Multilevel Modelling. ACM Transactions on Software Engineering Methodology (2014).Google Scholar
- Antkiewicz M., Czarnecki K., and Diskin Z. 2013. Example-Driven Modeling Using Clafer. In MDEBE 13.Google Scholar
- K. Meinke and J. V. Tucker (Eds.). 1993. Many-sorted Logic and Its Applications. John Wiley & Sons.Google Scholar
- Murashkin, A. 2014. Automotive Electronic/Electric Architecture Modeling, Design Exploration and Optimization using Clafer. (2014).Google Scholar
- D. Nesic and M. Nyberg. 2016. Multi-view modeling and automated analysis of product line variability in systems engineering. In SPLC, 16.Google Scholar
- B. Neumayr, M. A. Jeusfeld, M. Schrefl, and C. Schütz. 2014. Dual Deep Instantiation and Its ConceptBase Implementation. In CAiSE 14. Google ScholarCross Ref
- OMG. 2017. Meta-Object Facility. (2017). http://www.omg.org/mof/Google Scholar
- Akira K Onoma, Wei-Tek Tsai, Mustafa Poonawala, and Hiroshi Suganuma. 1998. Regression testing in an industrial environment. Commun. ACM (1998).Google Scholar
- K. Pohl, G. Böckle, and F. J. van der Linden. 2005. Software Product Line Engineering. Foundations, Principles, and Techniques. Springer. Google ScholarCross Ref
- Arshad R. and Lau K. 2016. A Concise Classification of Reverse Engineering Approaches for Software Product Lines. In ICSEA 16.Google Scholar
- R. Rabiser, M. Vierhauser, P. Grünbacher, D. Dhungana, H. Schreiner, and M. Lehofer. 2014. Supporting Multiplicity and Hierarchy in Model-Based Configuration: Experiences and Lessons Learned. In MODELS 14.Google Scholar
- I. Reinhartz-Berger and A. Sturm. 2009. Utilizing Domain Models for Application Design and Validation. Information and Software Technology (2009).Google Scholar
- I. Reinhartz-Berger, A. Zamansky, and Y. Wand. 2016. An Ontological Approach for Identifying Software Variants: Specialization and Template Instantiation. In ER 16.Google Scholar
- J. Rumbaugh, I. Jacobson, and G. Booch. 2004. Unified Modeling Language Reference Manual, The 2nd Edition. Pearson.Google Scholar
- A. v. Rhein, A. Grebhahn, S. Apel, N. Siegmund, D. Beyer, and T. Berger. 2015. Presence-Condition Simplification in Highly Configurable Systems. In ICSE '15. Google ScholarCross Ref
- World Wide Web Consortium. 2017. Linked Data. (2017). http://linkeddata.org/Google Scholar
Index Terms
- Modeling Product-Line Legacy Assets using Multi-Level Theory
Recommendations
Transitioning legacy assets to a product line architecture
A successful software system evolves over time, but this evolution often occurs in an ad-hoc fashion. One approach to structure system evolution is the concept of software product lines where a core architecture supports a variety of application ...
Transitioning legacy assets to a product line architecture
ESEC/FSE-7: Proceedings of the 7th European software engineering conference held jointly with the 7th ACM SIGSOFT international symposium on Foundations of software engineeringA successful software system evolves over time, but this evolution often occurs in an ad-hoc fashion. One approach to structure system evolution is the concept of software product lines where a core architecture supports a variety of application ...
Legacy Systems Reengineering Using Software Patterns
SCCC '99: Proceedings of the 19th International Conference of the Chilean Computer Science SocietyIn this work we present a case study for legacy systems reengineering using software patterns aiming at both easing the reengineering process and improving future maintenance. The approach used consists basically of three steps: apply reverse ...
Comments