Supervisory Controller Synthesis for Product Lines Using CIF 3

Using the CIF 3 toolset, we illustrate the general idea of controller synthesis for product line engineering for a prototypical example of a family of coffee machines. The challenge is to integrate a number of given components into a family of products such that the resulting behaviour is guaranteed to respect an attributed feature model as well as additional behavioural requirements. The proposed correctness-by-construction approach incrementally restricts the composed behaviour by subsequently incorporating feature constraints, attribute constraints and temporal constraints. The procedure as presented focusses on synthesis, but leaves ample opportunity to handle e.g. uncontrollable behaviour, dynamic reconfiguration, and product- and family-based analysis.

[1]  Walter Murray Wonham,et al.  On the complexity of supervisory control design in the RW framework , 2000, IEEE Trans. Syst. Man Cybern. Part B.

[2]  Axel Legay,et al.  Statistical Model Checking for Product Lines , 2016, ISoLA.

[3]  Pierre-Yves Schobbens,et al.  ProVeLines: a product line of verifiers for software product lines , 2013, SPLC '13 Workshops.

[4]  Wan Fokkink,et al.  Why is my supervisor empty? Finding causes for the unreachability of states in synthesized supervisors , 2016, 2016 13th International Workshop on Discrete Event Systems (WODES).

[5]  Alexander M. Gruler,et al.  A formal approach to software product families , 2010 .

[6]  Pierre-Yves Schobbens,et al.  Featured Transition Systems: Foundations for Verifying Variability-Intensive Systems and Their Application to LTL Model Checking , 2013, IEEE Transactions on Software Engineering.

[7]  Sven Apel,et al.  Family-based deductive verification of software product lines , 2012, GPCE '12.

[8]  Martin Leucker,et al.  Modeling and Model Checking Software Product Lines , 2008, FMOODS.

[9]  Twan Basten,et al.  Modular model-based supervisory controller design for wafer logistics in lithography machines , 2015, 2015 ACM/IEEE 18th International Conference on Model Driven Engineering Languages and Systems (MODELS).

[10]  Reiner Hähnle,et al.  A Liskov Principle for Delta-Oriented Programming , 2012, ISoLA.

[11]  Nachum Dershowitz,et al.  In handbook of automated reasoning , 2001 .

[12]  Maurice H. ter Beek,et al.  A Compositional Framework to Derive Product Line Behavioural Descriptions , 2012, ISoLA.

[13]  Javier Cámara,et al.  Theorem Proving for Product Line Model Verification , 2003, PFE.

[14]  Maurice H. ter Beek,et al.  VMC: A Tool for Product Variability Analysis , 2012, FM.

[15]  Reiner Hähnle,et al.  Fully Abstract Operation Contracts , 2014, ISoLA.

[16]  P. Ramadge,et al.  Supervisory control of a class of discrete event processes , 1987 .

[17]  Malte Lochau,et al.  DeltaCCS: A Core Calculus for Behavioral Change , 2014, ISoLA.

[18]  Erik P. de Vink,et al.  Using mCRL2 for the analysis of software product lines , 2014, FormaliSE 2014.

[19]  J. E. Rooda,et al.  Improving evolvability of a patient communication control system using state-based supervisory control synthesis , 2012, Adv. Eng. Informatics.

[20]  Pierre-Yves Schobbens,et al.  Model checking lots of systems: efficient verification of temporal properties in software product lines , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[21]  A. T. Hofkamp,et al.  CIF 3: Model-Based Engineering of Supervisory Controllers , 2014, TACAS.

[22]  Pierre-Yves Schobbens,et al.  Model checking software product lines with SNIP , 2012, International Journal on Software Tools for Technology Transfer.

[23]  Klaus Pohl,et al.  Software Product Line Engineering , 2005 .

[24]  Klaus Pohl,et al.  Software Product Line Engineering - Foundations, Principles, and Techniques , 2005 .

[25]  Wang Yi,et al.  UPPAAL 4.0 , 2006, Third International Conference on the Quantitative Evaluation of Systems - (QEST'06).

[26]  Klaus Pohl,et al.  Model Checking of Domain Artifacts in Product Line Engineering , 2009, 2009 IEEE/ACM International Conference on Automated Software Engineering.

[27]  Ina Schaefer,et al.  Variability Modelling for Model-Driven Development of Software Product Lines , 2010, VaMoS.

[28]  R. HoareC.A. Proof of a program , 1971 .

[29]  Pierre-Yves Schobbens,et al.  Formal semantics, modular specification, and symbolic verification of product-line behaviour , 2014, Sci. Comput. Program..

[30]  Knut Åkesson,et al.  Nonblocking and Safe Control of Discrete-Event Systems Modeled as Extended Finite Automata , 2011, IEEE Transactions on Automation Science and Engineering.

[31]  Edsger W. Dijkstra,et al.  A constructive approach to the problem of program correctness , 1968 .

[32]  Jasen Markovski,et al.  Coordination of resources using generalized state-based requirements , 2010, WODES.

[33]  Erik P. de Vink,et al.  Towards Modular Verification of Software Product Lines with mCRL2 , 2014, ISoLA.

[34]  Anthony Hall Correctness by Construction: Integrating Formality into a Commercial Development Process , 2002, FME.

[35]  Andrei Voronkov,et al.  Handbook of Automated Reasoning: Volume 1 , 2001 .

[36]  William R. Cook,et al.  Product lines of theorems , 2011, OOPSLA '11.

[37]  Christel Baier,et al.  Principles of model checking , 2008 .

[38]  Michal Antkiewicz,et al.  Clafer: unifying class and feature modeling , 2014, Software & Systems Modeling.

[39]  Sergio Segura,et al.  Automated analysis of feature models 20 years later: A literature review , 2010, Inf. Syst..

[40]  J. M. van de Mortel-Fronczak,et al.  Application of supervisory control theory to theme park vehicles , 2012, WODES.

[41]  Anthony Hall,et al.  Correctness by Construction: Developing a Commercial Secure System , 2002, IEEE Softw..

[42]  Axel Legay,et al.  Statistical analysis of probabilistic models of software product lines with quantitative constraints , 2015, SPLC.

[43]  Maurice H. ter Beek,et al.  Modelling and analysing variability in product families: Model checking of modal transition systems with variability constraints , 2016, J. Log. Algebraic Methods Program..

[44]  Erik P. de Vink,et al.  Towards a Feature mu-Calculus Targeting SPL Verification , 2016, FMSPLE.

[45]  Knut Åkesson,et al.  Modeling of discrete event systems using finite automata with variables , 2007, 2007 46th IEEE Conference on Decision and Control.

[46]  Daniel Jackson,et al.  Software Abstractions - Logic, Language, and Analysis , 2006 .