Advertisement

Symbolic Simulation of Dataflow Synchronous Programs with Timers

  • Guillaume BaudartEmail author
  • Timothy Bourke
  • Marc Pouzet
Chapter
Part of the Lecture Notes in Electrical Engineering book series (LNEE, volume 530)

Abstract

The synchronous language Lustre and its descendants have long been used to program and model discrete controllers. Recent work shows how to mix discrete and continuous elements in a Lustre-like language called Zélus. The resulting hybrid programs are deterministic and can be simulated with a numerical solver. In this article, we focus on a subset of hybrid programs where continuous behaviors are expressed using timers, nondeterministic guards, and invariants, as in Timed Safety Automata. We adapt a type system for mixing timers and discrete components and propose a source-to-source compilation pass to generate discrete code that, coupled with standard operations on Difference-Bound Matrices, produces symbolic traces that each represent a set of concrete traces.

Keywords

Symbolic simulation Synchronous languages Timed automata Hybrid systems Compilation Type system 

References

  1. 1.
    R. Alur, Formal verification of hybrid systems, in International Conference on Embedded Software (EMSOFT), Taiwan, Oct 2011, pp. 273–278Google Scholar
  2. 2.
    R. Alur, D.L. Dill, A theory of timed automata. Theor. Comput. Sci. 126(2), 183–235 (1994)MathSciNetCrossRefGoogle Scholar
  3. 3.
    G. Baudart, A Synchronous Approach to Quasi-Periodic Systems. Ph.D. thesis, PSL Research University, Mar 2017Google Scholar
  4. 4.
    K. Bauer, K. Schneider From synchronous programs to symbolic representations of hybrid systems, in International Conference on Hybrid Systems: Computation and Control (HSCC), Stockholm (ACM Press, Apr 2010), pp. 41–50Google Scholar
  5. 5.
    G. Behrmann, A. David, K.G. Larsen, J. Håkansson, P. Pettersson, W. Yi, M. Hendriks, Uppaal 4.0, in International Conference on the Quantitative Evaluation of Systems (QEST), Riverside (IEEE Computing Society, Sept 2006), pp. 125–126Google Scholar
  6. 6.
    J. Bengtsson, Clocks, DBMs and states in timed systems. Ph.D. thesis, Uppsala University (2002)Google Scholar
  7. 7.
    A. Benveniste, T. Bourke, B. Caillaud, M. Pouzet, Divide and recycle: types and compilation for a hybrid synchronous language, in Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES), Chicago, Apr 2011, pp. 61–70Google Scholar
  8. 8.
    A. Benveniste, T. Bourke, B. Caillaud, M. Pouzet, A hybrid synchronous language with hierarchical automata: static typing and translation to synchronous code, in International Conference on Embedded Software (EMSOFT), Taiwan, Oct 2011Google Scholar
  9. 9.
    B. Berthomieu, M. Menasche, An enumerative approach for analyzing Time Petri Nets, in World Computer Congress (IFIP), Sept 1983, pp. 41–46Google Scholar
  10. 10.
    V. Bertin, E. Closse, M. Poize, J. Pulou, J. Sifakis, P. Venier, D. Weil, S. Yovine, Taxys = Esterel + Kronos: a tool for verifying real-time properties of embedded systems, in CDC, Orlando (IEEE, Dec 2001), pp. 2875–2880Google Scholar
  11. 11.
    T. Bourke, M. Pouzet, Zélus: a synchronous language with ODEs, in International Conference on Hybrid Systems: Computation and Control (HSCC), Philadelphia, Apr 2013, pp. 113–118Google Scholar
  12. 12.
    P. Caspi, The quasi-synchronous approach to distributed control systems. Technical Report CMA/009931, VERIMAG, Crysis Project, May 2000. The Cooking Book Google Scholar
  13. 13.
    P. Caspi, D. Pilaud, N. Halbwachs, J. Plaice, Lustre: a declarative language for programming synchronous systems, in Symposium on Principles of Programming Languages (POPL), Germany, Jan 1987, pp. 178–188Google Scholar
  14. 14.
    F. Cassez, K.G. Larsen, The impressive power of stopwatches, in International Conference on Concurrency Theory (CONCUR), State College, Aug 2000, pp. 138–152CrossRefGoogle Scholar
  15. 15.
    A. Champion, A. Mebsout, C. Sticksel, C. Tinelli, The Kind 2 model checker, in International Conference on Computer Aided Verification (CAV), Canada, July 2016, pp. 510–517Google Scholar
  16. 16.
    D.L. Dill, Timing assumptions and verification of finite-state concurrent systems, in International Workshop on Automatic Verification Methods for Finite State Systems (AVMFSS), France, June 1990, pp. 197–212CrossRefGoogle Scholar
  17. 17.
    D. Garriou, Symbolic simulation of synchronous programs. Electron. Notes Theor. Comput. Sci. 65(5), 11–18 (2002)CrossRefGoogle Scholar
  18. 18.
    N. Halbwachs, Delay analysis in synchronous programs, in International Conference on Computer Aided Verification (CAV), Greece, June 1993, pp. 333–346CrossRefGoogle Scholar
  19. 19.
    T.A. Henzinger, X. Nicollin, J. Sifakis, S. Yovine, Symbolic model checking for real-time systems. Inf. Comput. 111(2), 192–244 (1994)MathSciNetCrossRefGoogle Scholar
  20. 20.
    T. Isenberg, H. Wehrheim, Timed automata verification via IC3 with zones, in International Conference on Formal Methods and Software Engineering (ICFEM). Lecture Notes in Computer Science, vol. 8829, Nov 2014, pp. 203–218Google Scholar
  21. 21.
    M. Jourdan, F. Maraninchi, A. Olivero, Verifying quantitative real-time properties of synchronous programs, in International Conference on Computer Aided Verification (CAV), Greece, June 1993Google Scholar
  22. 22.
    R. Kindermann, T. Junttila, I. Niemelä, SMT-based induction methods for timed systems, in International Conference on Formal Modeling and Analysis of Timed Systems (FORMATS). Lecture Notes in Computer Science, vol. 7595, Sept 2012, pp. 171–187Google Scholar
  23. 23.
    K.G. Larsen, P. Pettersson, Y. Wang, Uppaal in a nutshell. Int. J. Softw. Tools Technol. Transfer 1(1–2), 134–152 (1997)CrossRefGoogle Scholar
  24. 24.
    G. Logothetis, K. Schneider, Extending synchronous languages for generating abstract real-time models, in Design, Automation, and Test in Europe (DATE), France, Mar 2002Google Scholar
  25. 25.
    C. Mauras, Symbolic simulation of interpreted automata, in International Workshop on Synchronous Programming (SYNCHRON), Germany, Dec 1996Google Scholar
  26. 26.
    A. Miné, The octagon abstract domain. Higher-Order Symb. Comput. 19(1), 31–100 (2006)MathSciNetCrossRefGoogle Scholar
  27. 27.
    G. Morbé, F. Pigorsch, C. Scholl, Fully symbolic model checking for timed automata, in International Conference on Computer Aided Verification (CAV). Lecture Notes in Computer Science, vol. 6806, July 2011, pp. 616–632Google Scholar
  28. 28.
    P. Raymond, Y. Roux, E. Jahier, Lutin: a language for specifying and executing reactive scenarios. EURASIP J. Embed. Syst. 2008, 1–11, (2008)CrossRefGoogle Scholar
  29. 29.
    P. Raymond, Y. Roux, E. Jahier, Specifying and executing reactive scenarios with Lutin. Electron. Notes Theor. Comput. Sci. 203(4), 19–34 (2008)CrossRefGoogle Scholar
  30. 30.
    F.W. Vaandrager, A.L. de Groot, Analysis of a biphase mark protocol with Uppaal and PVS. Form. Asp. Comput. 18(4), 433–458 (2006)CrossRefGoogle Scholar
  31. 31.
    F. Wang, Efficient verification of timed automata with BDD-like data structures. Int. J. Softw. Tools Technol. Transfer 6, 77–97 (2004)CrossRefGoogle Scholar
  32. 32.
    S. Yovine, Kronos: a verification tool for real-time systems. Int. J. Softw. Tools Technol. Transfer 1(1), 123–133 (1997)CrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  • Guillaume Baudart
    • 1
    Email author
  • Timothy Bourke
    • 2
  • Marc Pouzet
    • 3
  1. 1.IBM ResearchT.J. Watson Research CenterYorktown HeightsUSA
  2. 2.Inria Paris, École normale supérieurePSL UniversityParisFrance
  3. 3.Sorbonne Universités UPMC Univ Paris 06École normale supérieure, PSL University, Inria ParisParisFrance

Personalised recommendations