Code Synthesis for Timed Automata

We present a framework for the development of real-time embedded systems based on timed automata extended with a notion of real-time tasks. It has been shown previously that teachability and schedulability for such automata can be checked effectively using model checking techniques. In this paper, we propose to use the extended automata as design models. We describe how to compile design models to executable programs with predictable behaviours. The compiling procedure ensures that the execution of the generated code satisfies mixed timing, resource and logical constraints imposed on the design model. To demonstrate the applicability of the framework, a prototype C-code generator based on the legOS operating system has been implemented in the TIMES tool and applied to develop the control software for a production cell. The production cell has been built in LEGO® equipped with a Hitachi H8 based LEGO® Mindstorms control brick.

[1]  Panos J. Antsaklis,et al.  Special issue on hybrid systems: theory and applications a brief introduction to the theory and applications of hybrid systems , 2000, Proc. IEEE.

[2]  Gerard J. Holzmann,et al.  Design and validation of computer protocols , 1991 .

[3]  Wang Yi,et al.  Timed Automata with Asynchronous Processes: Schedulability and Decidability , 2002, TACAS.

[4]  Wang Yi,et al.  Timed automata as task models for event-driven systems , 1999, Proceedings Sixth International Conference on Real-Time Computing Systems and Applications. RTCSA'99 (Cat. No.PR00306).

[5]  Thomas Stauner,et al.  Using HYTECH to Verify an Automative Control System , 1997, HART.

[6]  Kim G. Larsen,et al.  The Use of Static Constructs in A Modal Process Logic , 1989, Logic at Botik.

[7]  Theo C. Ruys,et al.  The Bounded Retransmission Protocol Must Be on Time! , 1997, TACAS.

[8]  Wang Yi,et al.  Schedulability Analysis Using Two Clocks , 2003, TACAS.

[9]  Martin Karlsson,et al.  Cache memory design trade-offs for current and emerging workloads , 2003 .

[10]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..

[11]  Edmund M. Clarke,et al.  Compositional model checking , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[12]  Wang Yi,et al.  Uppaal in a nutshell , 1997, International Journal on Software Tools for Technology Transfer.

[13]  Johan Bengtsson,et al.  Clocks, DBMS and States in Timed Systems , 2002 .

[14]  Edmund M. Clarke,et al.  Symbolic Model Checking: 10^20 States and Beyond , 1990, Inf. Comput..

[15]  Wang Yi,et al.  UPPAAL - Now, Next, and Future , 2000, MOVEP.

[16]  Edmund M. Clarke,et al.  Formal Methods: State of the Art and Future Directions Working Group Members , 1996 .

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

[18]  Kenneth L. McMillan,et al.  Symbolic model checking , 1992 .

[19]  Henrik Lundgren Implementation and real-world evaluation of routing protocols for wireless ad hoc networks , 2002 .

[20]  Edward A. Lee,et al.  Synthesis of Embedded Software from Synchronous Dataflow Specifications , 1999, J. VLSI Signal Process..

[21]  Itu-T Specification and Description Language (SDL) , 1999 .

[22]  Amnon Naamad,et al.  The STATEMATE semantics of statecharts , 1996, TSEM.

[23]  T. Henzinger The theory of hybrid automata , 1996, LICS 1996.

[24]  Rajeev Alur,et al.  A Theory of Timed Automata , 1994, Theor. Comput. Sci..

[25]  Gérard Berry,et al.  The Esterel Synchronous Programming Language: Design, Semantics, Implementation , 1992, Sci. Comput. Program..

[26]  Luciano Lavagno,et al.  Synthesis of Software Programs for Embedded Control Applications , 1999, 32nd Design Automation Conference.

[27]  Zoran Radovic,et al.  Efficient synchronization and coherence for nonuniform communication architectures , 2003 .

[28]  Dan Wallin,et al.  Exploiting data locality in adaptive architectures , 2003 .

[29]  Wang Yi,et al.  Compositional and symbolic model-checking of real-time systems , 1995, Proceedings 16th IEEE Real-Time Systems Symposium.

[30]  Wang Yi,et al.  Formal design and analysis of a gear controller , 1998, International Journal on Software Tools for Technology Transfer.

[31]  Stavros Tripakis,et al.  The Tool KRONOS , 1996, Hybrid Systems.

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

[33]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[34]  Wang Yi,et al.  Verification of an Audio Protocol with Bus Collision Using UPPAAL , 1996, CAV.

[35]  Edmund M. Clarke,et al.  Model checking and abstraction , 1994, TOPL.

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

[37]  Wang Yi,et al.  UPPAAL - a Tool Suite for Automatic Verification of Real-Time Systems , 1996, Hybrid Systems.

[38]  Wang Yi,et al.  TIMES: A Tool for Schedulability Analysis and Code Generation of Real-Time Systems , 2003, FORMATS.

[39]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[40]  Luciano Lavagno,et al.  Synthesis of software programs for embedded control applications , 1999, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[41]  Wang Yi,et al.  TIMES - A Tool for Modelling and Implementation of Embedded Systems , 2002, TACAS.

[42]  Jenny Persson Basic values in software development and organizational change , 2003 .

[43]  Johan Lilius,et al.  Formalising UML State Machines for Model Checking , 1999, UML.

[44]  Yi Wang A calculus of real time systems , 1991 .

[45]  Thomas A. Henzinger,et al.  HYTECH: a model checker for hybrid systems , 1997, International Journal on Software Tools for Technology Transfer.

[46]  Claus Lewerentz,et al.  Formal Development of Reactive Systems: Case Study Production Cell , 1995 .

[47]  Stavros Tripakis,et al.  Kronos: A Model-Checking Tool for Real-Time Systems , 1998, CAV.

[48]  Sérgio Vale Aguiar Campos,et al.  Symbolic Model Checking , 1993, CAV.

[49]  Walid Dabbous,et al.  Generating efficient protocol code from an abstract specification , 1996, SIGCOMM '96.

[50]  Malin Ljungberg Handling of curvilinear coordinates in a PDE solver framework , 2003 .

[51]  A. Hindmarsh,et al.  CVODE, a stiff/nonstiff ODE solver in C , 1996 .

[52]  Sergio Yovine,et al.  KRONOS: a verification tool for real-time systems , 1997, International Journal on Software Tools for Technology Transfer.

[53]  Stavros Tripakis,et al.  Model Checking of Real-Time Reachability Properties Using Abstractions , 1998, TACAS.