An approach to contract-based verification of Simulink models

This paper presents an approach to compositional contract-based verification of Simulink models, together with a tool that supports the approach. First, a format for contracts is presented together with a method to verify models with respect to these contracts. The verification approach uses Synchronous Data Flow (SDF) graphs as an intermediate step to obtain sequential program statements that can then be analysed using traditional refinement-based verification techniques. This gives a convenient approach to calculate the needed proof obligations using well established methods. Secondly, a tool for automatic generation of the proof obligations needed for verification is presented. This tool shows that the approach can be implemented and enables application of the method on practical problems.

[1]  Ralph-Johan Back,et al.  Trace Refinement of Action Systems , 1994, CONCUR.

[2]  Gabor Karsai,et al.  A visually-specified code generator for Simulink/Stateflow , 2005, 2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC'05).

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

[4]  簡聰富,et al.  物件導向軟體之架構(Object-Oriented Software Construction)探討 , 1989 .

[5]  K. Rustan M. Leino,et al.  Verification of Object-Oriented Programs with Invariants , 2003, J. Object Technol..

[6]  Anna Philippou,et al.  Tools and Algorithms for the Construction and Analysis of Systems , 2018, Lecture Notes in Computer Science.

[7]  Robin Milner,et al.  A Theory of Type Polymorphism in Programming , 1978, J. Comput. Syst. Sci..

[8]  Nicolas Halbwachs,et al.  LUSTRE: A declarative language for programming synchronous systems* , 1987 .

[9]  Edward A. Lee,et al.  Static Scheduling of Synchronous Data Flow Programs for Digital Signal Processing , 1989, IEEE Transactions on Computers.

[10]  Lionel Morel,et al.  Logical-time contracts for reactive embedded components , 2004, Proceedings. 30th Euromicro Conference, 2004..

[11]  Benjamin C. Pierce,et al.  Types and programming languages: the next generation , 2003, 18th Annual IEEE Symposium of Logic in Computer Science, 2003. Proceedings..

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

[13]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[14]  Karl Johan,et al.  Computer Control: An Overview , 2002 .

[15]  Jin Song Dong,et al.  Applying Timed Interval Calculus to Simulink Diagrams , 2006, ICFEM.

[16]  Cesare Tinelli,et al.  The SMT-LIB Standard: Version 1.2 , 2005 .

[17]  Ralph-Johan Back,et al.  Compositional Action System Refinement , 2003, Formal Aspects of Computing.

[18]  Daniel Grund,et al.  Rule Checking within the Model-Based Development of Safety-Critical Systems and Embedded Automotive Software , 2007, Eighth International Symposium on Autonomous Decentralized Systems (ISADS'07).

[19]  Lionel Morel,et al.  Stepwise Development of Simulink Models Using the Refinement Calculus Framework , 2007, ICTAC.

[20]  Ralph-Johan Back,et al.  Decentralization of process nets with centralized control , 1983, PODC '83.

[21]  Andy Schürr,et al.  The MATE Approach: Enhanced Simulink® and Stateflow® Model Transformation , 2007 .

[22]  Lionel Morel,et al.  Design and Implementation of Energy Saving Digital Hydraulic Control System , 2007 .

[23]  K. Rustan M. Leino,et al.  The Spec# Programming System: An Overview , 2004, CASSIS.

[24]  Jim Woodcock,et al.  The Semantics of Circus , 2002, ZB.

[25]  Lionel Morel,et al.  Design and Validation of Digital Controllers for Hydraulics Systems , 2007 .

[26]  Ana Cavalcanti,et al.  Verification of control systems using Circus , 2006, 11th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS'06).

[27]  Ralph-Johan Back,et al.  Refinement Calculus, Part I: Sequential Nondeterministic Programs , 1989, REX Workshop.

[28]  Kaisa Sere,et al.  Stepwise Refinement of Action Systems , 1991, Struct. Program..

[29]  Michael D. Ernst,et al.  An overview of JML tools and applications , 2003, International Journal on Software Tools for Technology Transfer.

[30]  Ralph-Johan Back,et al.  Encoding, Decoding and Data Refinement , 2000, Formal Aspects of Computing.

[31]  E.A. Lee,et al.  Synchronous data flow , 1987, Proceedings of the IEEE.