Abstract
This chapter presents an automated framework for identifying and representing different types of variability in Simulink models. The framework is based on the observed variants found in similar subsystem patterns inferred using Simone, a model clone detection tool, and an empirically derived set of variability operators for Simulink models. We demonstrate the application of these operators to six example systems, including automotive systems, using two alternative variation analysis techniques, one text-based and one graph-based, and show how we can represent the variation in each of the similar subsystem patterns as a single subsystem template directly in the Simulink environment. The product of our framework is a single consolidated subsystem model capable of expressing the observed variability across all instances of each inferred pattern. The process of pattern inference and variability analysis is largely automated and can be easily applied to other collections of Simulink models. We provide tool support for the variability identification and representation using the graph-based approach.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Alalfi MH, Cordy JR, Dean TR, Stephan M, Stevenson A (2012) Models are code too: near-miss clone detection for Simulink models. In: ICSM’12 - 28th international conference on software maintenance, pp 295–304
Alalfi MH, Rapos EJ, Stevenson A, Stephan M, Dean TR, Cordy JR (2014) Semi-automatic identification and representation of subsystem variability in Simulink models. In: ICSME’14 - 30th international conference on software maintenance and evolution, pp 486–490
Basit HA, Dajsuren Y (2014) Handling clone mutations in Simulink models with VCL. In: IWSC’14 - 8th international workshop on software clones, pp 1–8
Binh NT, et al (2012) Mutation operators for Simulink models. In: KSE’12 - 4th international conference on knowledge and systems engineering, pp 54–59
Capilla R, Bosch J, Kang KC (2013) Systems and software variability management. Springer, Berlin
Cook SA (1971) The complexity of theorem-proving procedures. In: 3rd ACM symposium on the theory of computing. ACM, New York, pp 151–158
Cordy JR (2006) The TXL source transformation language. Sci Comput Program 61(3):190–210
Cordy JR (2013) Submodel pattern extraction for Simulink models. In: SPLC’13 - 17th international conference on software product lines, pp 7–10
Czarnecki K, Grunbacher P, Rabiser R, Schmid K, W ąsowski A (2012) Cool features and tough decisions: a comparison of variability modeling approaches. In: VaMoS’12 - 6th international workshop on variability modelling of software-intensive systems, pp 173–182
Deissenboeck F, Hummel B, Jürgens E, Schätz B, Wagner S, Girard JF, Teuchert S (2008) Clone detection in automotive model-based development. In: Proceedings of the 30th international conference on software engineering. ACM, New York, pp 603–612
Haber A, Kolassa C, Manhart P, Nazari PMS, Rumpe B, Schaefer I (2013) First-class variability modeling in Matlab/Simulink. In: VaMoS’13 - 7th international workshop on variability modelling of software-intensive systems, pp 11–18
He N, Rümmer P, Kroening D (2011) Test-case generation for embedded Simulink via formal concept analysis. In: DAC’11 - 48th design automation conference, pp 224–229
Kastner C, Dreiling A, Ostermann K (2013) Variability mining: consistent semiautomatic detection of product-line features. IEEE Trans Softw Eng 40(1):67–82
Malton A, Schneider K, Cordy J, Dean T, Cousineau D, Reynolds J (2001) Processing software source text in automated design recovery and transformation. In: IWPC’01 - 9th international workshop on program comprehension, pp 127–134. https://doi.org/10.1109/WPC.2001.921724
Object Management Group (2009) Variability modeling. http://www.omgwiki.org/vari-ability/doku.php?id=introduction_to_variability_modeling
Rapos EJ, Stevenson A, Alalfi MH, Cordy JR (2015) SimNav: Simulink navigation of model clone classes. In: 2015 IEEE 15th international working conference on source code analysis and manipulation (SCAM), pp 241–246. https://doi.org/10.1109/SCAM.2015.7335420
Roy CK, Cordy JR (2008) NICAD: accurate detection of near-miss intentional clones using flexible pretty-printing and code normalization. In: ICPC’08, 16th IEEE international conference on program comprehension, pp 172–181
Rubin J, Chechik M (2013) A framework for managing cloned product variants. In: ICSE’13 - 35th international conference on software engineering, pp 1233–1236
Rubin J, Czarnecki K, Chechik M (2013) Managing cloned variants: a framework and experience. In: SPLC’13 - 17th international conference on software product lines, pp 101–110
Ryssel U, Ploennigs J, Kabitzsch K (2010) Automatic variation-point identification in function-block-based models. In: GPCE’10 - 9th international conference on generative programming and component engineering. ACM, New York, pp 23–32
Steiner E, Masiero P, Bonifácio R (2013) Managing SPL variabilities in UAV Simulink models with pure: variants and hephaestus. CLEI Electron J 16(1):1–7
Stephan M, Cordy JR (2012) A survey of methods and applications of model comparison. Tech. Rep. 2011–582, Queen’s University, revision 3
Stephan M, Cordy JR (2013) A survey of model comparison approaches and applications. In: International conference on model-driven engineering and software development (Modelsward), SCITEPRESS, pp 265–277
Stephan M, Alalfi MH, Cordy JR (2014) Towards a taxonomy for Simulink model mutations. In: International conference on software testing, verification and validation workshops (ICSTVVW), pp 206–215. https://doi.org/10.1109/ICSTW.2014.17
The Mathworks Inc (2014) Simulink version 8. http://www.mathworks.com/products/simulink/
Weiland J, Manhart P (2014) A classification of modeling variability in Simulink. In: VaMoS’14 - 8th international workshop on variability modelling of software-intensive systems, pp 1–7
Zhan Y, Clark J (2005) Search-based mutation testing for Simulink models. In: GECCO’05 - genetic and evolutionary computation conference, pp 1061–1068
Acknowledgements
This work is supported in part by the Natural Sciences and Engineering Research Council (NSERC) of Canada as part of the NECSIS Automotive Partnership with General Motors, IBM Canada, and Malina Software Corp. and by an Ontario Research Fund Research Excellence grant.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this chapter
Cite this chapter
Alalfi, M.H., Rapos, E.J., Stevenson, A., Stephan, M., Dean, T.R., Cordy, J.R. (2019). Variability Identification and Representation for Automotive Simulink Models. In: Dajsuren, Y., van den Brand, M. (eds) Automotive Systems and Software Engineering. Springer, Cham. https://doi.org/10.1007/978-3-030-12157-0_6
Download citation
DOI: https://doi.org/10.1007/978-3-030-12157-0_6
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-12156-3
Online ISBN: 978-3-030-12157-0
eBook Packages: Computer ScienceComputer Science (R0)