Skip to main content

A Synchronous Effects Logic for Temporal Verification of Pure Esterel

  • Conference paper
  • First Online:
Book cover Verification, Model Checking, and Abstract Interpretation (VMCAI 2021)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 12597))

Abstract

Esterel is an imperative synchronous language that has found success in many safety-critical applications. Its precise semantics makes it natural for programming and reasoning. Existing techniques tackle either one of its main challenges: correctness checking or temporal verification. To resolve the issues simultaneously, we propose a new solution via a Hoare-style forward verifier and a term rewriting system (TRS) on Synced Effects. The first contribution is, by deploying a novel effects logic, the verifier computes the deterministic program behaviour via construction rules at the source level, defining program evaluation syntactically. As a second contribution, by avoiding the complex translation from LTL formulas to Esterel programs, our purely algebraic TRS efficiently checks temporal properties described by expressive Synced Effects. To demonstrate our method’s feasibility, we prototype this logic; prove its correctness; provide experimental results, and a number of case studies.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 79.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 99.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

      is the Esterel equivalent of unit, void or skip in other languages.

  2. 2.

    The signals shown in one time instance represent the minimal set of signals which are required/guaranteed to be there. An empty set \(\mathtt {\{\}}\) refers to any set of signals.

  3. 3.

    If the event sequence is possibly empty, i.e. contains \({{{{\mathtt {\mathcal {E} }}} }}\), we call it nullable, formally defined in Definition 1.

  4. 4.

    The difference between \(\mathbf{S = \theta }\) and \(\mathbf{S \mapsto \theta }\) is: the former one denotes the constraints along the execution path, which creates false if there are two different status assignments to the same signal; while the latter one records the current status of one signal, and will be overwritten when the presence of a signal had been determined.

  5. 5.

    As in having more constraints refers to a smaller set of satisfying instances.

  6. 6.

    Our implementation provides a LTL-to-Effects translator.

References

  1. Anderson, C.J., et al.: NetKAT: semantic foundations for networks. ACM SIGPLAN Notices 49(1), 113–126 (2014)

    Article  MATH  Google Scholar 

  2. Antimirov, V.: Partial derivatives of regular expressions and finite automata constructions. In: Mayr, E.W., Puech, C. (eds.) STACS 1995. LNCS, vol. 900, pp. 455–466. Springer, Heidelberg (1995). https://doi.org/10.1007/3-540-59042-0_96

    Chapter  Google Scholar 

  3. Antimirov, V., Mosses, P.: Rewriting extended regular expressions. Theoret. Comput. Sci. 143(1), 51–72 (1995)

    Article  MathSciNet  MATH  Google Scholar 

  4. Berry, G.: The constructive semantics of pure Esterel-draft version 3. Draft Version, 3 (1999)

    Google Scholar 

  5. Berry, G.: The Esterel v5 language primer: version v5\_91. Centre de mathématiques appliquées, Ecole des mines and INRIA (2000)

    Google Scholar 

  6. Berry, G., Gonthier, G.: The Esterel synchronous programming language: design, semantics, implementation. Sci. Comput. Program. 19(2), 87–152 (1992)

    Article  MATH  Google Scholar 

  7. Berry, G., Nicolas, C., Serrano, M.: Hiphop: a synchronous reactive extension for Hop. In: Proceedings of the 1st ACM SIGPLAN International Workshop on Programming Language and Systems Technologies for Internet Clients, pp. 49–56 (2011)

    Google Scholar 

  8. Broda, S., Cavadas, S., Ferreira, M., Moreira, N.: Deciding synchronous Kleene algebra with derivatives. In: Drewes, F. (ed.) CIAA 2015. LNCS, vol. 9223, pp. 49–62. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-22360-5_5

    Chapter  Google Scholar 

  9. Brotherston J.: Cyclic proofs for first-order logic with inductive definitions. In: Beckert B. (eds) Automated Reasoning with Analytic Tableaux and Related Methods. TABLEAUX 2005. LNCS, vol 3702. Springer, Heidelberg (2005). https://doi.org/10.1007/11554554_8

  10. De Wulf, M., Doyen, L., Henzinger, T.A., Raskin, J.-F.: Antichains: a new algorithm for checking universality of finite automata. In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 17–30. Springer, Heidelberg (2006). https://doi.org/10.1007/11817963_5

    Chapter  Google Scholar 

  11. Edwards, S.A.: The Columbia Esterel Compiler (2006). http://www.cs.columbia.edu/~sedwards/cec/

  12. Florence, S.P., You, S.H., Tov, J.A., Findler, R.B.: A calculus for Esterel: if can, can. if no can, no can. Proc. ACM Program. Lang. 3(POPL), 1–29 (2019)

    Google Scholar 

  13. Gonthier, G.: Sémantiques et modèles d’exécution des langages réactifs synchrones: application à ESTEREL. Ph.D. thesis, Paris 11, (1988)

    Google Scholar 

  14. Hovland, D.: The inclusion problem for regular expressions. J. Comput. Syst. Sci. 78(6), 1795–1813 (2012)

    Article  MathSciNet  MATH  Google Scholar 

  15. Jagadeesan, L.J., Puchol, C., Von Olnhausen, J.E.: Safety property verification of Esterel programs and applications to telecommunications software. In: Wolper, P. (ed.) CAV 1995. LNCS, vol. 939, pp. 127–140. Springer, Heidelberg (1995). https://doi.org/10.1007/3-540-60045-0_45

    Chapter  Google Scholar 

  16. Keil, M., Thiemann, P.: Symbolic solving of extended regular expression inequalities. arXiv preprint arXiv:1410.3227 (2014)

  17. Palshikar, G.K.: An introduction to Esterel. Embed. Syst. Program. 14(11), 1–12 (2001)

    Google Scholar 

  18. Prisacariu, C.: Synchronous Kleene algebra. J. Logic Algebraic Program. 79(7), 608–635 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  19. Song, Y.: Synced effects source code (2020). https://github.com/songyahui/SyncedEffects.git

  20. Song, Y., Chin, W.-N.: Automated temporal verification of integrated dependent effects. In: International Conference on Formal Engineering Methods (2020)

    Google Scholar 

  21. Song, Y., Chin, W.-N.:Technical report (2020). https://www.comp.nus.edu.sg/~yahuis/VMCAI2021.pdf

  22. Sun, J., Liu, Y., Dong, J.S., Pang, J.: PAT: towards flexible verification under fairness. In: Bouajjani, A., Maler, O. (eds.) CAV 2009. LNCS, vol. 5643, pp. 709–714. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-02658-4_59

    Chapter  Google Scholar 

  23. Tardieu, O.: A deterministic logical semantics for Esterel. Electron. Notes Theoret. Comput. Sci. 128(1), 103–122 (2005)

    Article  MATH  Google Scholar 

  24. Vidal, C., Berry, G., Serrano, M.: Hiphop. js: a language to orchestrate web applications. In: Proceedings of the 33rd Annual ACM Symposium on Applied Computing, pp. 2193–2195 (2018)

    Google Scholar 

Download references

Acknowlegement

We would like to thank the referees of VMCAI 2021 for most helpful advices. This work is supported by NRF grant R-252-007-A50-281 and MoE Tier-1 R-252-000-A63-114.

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Yahui Song or Wei-Ngan Chin .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2021 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Song, Y., Chin, WN. (2021). A Synchronous Effects Logic for Temporal Verification of Pure Esterel. In: Henglein, F., Shoham, S., Vizel, Y. (eds) Verification, Model Checking, and Abstract Interpretation. VMCAI 2021. Lecture Notes in Computer Science(), vol 12597. Springer, Cham. https://doi.org/10.1007/978-3-030-67067-2_19

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-67067-2_19

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-67066-5

  • Online ISBN: 978-3-030-67067-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics