Analyzing Variability in Automation Software with the Variability Analysis Toolkit

Control software for automated production systems (aPs) becomes increasingly complex as it evolves due to changing requirements. To address varying customer demands or altered regulatory guidelines, it is common practice to create a new system variant by copying and subsequently modifying existing control software. Referred to as clone-and-own, proper documentation is typically not cherished, thereby entailing severe maintenance issues in the long-run. To mitigate such problems and to reinstate sustainable development, respective software systems need to be compared and their variability information needs to be reverse-engineered. However, recent work identified variability management in the domain of aPs to remain a challenging endevour and appropriate tool support to be missing. We bridge this gap and introduce the Variability Analysis Toolkit (VAT), an extensible platform that allows for the customizable definition of metrics to compare IEC61131-3 control software variants as well as providing means to visualize results. The VAT facilitates a working environment that allows for the exchange of produced results between users. By that, we aim to support engineers in re-engineering control software systems by providing them with means to define metrics based on their individual demands. We demonstrate the feasibility of the VAT using 24 software system variants implemented in accordance to the IEC61131-3 standard.

[1]  Roland J. Weiss,et al.  Sustainability guidelines for long-living software systems , 2012, 2012 28th IEEE International Conference on Software Maintenance (ICSM).

[2]  Mustafa Al-Hajjaji,et al.  Similarity analysis of product-line variants , 2018, SPLC.

[3]  David Wille Managing lots of models: the FaMine approach , 2014, FSE 2014.

[4]  Martin Becker,et al.  Variability code analysis using the VITAL tool , 2014, FOSD '14.

[5]  Bernhard Rumpe,et al.  Modeling Variants of Automotive Systems using Views , 2014, ArXiv.

[6]  Claudio Riva,et al.  Experiences with software product family evolution , 2003, Sixth International Workshop on Principles of Software Evolution, 2003. Proceedings..

[7]  Birgit Vogel-Heuser,et al.  Evolution in industrial plant automation: A case study , 2013, IECON 2013 - 39th Annual Conference of the IEEE Industrial Electronics Society.

[8]  Rabih Bashroush,et al.  CASE Tool Support for Variability Management in Software Product Lines , 2017 .

[9]  Bernhard Schätz,et al.  Model clone detection in practice , 2010, IWSC '10.

[10]  Marsha Chechik,et al.  Quality of Merge-Refactorings for Product Lines , 2013, FASE.

[11]  Neil A. Ernst,et al.  Measure it? Manage it? Ignore it? software practitioners and technical debt , 2015, ESEC/SIGSOFT FSE.

[12]  Klaus Schmid,et al.  Analysing the Kconfig semantics and its analysis tools , 2015, GPCE.

[13]  Vladimir I. Levenshtein,et al.  Binary codes capable of correcting deletions, insertions, and reversals , 1965 .

[14]  Sergio Segura,et al.  Automated metamorphic testing of variability analysis tools , 2015, Softw. Test. Verification Reliab..

[15]  William G. Griswold,et al.  The structure and value of modularity in software design , 2001, ESEC/FSE-9.

[16]  Jacques Klein,et al.  Automating the Extraction of Model-Based Software Product Lines from Model Variants (T) , 2015, 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[17]  Danilo Beuche,et al.  Functional safety and variability: can it be brought together? , 2013, SPLC '13.

[18]  Alexandre Yakovlev,et al.  VARMA—VARiability modelling and analysis tool , 2012, 2012 IEEE 15th International Symposium on Design and Diagnostics of Electronic Circuits & Systems (DDECS).

[19]  Birgit Vogel-Heuser,et al.  Variability management for automated production systems using product lines and feature models , 2016, 2016 IEEE 14th International Conference on Industrial Informatics (INDIN).

[20]  Marsha Chechik,et al.  Combining Related Products into Product Lines , 2012, FASE.

[21]  Birgit Vogel-Heuser,et al.  Evolution of software in automated production systems: Challenges and research directions , 2015, J. Syst. Softw..

[22]  Bernhard Rumpe,et al.  Evaluation of Variability Concepts for Simulink in the Automotive Domain , 2015, 2015 48th Hawaii International Conference on System Sciences.

[23]  Birgit Vogel-Heuser,et al.  Family model mining for function block diagrams in automation software , 2014, SPLC '14.

[24]  Birgit Vogel-Heuser,et al.  A Qualitative Study of Variability Management of Control Software for Industrial Automation Systems , 2018, 2018 IEEE International Conference on Software Maintenance and Evolution (ICSME).

[25]  Antonio Ruiz Cortés,et al.  FAMA Framework , 2008, 2008 12th International Software Product Line Conference.