Skip to main content

Certifying Synchrony for Free

  • Conference paper
  • First Online:
Logic for Programming, Artificial Intelligence, and Reasoning (LPAR 2001)

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 2250))

Abstract

We express reactive programs in COQ using data-flow synchronous operators. Following LUID-SYNCHROME approach, synchronous static constraints are here expressed using dependent types. Hence, our analysis of synchrony is here directly performed by COQtypechecker.

The LS compiler is available at: http://www-spi.lip6.fr/lucid-synchrone/

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 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Barras B, et al. The Coq Proof Assistant Reference Manual, version 6.3.1. Coq Project, INRIA-Rocquencourt, May 2000.

    Google Scholar 

  2. Bensalem S, et al. A methodology for proving control programs with Lustre and PVS. In Dependable Computingfor Critical Applications, DCCA-7. IEEE Computer Society, January 1999.

    Google Scholar 

  3. Boulmé S and Hamon G. A clocked denotational semantics for Lucid-Synchrone in Coq. Technical report, LIP6, 2001. Available at http://www-spi.lip6.fr/lucid-synchrone/lucid_in_coq_report.ps.

  4. Benveniste A, et al. Synchronous programming with events and relations: The Signal language and its semantics. Science of Computer Programming, 16:103–149, 1991.

    Article  MATH  MathSciNet  Google Scholar 

  5. Caspi P. Clocks in dataflow languages. Theorical Computer Science, 94:125–140, 1992.

    Article  MATH  MathSciNet  Google Scholar 

  6. Coupet-Grimal S and Jakubiec L. Hardware veri.cation using coinduction in Coq. In TPHOLs’99, number 1690 in LNCS. 1999.

    Google Scholar 

  7. Coquand T and Huet G. The Calculus of Constructions. Information and Computation, 76:95–120, 1988.

    Article  MathSciNet  MATH  Google Scholar 

  8. Caspi P and Pouzet M. A co-iterative characterization of synchronous stream functions. In Coalgebraic Methods in Computer Science (CMCS’98), ENTCS. 28–29 March 1998.

    Google Scholar 

  9. Caspi P and Pouzet M. Lucid Synchrone, an ML extension to Lustre. In Submited for publication. 2000.

    Google Scholar 

  10. Colaco JL and Pouzet M. Prototypages. Rapport final du projet GENIE II, Verilog SA, Janvier 2000.

    Google Scholar 

  11. Dumas-Canovas C and Caspi P. A PVS proof obligation generator for Lustre programs. In LPAR’2000, number 1955 in LNAI. 2000.

    Google Scholar 

  12. Filliâtre JC. Preuve de programmes impératifs en théorie des types. Ph.D. thesis, Université Paris-Sud, July 1999.

    Google Scholar 

  13. Gimenez E. Codifying guarded definitions with recursive schemes. Technical Report 95-07, LIP ENS-Lyon, December 1994.

    Google Scholar 

  14. Gimenez E. A tutorial on recursive types in Coq. Technical Report 0221, INRIA, May 1998.

    Google Scholar 

  15. Halbwachs N. Synchronous programming of reactive systems. Kluwer Academic Pub., 1993.

    Google Scholar 

  16. Halbwachs N, et al. The Synchronous data.ow programming language Lustre. Proceedings of the IEEE, 79(9):1305–1320, September 1991.

    Article  Google Scholar 

  17. Kerboeuf M, et al. The steam-boiler problem in Signal-Coq. In TPHOLs’2000, number 1869 in LNCS. 2000.

    Google Scholar 

  18. Nowak D, et al. Co-inductive axiomatization of a synchronous language. In TPHOLs’98, number 1479 in LNCS. 1998.

    Google Scholar 

  19. Parent C. Synthesizing proofs from programs in the Calculus of Inductive Constructions. In Mathematics for Programs Constructions’95, number 947 in LNCS. 1995.

    Google Scholar 

  20. Pouzet M, et al. Lucid Synchrone v2.0-Tutorial and Reference manual. LIP6, April 2001. Available at http://www-spi.lip6.fr/lucidsynchrone/lucid_synchrone_2.0_manual.ps.

  21. Paulin-Mohring C. Inductive De.nitions in the System Coq-Rules and Properties. In TLCA, number 664 in LNCS. 1993.

    Google Scholar 

  22. Telelogic. Telelogic Tau Scade language-Reference manual, 2001.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2001 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Boulmé, S., Hamon, G. (2001). Certifying Synchrony for Free. In: Nieuwenhuis, R., Voronkov, A. (eds) Logic for Programming, Artificial Intelligence, and Reasoning. LPAR 2001. Lecture Notes in Computer Science(), vol 2250. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45653-8_34

Download citation

  • DOI: https://doi.org/10.1007/3-540-45653-8_34

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-42957-9

  • Online ISBN: 978-3-540-45653-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics