A Nondeterministic and Abstract Algorithm for Translating Hierarchical Block Diagrams

In this paper we introduce a nondeterministic algorithm for translating hierarchical block diagrams (HBDs) into an abstract algebra of components with three basic composition operations (serial, parallel, and feedback) and with three constants (split, switch, and sink). We prove that despite its internal nondeterminism, the result of the algorithm is deterministic, meaning that all possible algebra expressions that can be generated from a given HBD are equivalent. Then, different determinizations of the algorithm result in different translation strategies which are all semantically equivalent, although each having its pros and cons with respect to various criteria (compositionality, readability, simplifiability, etc.). As an application of our framework, we show how two translation strategies for Simulink introduced in previous work can be formalized as determinizations of the abstract algorithm. We also prove these strategies equivalent, thus answering an open question raised in the earlier work. All results are formalized and proved in Isabelle.

[1]  Brian A. Davey,et al.  An Introduction to Lattices and Order , 1989 .

[2]  Paula Herber,et al.  Proving Transformation Correctness of Refactorings for Discrete and Continuous Simulink Models , 2016, ICONS 2016.

[3]  Gérard Berry,et al.  The constructive semantics of pure esterel , 1996 .

[4]  Goran Frehse,et al.  SL2SX Translator: From Simulink to SpaceEx Models , 2016, HSCC.

[5]  Stavros Tripakis,et al.  Towards Compositional Feedback in Non-Deterministic and Non-Input-Receptive Systems* , 2015, 2016 31st Annual ACM/IEEE Symposium on Logic in Computer Science (LICS).

[6]  Stavros Tripakis,et al.  Compositional Semantics and Analysis of Hierarchical Block Diagrams , 2016, SPIN.

[7]  Jun Sun,et al.  A formal framework for modeling and validating Simulink diagrams , 2009, Formal Aspects of Computing.

[8]  Stavros Tripakis,et al.  Translating discrete-time simulink to lustre , 2003, TECS.

[9]  Ofer Strichman,et al.  Translation Validation: From Simulink to C , 2009, CAV.

[10]  Sabine Glesner,et al.  Formal Verification of Discrete-Time MATLAB/Simulink Models Using Boogie , 2014, SEFM.

[11]  Stephen A. Edwards,et al.  The semantics and execution of a synchronous block-diagram language , 2003, Sci. Comput. Program..

[12]  Jürgen Dingel,et al.  Formal Verification Techniques for Model Transformations: A Tridimensional Classification , 2015, J. Object Technol..

[13]  Gabor Karsai,et al.  Semantic Translation of Simulink/Stateflow Models to Hybrid Automata Using Graph Transformations , 2004, GT-VMT@ETAPS.

[14]  Joseph Sifakis,et al.  Compositional translation of simulink models into synchronous BIP , 2010, International Symposium on Industrial Embedded System (SIES).

[15]  Alexandre Chapoutot,et al.  An operational semantics for Simulink's simulation engine , 2012, LCTES 2012.

[16]  Valeriy Vyatkin,et al.  Transformation of Simulink models to IEC 61499 Function Blocks for verification of distributed control systems , 2012 .

[17]  Sharad Malik Analysis of cyclic combinational circuits , 1994, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[18]  Shengchao Qin,et al.  Verifying Simulink diagrams via a Hybrid Hoare Logic Prover , 2013, 2013 Proceedings of the International Conference on Embedded Software (EMSOFT).

[19]  Cristian S. Calude,et al.  Discrete Mathematics and Theoretical Computer Science , 2003, Lecture Notes in Computer Science.

[20]  Tobias Nipkow,et al.  A Proof Assistant for Higher-Order Logic , 2002 .

[21]  Glynn Winskel,et al.  A relational model of non-deterministic dataflow , 1998, Mathematical Structures in Computer Science.

[22]  Edsger W. Dijkstra,et al.  Guarded commands, nondeterminacy and formal derivation of programs , 1975, Commun. ACM.

[23]  Jon Whittle,et al.  A survey of approaches for verifying model transformations , 2013, Software & Systems Modeling.

[24]  Ratnesh Kumar,et al.  Semantic Translation of Simulink Diagrams to Input/Output Extended Finite Automata , 2012, Discret. Event Dyn. Syst..

[25]  Luciano Baresi,et al.  Verification of Model Transformations: A Case Study with BPEL , 2006, TGC.

[26]  Jürgen Dingel,et al.  Model transformation intents and their properties , 2016, Software & Systems Modeling.

[27]  Stavros Tripakis,et al.  Refinement calculus of reactive systems , 2014, 2014 International Conference on Embedded Software (EMSOFT).

[28]  Sudeepa Roy,et al.  Tool for Translating Simulink Models into Input Language of a Model Checker , 2006, ICFEM.

[29]  Ralph-Johan Back,et al.  Refinement Calculus: A Systematic Introduction , 1998 .