Skip to main content

Reengineering Variants of MATLAB/Simulink Software Systems

  • Chapter
  • First Online:
Security and Quality in Cyber-Physical Systems Engineering

Abstract

In a variety of industrial domains, quality and security are paramount factors during software system development. Model-based languages such as MATLAB/Simulink can improve software quality and are used for the development of safety-critical functionality. To comply with changing customer demands, product portfolios oftentimes emerge ad hoc by copying and modifying existing systems in an undocumented fashion. The proliferation of redundant, almost alike assets adversely affects the quality, maintenance, and evolution of the variant portfolio. To reinstate sustainable development, we describe a holistic approach to migrate the portfolio toward managed reuse by collapsing redundant parts and reengineering specific relations between similar, almost alike system parts. We elaborate on a technique to capture course-grained variability by assessing the portfolio as a whole, which identifies and groups together similar and redundant system parts. Such groups are analyzed further using a fine-grained comparison procedure, which captures their variability by means of common and varying system assets. The result is a variability model with redundant parts collapsed and reusable parts identified. By that, the overall size of the product portfolio is reduced, allowing for better quality assurance and improved maintenance. Furthermore, with knowledge about the relations between variants, affected software systems can be identified across variant boundaries, mitigating security concerns for the entire product portfolio.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 119.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 159.00
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 159.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  • Al-Batran, B., Schätz, B., & Hummel, B. (2011). Semantic clone detection for model-based development of embedded systems. In Proceedings of the International Conference on Model Driven Engineering Languages and Systems (MODELS) (pp. 258–272). Berlin: Springer.

    Chapter  Google Scholar 

  • Alalfi, M., Cordy, J., Dean, T., Stephan, M., & Stevenson, A. (2012). Models are code too: Near-miss clone detection for Simulink models. In Proceedings of the International Conference on Software Maintenance (ICSM) (pp. 295–304). Piscataway: IEEE.

    Google Scholar 

  • Alves, V., Matos, P., Cole, L., Vasconcelos, A., Borba, P., & Ramalho, G. (2007). Extracting and evolving code in product lines with aspect-oriented programming (pp. 117–142). Berlin: Springer.

    Google Scholar 

  • Antoulas, A. (2005). Approximation of large-scale dynamical systems. Advances in design and control. Philadelphia: Society for Industrial and Applied Mathematics.

    Book  MATH  Google Scholar 

  • Benner, P., Mehrmann, V., & Sorensen, D. (2005). Dimension reduction of large-scale systems. Lecture notes in computational science and engineering. Berlin: Springer.

    Book  Google Scholar 

  • Clements, P., & Northrop, L. (2001). Software product lines: Practices and patterns. Boston: Addison-Wesley Longman Publishing Co., Inc.

    Google Scholar 

  • Codabux, Z., & Williams, B. (2013). Managing technical debt: An industrial case study. In Proceedings of the International Workshop on Managing Technical Debt (MTD) (pp. 8–15). Piscataway: IEEE.

    Chapter  Google Scholar 

  • CQSE – Continuous Quality in Software Engineering (2016) Conqat. https://www.conqat.org

  • Cretu, L., & Dumitriu, F. (2014). Model-driven engineering of information systems: Principles, techniques, and practice. Palm Bay: Apple Academic Press.

    Book  Google Scholar 

  • Deissenboeck, F., Hummel, B., Juergens, E., Pfaehler, M., & Schaetz, B. (2010). Model clone detection in practice. In Proceedings of the International Workshop on Software Clones (IWSC) (pp. 57–64). New York: ACM.

    Chapter  Google Scholar 

  • Deissenboeck, F., Hummel, B., Jürgens, E., Schätz, B., Wagner, S., Girard, J. F., & Teuchert, S. (2008). Clone detection in automotive model-based development. In Proceedings of the International Conference on Software Engineering (ICSE) (pp. 603–612). New York: ACM.

    Google Scholar 

  • Duan, G. (2010). Analysis and design of descriptor linear systems. In Advances in mechanics and mathematics. New York: Springer.

    Google Scholar 

  • Dubinsky, Y., Rubin, J., Berger, T., Duszynski, S., Becker, M., & Czarnecki, K. (2013). An exploratory study of cloning in industrial software product lines. In Proceedings of the European Conference on Software Maintenance and Reengineering (CSMR) (pp. 25–34). Piscataway: IEEE.

    Google Scholar 

  • Ernst, N., Bellomo, S., Ozkaya, I., Nord, R., & Gorton, I. (2015). Measure it? Manage it? Ignore it? Software practitioners and technical debt. In Proceedings of the European Software Engineering Conference/Foundations of Software Engineering (ESEC/FSE) (pp. 50–60). New York: ACM.

    Google Scholar 

  • Fischer, J., Bougouffa, S., Schlie, A., Schaefer, I., & Vogel-Heuser, B. (2018). A qualitative study of variability management of control software for industrial automation systems. In Proceedings of the International Conference on Software Maintenance and Evolution (ICSME) (pp. 615–624)

    Google Scholar 

  • Fischer, S., Linsbauer, L., Lopez-Herrejon, R. E., & Egyed, A. (2014). Enhancing clone-and-own with systematic reuse for developing software variants. In Proceedings of the International Conference on Software Maintenance and Evolution (ICSME) (pp. 391–400). Piscataway: IEEE.

    Google Scholar 

  • Fischer, S., Linsbauer, L., Lopez-Herrejon, R. E., & Egyed, A. (2015). The ECCO tool: Extraction and composition for clone-and-own. In Proceedings of the International Conference on Software Engineering (ICSE) (pp. 665–668). Piscataway: IEEE.

    Google Scholar 

  • Font, J., Ballarín, M., Haugen, Ø, & Cetina, C. (2015). Automating the variability formalization of a model family by means of common variability language. In Proceedings of the International Software Product Line Conference (SPLC) (pp. 411–418). New York: ACM.

    Chapter  Google Scholar 

  • Gold, N. E., Binkley, D., Harman, M., Islam, S., Krinke, J., & Yoo, S. (2017). Generalized observational slicing for tree-represented modelling languages. In Proceedings of the European Software Engineering Conference/Foundations of Software Engineering (ESEC/FSE) (pp. 547–558).

    Google Scholar 

  • Grönniger, H., Krahn, H., Pinkernell, C., & Rumpe, B. (2014). Modeling variants of automotive systems using views. CoRR.

    Google Scholar 

  • Haber, A., Kolassa, C., Manhart, P., Nazari, P. M. S., Rumpe, B., & Schaefer, I. (2013). First-class variability modeling in Matlab/Simulink. In Proceedings of the International Workshop on Variability Modeling in Software-intensive Systems (VaMoS) (pp. 4:1–4:8). New York: ACM.

    Google Scholar 

  • Henley (ed.). (1973). Graph theory in modern engineering: Computer aided design, control, optimization, reliability analysis. Mathematics in science and engineering. Amsterdam: Elsevier.

    Google Scholar 

  • Holthusen, S., Wille, D., Legat, C., Beddig, S., Schaefer, I., & Vogel-Heuser, B. (2014). Family model mining for function block diagrams in automation software. In Proceedings of the International Workshop on Reverse Variability Engineering (REVE) (pp. 36–43). New York: ACM.

    Google Scholar 

  • Jeong, H., Obaidat, M., Yen, N., & Park, J. (2013). Advances in computer science and its applications (CSA). Berlin: Springer.

    Google Scholar 

  • Kastner, C., Dreiling, A., & Ostermann, K. (2014). Variability mining: Consistent semi-automatic detection of product-line features. IEEE Transactions on Software Engineering, 40, 67–82.

    Article  Google Scholar 

  • Kelter, U., & Schmidt, M. (2008). Comparing state machines. In Proceedings of the International Workshop on Comparison and Versioning of Software Models (CVSM) (pp. 1–6). New York: ACM.

    Google Scholar 

  • Kelter, U., Wehren, J., & Niere, J. (2005). A generic difference algorithm for uml models. Software Engineering, 64(105–116), 4–9.

    Google Scholar 

  • Kim, J. A. (2010). Case study of software product line engineering in insurance product. In Proceedings of the International Software Product Line Conference (SPLC) (pp. 495–495). Berlin: Springer.

    Google Scholar 

  • Kolassa, C., Rendel, H., & Rumpe, B. (2015). Evaluation of variability concepts for simulink in the automotive domain. In Hawaii International Conference on System Sciences (HICSS) (pp. 5373–5382). Piscataway: IEEE.

    Google Scholar 

  • Kuhn, H. (1955). The hungarian method for the assignment problem. Naval Research Logistics Quarterly, 2, 83–98.

    Article  MathSciNet  MATH  Google Scholar 

  • Lapeña, R., Ballarin, M., & Cetina, C. (2016). Towards clone-and-own support: Locating relevant methods in legacy products. In Proceedings of the International Software Product Line Conference (SPLC) (pp. 194–203). New York: ACM.

    Google Scholar 

  • Levenshtein, V. I. (1966). Binary codes capable of correcting deletions, insertions, and reversals. Soviet Physics Doklady, 10(8), 707–710.

    MathSciNet  Google Scholar 

  • Liang, Z., Cheng, Y., & Chen, J. (2014). A novel optimized path-based algorithm for model clone detection. Journal of Software 9(7), 1810–1817.

    Google Scholar 

  • Martinez, J., Ziadi, T., Bissyandé, T. F., Klein, J., & Le Traon, Y. (2015a). Bottom-up adoption of software product lines: A generic and extensible approach. In Proceedings of the International Software Product Line Conference (SPLC) (pp. 101–110). New York: ACM.

    Chapter  Google Scholar 

  • Martinez, J., Ziadi, T., Bissyandé, T. F., Klein, J., & Traon, Yl. (2015b). Automating the extraction of model-based software product lines from model variants. In Proceedings of the International Conference on Automated Software Engineering (ASE) (pp. 396–406). Piscataway: IEEE.

    Google Scholar 

  • Martinez, J., Ziadi, T., Klein, J., & le Traon, Y. (2014). Identifying and visualising commonality and variability in model variants. In Proceedings of the European Conference on Modeling Foundations and Applications (ECMFA) (pp. 117–131). Cham: Springer.

    Chapter  Google Scholar 

  • Merschen, D., Polzer, A., Botterweck, G., & Kowalewski, S. (2011). Experiences of applying model-based analysis to support the development of automotive software product lines. In Proceedings of the International Workshop on Variability Modeling in Software-intensive Systems (VaMoS) (pp. 141–150). New York: ACM.

    Chapter  Google Scholar 

  • Olshevsky, V. (2001). Structured matrices in mathematics, computer science, and engineering I. Contemporary mathematics. American Mathematical Society.

    Google Scholar 

  • Pham, N. H., Nguyen, H. A., Nguyen, T. T., Al-Kofahi, J. M., & Nguyen, T. N. (2009). Complete and accurate clone detection in graph-based models. In Proceedings of the International Conference on Software Engineering (ICSE) (pp. 276–286). Piscataway: IEEE.

    Google Scholar 

  • Pohl, K., Böckle, G., & van der Linden, F. J.. (2005). Software product line engineering: Foundations, principles and techniques. Berlin: Springer.

    Book  MATH  Google Scholar 

  • Pressman, R. (2005). Software engineering: A practitioner’s approach. New York: McGraw-Hill Higher Education.

    MATH  Google Scholar 

  • Ramasubbu, N., Kemerer, C. F., & Woodard, C. J. (2015). Managing technical debt: Insights from recent empirical evidence. IEEE Software, 32(2), 22–25.

    Article  Google Scholar 

  • Riva, C., & Rosso, C. D. (2003). Experiences with software product family evolution. In Proceedings of the Joint Workshop on Software Evolution and International Workshop on Principles of Software Evolution (IWPSE-EVOL) (pp. 161–169). Piscataway: IEEE.

    Google Scholar 

  • Roy, C. K., & Cordy, J. R. (2008). NICAD: Accurate detection of near-miss intentional clones using flexible pretty-printing and code normalization. In Proceedings of the International Conference on Program Comprehension (ICPC) (pp. 172–181). Piscataway: IEEE.

    Google Scholar 

  • Rubin, J., & Chechik, M. (2012). Combining related products into product lines. In Proceedings of the International Conference on Fundamental Approaches to Software Engineering (FASE) (pp. 285–300). Berlin: Springer.

    Chapter  Google Scholar 

  • Rubin, J., & Chechik, M. (2013a). N-way model merging. In Proceedings of the European Software Engineering Conference/Foundations of Software Engineering (ESEC/FSE) (pp. 301–311). New York: ACM.

    Google Scholar 

  • Rubin, J., & Chechik, M. (2013b). Quality of merge-refactorings for product lines. In Proceedings of the International Conference on Fundamental Approaches to Software Engineering (FASE) (pp. 83–98). Basel: Springer.

    Chapter  Google Scholar 

  • Rumpe, B., Schulze, C., von Wenckstern, M., Ringert, J., & Manhart, P. (2015). Behavioral compatibility of simulink models for product line maintenance and evolution. In Proceedings of the International Software Product Line Conference (SPLC) (pp. 141–150). New York: ACM.

    Chapter  Google Scholar 

  • Ryssel, U., Ploennigs, J., & Kabitzsch, K. (2010a). Automatic variation-point identification in function-block-based models. In Proceedings of the International Conference on Generative Programming and Component Engineering (GPCE) (pp. 23–32). New York: ACM.

    Google Scholar 

  • Ryssel, U., Ploennigs, J., & Kabitzsch, K. (2010b). Automatic variation-point identification in function-block-based models. In Proceedings of the International Conference on Generative Programming and Component Engineering (GPCE) (pp. 23–32). New York: ACM.

    Google Scholar 

  • Schlie, A., Schulze, S., & Schaefer, I. (2018). Comparing multiple MATLAB/Simulink models using static connectivity matrix analysis. In Proceeidngs of the International Conference on Software Maintenance and Evolution (ICSME) (pp. 185–196). Piscataway: IEEE.

    Google Scholar 

  • Schlie, A., Wille, D., Cleophas, L., & Schaefer, I. (2017a). Clustering variation points in matlab/simulink models using reverse signal propagation analysis. In Proceedings of the International Conference on Software Reuse (ICSR) (pp. 77–94). Cham: Springer.

    Google Scholar 

  • Schlie, A., Wille, D., Schulze, S., Cleophas, L., & Schaefer, I. (2017b). Detecting variability in MATLAB/Simulink models: An industry-inspired technique and its evaluation. In Proceedings of the International Software Product Line Conference (SPLC) (pp. 215–224). New York: ACM.

    Google Scholar 

  • Schulze, M., Mauersberger, J., & Beuche, D. (2013). Functional safety and variability: Can it be brought together? In Proceedings of the International Software Product Line Conference (SPLC). New York: ACM.

    Book  Google Scholar 

  • She, S., Lotufo, R., Berger, T., Wasowski, A., & Czarnecki, K. (2011). Reverse engineering feature models. In Proceedings of the International Conference on Software Engineering (ICSE) (pp. 461–470). Piscataway: IEEE.

    Google Scholar 

  • Sullivan, K. J., Griswold, W. G., Cai, Y., & Hallen, B. (2001). The structure and value of modularity in software design. In Proceedings of the European Software Engineering Conference/Foundations of Software Engineering (ESEC/FSE) (pp. 99–108). New York: ACM.

    Google Scholar 

  • Tan, H. (2012). Knowledge discovery and data mining. In Advances in intelligent and soft computing. Berlin: Springer.

    Google Scholar 

  • Tang, A., Couwenberg, W., Scheppink, E., Aan de Burgh, N., Deelstra, S., & Vliet, H. (2010). Spl migration tensions: An industry experience. In Proceedings of the Workshop on Knowledge-Oriented Product Line Engineering (KOPLE)

    Google Scholar 

  • Tuytelaars, T., & Mikolajczyk, K. (2008). Local invariant feature detectors: A survey. Foundations and Trends in Computer Graphics and Vision, 3(3), 177–280.

    Article  Google Scholar 

  • van der Linden, F. J., Schmid, K., & Rommes, E. (2007). Software product lines in action: The best industrial practice in product line engineering. Berlin: Springer.

    Book  Google Scholar 

  • Wille, D. (2014). Managing lots of models: The famine approach. In Proceedings of the International Symposium on the Foundations of Software Engineering (FSE) (pp. 817–819). New York: ACM.

    Google Scholar 

  • Wille, D., Holthusen, S., Schulze, S., & Schaefer, I. (2013). Interface variability in family model mining. In Proceedings of the International Workshop on Model-Driven Approaches in Software Product Line Engineering (MAPLE) (pp. 44–51). New York: ACM.

    Google Scholar 

  • Wille, D., Schulze, S., Seidl, C., & Schaefer, I. (2016). Custom-tailored variability mining for block-based languages. In Proceedings of the International Conference on Software Analysis, Evolution, and Reengineering (SANER) (pp. 271–282). Piscataway: IEEE.

    Google Scholar 

  • Zhang, D., & Lu, G. (2003). A comparative study of curvature scale space and fourier descriptors for shape-based image retrieval. Journal of Visual Communication and Image Representation 14(1), 39–57.

    Article  Google Scholar 

  • Zhang, X., Haugen, Ø, & Møller-Pedersen, B. (2011). Model comparison to synthesize a model-driven software product line. In Proceedings of the International Software Product Line Conference (SPLC) (pp. 90–99). Piscataway: IEEE.

    Google Scholar 

Download references

Acknowledgements

This work has been supported by the German Research Foundation (DFG) (SCHA 1635/12-1).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Alexander Schlie .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Schlie, A., Seidl, C., Schaefer, I. (2019). Reengineering Variants of MATLAB/Simulink Software Systems. In: Biffl, S., Eckhart, M., Lüder, A., Weippl, E. (eds) Security and Quality in Cyber-Physical Systems Engineering. Springer, Cham. https://doi.org/10.1007/978-3-030-25312-7_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-25312-7_10

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-25311-0

  • Online ISBN: 978-3-030-25312-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics