Abstract
Model-based languages such as MATLAB/Simulink play an essential role in the model-driven development of software systems. During their development, these systems can be subject to modification numerous times. For large-scale systems, to manually identify performed modifications is infeasible. However, their precise identification and subsequent validation is essential for the evolution of model-based systems. If not fully identified, modifications may cause unaccountable behavior as the system evolves and their redress can significantly delay the entire development process. In this paper, we propose a fully automated technique called Reverse Signal Propagation Analysis, which identifies and clusters variations within evolving MATLAB/Simulink models. With each cluster representing a clearly delimitable variation point between models, we allow model engineers not only to specifically focus on single variations, but by using their domain knowledge, to also relate and verify them. By identifying variation points, we assist model engineers in validating the respective parts and reduce the risk of improper system behavior as the system evolves. To assess the applicability of our technique, we present a feasibility study with real-world models from the automotive domain and show our technique to be very fast and highly precise.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Mathworks®- https://mathworks.com/products/simulink/ - Nov. 2016.
- 2.
Mathworks®- https://www.mathworks.com/products/stateflow/ - Nov. 2016.
- 3.
We provide further details and a screencast on our website:
https://www.isf.cs.tu-bs.de/cms/team/schlie/material/icsr17rspa/.
- 4.
Oracle Systems®- https://www.java.com/en/ - Nov. 2016.
- 5.
Eclipse Foundation®- https://eclipse.org/ - Nov. 2016.
- 6.
Eclipse Foundation®- https://www.eclipse.org/modeling/emf/ - Nov. 2016.
- 7.
- 8.
\(153=18*(17/2)\), since the input order does not matter.
- 9.
References
Deissenboeck, F., Hummel, B., Jürgens, E., Schätz, B., Wagner, S., Girard, J.F., Teuchert, S.: Clone detection in automotive model-based development. In: Proceedings of the International Conference on Software Engineering (ICSE), pp. 603–612. ACM (2008)
Grönniger, H., Krahn, H., Pinkernell, C., Rumpe, B.: Modeling variants of automotive systems using views. CoRR abs/1409.6629 (2014)
Eckl, C., Brandstätter, M., Stjepandic, J.: Using the “model-based systems engineering” technique for multidisciplinary system development. In: Transdisciplinary Lifecycle Analysis of Systems - Proceedings of the 22nd ISPE Inc., International Conference on Concurrent Engineering, Delft, The Netherlands, July 20–23, 2015, pp. 100–109 (2015)
Kolovos, D.S., Di Ruscio, D., Pierantonio, A., Paige, R.F.: Different models for model matching: an analysis of approaches to support model differencing. In: Proceedings of the 2009 ICSE Workshop on Comparison and Versioning of Software Models. CVSM 2009, Washington, DC, pp. 1–6. IEEE Computer Society (2009)
Deissenboeck, F., Hummel, B., Juergens, E., Pfaehler, M., Schaetz, B.: Model clone detection in practice. In: Proceedings of the 4th International Workshop on Software Clones. IWSC 2010, pp. 57–64. ACM, New York (2010)
Wille, D., Holthusen, S., Schulze, S., Schaefer, I.: 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. ACM (2013)
Holthusen, S., Wille, D., Legat, C., Beddig, S., Schaefer, I., Vogel-Heuser, B.: Family model mining for function block diagrams in automation software. In: Proceedings of the International Workshop on Reverse Variability Engineering (REVE), pp. 36–43. ACM (2014)
Wille, D.: Managing lots of models: the famine approach. In: Proceedings of the International Symposium on the Foundations of Software Engineering (FSE), pp. 817–819. ACM (2014)
Pohl, K., Böckle, G., van der Linden, F.J.: Software Product Line Engineering: Foundations Principles and Techniques. Springer-Verlag New York, Inc., Secaucus (2005)
Kuperberg, M., Reussner, R.: Analysing the fidelity of measurements performed with hardware performance counters. In: Proceedings of the 2nd ACM/SPEC International Conference on Performance Engineering. ICPE 2011, pp. 413–414. ACM, New York (2011)
Al-Batran, B., Schätz, B., Hummel, B.: Semantic clone detection for model-based development of embedded systems. In: Whittle, J., Clark, T., Kühne, T. (eds.) MODELS 2011. LNCS, vol. 6981, pp. 258–272. Springer, Heidelberg (2011). doi:10.1007/978-3-642-24485-8_19
Alalfi, M., Cordy, J.R., Dean, T.R.: Analysis and clustering of model clones: an automotive industrial experience, pp. 375–378. IEEE (2014)
Kelter, U., Wehren, J., Niere, J.: A generic difference algorithm for UML models. Softw. Eng. 64(105–116), 4–9 (2005)
The Object Management Group: Unified Modeling Language (UML). Technical report, OMG Version 2.4.1. (2011)
Treude, C., Berlik, S., Wenzel, S., Kelter, U.: Difference computation of large models. In: Proceedings of the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on The Foundations of Software Engineering. ESEC-FSE 2007, pp. 295–304. ACM, New York (2007)
Könemann, P.: Semantic grouping of model changes. In: Proceedings of the 1st International Workshop on Model Comparison in Practice. IWMCP 2010, pp. 50–55. ACM, New York (2010)
Ryssel, U., Ploennigs, J., Kabitzsch, K.: 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. ACM (2010)
Acknowledgments
We would like to thank Remo Lachmann and Christoph Seidl for their strong support and guidance on this paper.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this paper
Cite this paper
Schlie, A., Wille, D., Cleophas, L., Schaefer, I. (2017). Clustering Variation Points in MATLAB/Simulink Models Using Reverse Signal Propagation Analysis. In: Botterweck, G., Werner, C. (eds) Mastering Scale and Complexity in Software Reuse. ICSR 2017. Lecture Notes in Computer Science(), vol 10221. Springer, Cham. https://doi.org/10.1007/978-3-319-56856-0_6
Download citation
DOI: https://doi.org/10.1007/978-3-319-56856-0_6
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-56855-3
Online ISBN: 978-3-319-56856-0
eBook Packages: Computer ScienceComputer Science (R0)