Variability Identification and Representation for Automotive Simulink Models

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.

[1]  James R. Cordy,et al.  Submodel pattern extraction for simulink models , 2013, SPLC '13.

[2]  James R. Cordy,et al.  The TXL source transformation language , 2006, Sci. Comput. Program..

[3]  John A. Clark,et al.  Search-based mutation testing for Simulink models , 2005, GECCO '05.

[4]  Jens Weiland,et al.  A classification of modeling variability in simulink , 2014, VaMoS '14.

[5]  Stephen A. Cook,et al.  The complexity of theorem-proving procedures , 1971, STOC.

[6]  James R. Cordy,et al.  Models are code too: Near-miss clone detection for Simulink models , 2012, 2012 28th IEEE International Conference on Software Maintenance (ICSM).

[7]  Kevin A. Schneider,et al.  Processing software source text in automated design recovery and transformation , 2001, Proceedings 9th International Workshop on Program Comprehension. IWPC 2001.

[8]  Thanh Binh Nguyen,et al.  Mutation Operators for Simulink Models , 2012, 2012 Fourth International Conference on Knowledge and Systems Engineering.

[9]  James R. Cordy,et al.  MuMonDE: A framework for evaluating model clone detectors using model mutation analysis , 2018, Softw. Test. Verification Reliab..

[10]  Marsha Chechik,et al.  A framework for managing cloned product variants , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[11]  Paulo César Masiero,et al.  Managing SPL Variabilities in UAV Simulink Models with Pure: : variants and Hephaestus , 2013, CLEI Electron. J..

[12]  James R. Cordy,et al.  Semi-automatic Identification and Representation of Subsystem Variability in Simulink Models , 2014, 2014 IEEE International Conference on Software Maintenance and Evolution.

[13]  Klaus Kabitzsch,et al.  Automatic variation-point identification in function-block-based models , 2010, GPCE '10.

[14]  Bernhard Rumpe,et al.  First-class variability modeling in Matlab/Simulink , 2013, VaMoS.

[15]  Chanchal Kumar Roy,et al.  NICAD: Accurate Detection of Near-Miss Intentional Clones Using Flexible Pretty-Printing and Code Normalization , 2008, 2008 16th IEEE International Conference on Program Comprehension.

[16]  Krzysztof Czarnecki,et al.  Cool features and tough decisions: a comparison of variability modeling approaches , 2012, VaMoS.

[17]  J. Cordy,et al.  A Survey of Methods and Applications of Model Comparison Technical Report 2011-582 Rev . 3 , 2011 .

[18]  Bernhard Schätz,et al.  Clone detection in automotive model-based development , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[19]  Daniel Kroening,et al.  Test-case generation for embedded simulink via formal concept analysis , 2011, 2011 48th ACM/EDAC/IEEE Design Automation Conference (DAC).

[20]  Marsha Chechik,et al.  Managing cloned variants: a framework and experience , 2013, SPLC '13.

[21]  James R. Cordy,et al.  SimNav: Simulink navigation of model clone classes , 2015, 2015 IEEE 15th International Working Conference on Source Code Analysis and Manipulation (SCAM).

[22]  Hamid Abdul Basit,et al.  of the Eighth International , 2014 .

[23]  James R. Cordy,et al.  A Survey of Model Comparison Approaches and Applications , 2013, MODELSWARD.

[24]  Jan Bosch,et al.  Systems and Software Variability Management , 2013, Springer Berlin Heidelberg.

[25]  Christian Kästner,et al.  Variability Mining: Consistent Semi-automatic Detection of Product-Line Features , 2014, IEEE Transactions on Software Engineering.

[26]  James R. Cordy,et al.  Towards a Taxonomy for Simulink Model Mutations , 2014, 2014 IEEE Seventh International Conference on Software Testing, Verification and Validation Workshops.

[27]  Luiz Velho,et al.  Production framework for full panoramic scenes with photorealistic augmented reality , 2012, 2012 XXXVIII Conferencia Latinoamericana En Informatica (CLEI).