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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
is the Esterel equivalent of unit, void or skip in other languages.
- 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.
If the event sequence is possibly empty, i.e. contains \({{{{\mathtt {\mathcal {E} }}} }}\), we call it nullable, formally defined in Definition 1.
- 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.
As in having more constraints refers to a smaller set of satisfying instances.
- 6.
Our implementation provides a LTL-to-Effects translator.
References
Anderson, C.J., et al.: NetKAT: semantic foundations for networks. ACM SIGPLAN Notices 49(1), 113–126 (2014)
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
Antimirov, V., Mosses, P.: Rewriting extended regular expressions. Theoret. Comput. Sci. 143(1), 51–72 (1995)
Berry, G.: The constructive semantics of pure Esterel-draft version 3. Draft Version, 3 (1999)
Berry, G.: The Esterel v5 language primer: version v5\_91. Centre de mathématiques appliquées, Ecole des mines and INRIA (2000)
Berry, G., Gonthier, G.: The Esterel synchronous programming language: design, semantics, implementation. Sci. Comput. Program. 19(2), 87–152 (1992)
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)
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
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
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
Edwards, S.A.: The Columbia Esterel Compiler (2006). http://www.cs.columbia.edu/~sedwards/cec/
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)
Gonthier, G.: Sémantiques et modèles d’exécution des langages réactifs synchrones: application à ESTEREL. Ph.D. thesis, Paris 11, (1988)
Hovland, D.: The inclusion problem for regular expressions. J. Comput. Syst. Sci. 78(6), 1795–1813 (2012)
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
Keil, M., Thiemann, P.: Symbolic solving of extended regular expression inequalities. arXiv preprint arXiv:1410.3227 (2014)
Palshikar, G.K.: An introduction to Esterel. Embed. Syst. Program. 14(11), 1–12 (2001)
Prisacariu, C.: Synchronous Kleene algebra. J. Logic Algebraic Program. 79(7), 608–635 (2010)
Song, Y.: Synced effects source code (2020). https://github.com/songyahui/SyncedEffects.git
Song, Y., Chin, W.-N.: Automated temporal verification of integrated dependent effects. In: International Conference on Formal Engineering Methods (2020)
Song, Y., Chin, W.-N.:Technical report (2020). https://www.comp.nus.edu.sg/~yahuis/VMCAI2021.pdf
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
Tardieu, O.: A deterministic logical semantics for Esterel. Electron. Notes Theoret. Comput. Sci. 128(1), 103–122 (2005)
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)
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
Corresponding authors
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 Springer Nature Switzerland AG
About this paper
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)