Skip to main content

Constructive Polychronous Systems

  • Conference paper
Logical Foundations of Computer Science (LFCS 2013)

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

Included in the following conference series:

Abstract

The synchronous paradigm provides a logical abstraction of time for reactive system design which allows automatic synthesis of embedded programs that behave in a predictable, timely and reactive manner. According to the synchrony hypothesis, a synchronous model reacts to input events and generates outputs that are immediately made available. But even though synchrony greatly simplifies design of complex systems, it often leads to rejecting models when data dependencies within a reaction are ill-specified, leading to causal cycles. Constructivity is a key property to guarantee that the output during each reaction can be algorithmically determined. Polychrony deviates from perfect synchrony by using a partially ordered or relational model of time. It captures the behaviors of (implicitly) multi-clocked data-flow networks and can analyze and synthesize them to GALS systems or to Kahn process networks (KPNs). In this paper, we provide a unified constructive semantic framework, using structural operational semantics, which captures the behavior of both synchronous modules and multi-clocked polychronous processes. Along the way, we define the very first operational semantics of Signal.

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 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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. Berry, G.: The foundations of Esterel. In: Plotkin, G., Stirling, C., Tofte, M. (eds.) Proof, Language and Interaction: Essays in Honour of Robin Milner, pp. 425–454. MIT Press (1998)

    Google Scholar 

  2. Schneider, K.: The synchronous programming language Quartz. Internal Report 375, Department of Computer Science, University of Kaiserslautern (December 2009)

    Google Scholar 

  3. Halbwachs, N.: A synchronous language at work: the story of Lustre. In: Formal Methods and Models for Codesign (MEMOCODE), pp. 3–11. IEEE Computer Society (2005)

    Google Scholar 

  4. Titzer, B., Palsberg, J.: Nonintrusive precision instrumentation of microcontroller software. In: Paek, Y., Gupta, R. (eds.) Languages, Compilers, and Tools for Embedded Systems (LCTES), Chicago, Illinois, USA, pp. 59–68. ACM (2005)

    Google Scholar 

  5. Berry, G.: A hardware implementation of pure Esterel. Sadhana 17(1), 95–130 (1992)

    Article  Google Scholar 

  6. Rocheteau, F., Halbwachs, N.: Pollux: A Lustre-based hardware design environment. In: Quinton, P., Robert, Y. (eds.) Algorithms and Parallel VLSI Architectures II, Gers, France, pp. 335–346. Elsevier (1992)

    Google Scholar 

  7. Schneider, K., Brandt, J., Schuele, T.: A verified compiler for synchronous programs with local declarations. Electronic Notes in Theoretical Computer Science 153, 71–97 (2006)

    Article  Google Scholar 

  8. Logothetis, G., Schneider, K.: Exact high level WCET analysis of synchronous programs by symbolic state space exploration. In: Design, Automation and Test in Europe (DATE), pp. 10196–10203. IEEE Computer Society (2003)

    Google Scholar 

  9. Boldt, M., Traulsen, C., von Hanxleden, R.: Compilation and worst-case reaction time analysis for multithreaded Esterel processing. EURASIP Journal on Embedded Systems (2008)

    Google Scholar 

  10. Stok, L.: False loops through resource sharing. In: International Conference on Computer-Aided Design (ICCAD), pp. 345–348. IEEE Computer Society (1992)

    Google Scholar 

  11. Berry, G.: The constructive semantics of pure Esterel (July 1996), http://www-sop.inria.fr/meije/esterel/esterel-eng.html

  12. Shiple, T., Berry, G., Touati, H.: Constructive analysis of cyclic circuits. In: European Design Automation Conference (EDAC), Paris, France, pp. 328–333. IEEE Computer Society (1996)

    Google Scholar 

  13. Edwards, S.: Making cyclic circuits acyclic. In: Design Automation Conference (DAC), Anaheim, California, USA, pp. 159–162. ACM (2003)

    Google Scholar 

  14. Schneider, K., Brandt, J., Schuele, T.: Causality analysis of synchronous programs with delayed actions. In: Compilers, Architecture, and Synthesis for Embedded Systems (CASES), Washington, District of Columbia, USA, pp. 179–189. ACM (2004)

    Google Scholar 

  15. Brzozowski, J., Seger, C.J.: Asynchronous Circuits. Springer (1995)

    Google Scholar 

  16. Le Guernic, P., Gauthier, T., Le Borgne, M., Le Maire, C.: Programming real-time applications with SIGNAL. Proceedings of the IEEE 79(9), 1321–1336 (1991)

    Article  Google Scholar 

  17. Le Guernic, P., Benveniste, A.: Real-time, synchronous, data-flow programming: The language SIGNAL and its mathematical semantics. Research Report 533, INRIA (June 1986)

    Google Scholar 

  18. Besnard, L., Gautier, T., Le Guernic, P., Talpin, J.P.: Compilation of polychronous data flow equations. In: Shukla, S., Talpin, J.P. (eds.) Synthesis of Embedded Software – Frameworks and Methodologies for Correctness by Construction. Springer (2010)

    Google Scholar 

  19. Kautz, W.: The necessity of closed circuit loops in minimal combinational circuits. IEEE Transactions on Computers (T-C) C-19(2), 162–166 (1970)

    Article  Google Scholar 

  20. Rivest, R.: The necessity of feedback in minimal monotone combinational circuits. IEEE Transactions on Computers (T-C) C-26(6), 606–607 (1977)

    Article  MathSciNet  Google Scholar 

  21. Malik, S.: Analysis of cycle combinational circuits. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems (T-CAD) 13(7), 950–956 (1994)

    Article  Google Scholar 

  22. Bryant, R.: A switch level model and simulator for MOS digital systems. IEEE Transactions on Computers (T-C) C-33(2), 160–177 (1984)

    Article  Google Scholar 

  23. Schneider, K., Brandt, J., Schuele, T., Tuerk, T.: Maximal causality analysis. In: Desel, J., Watanabe, Y. (eds.) Application of Concurrency to System Design (ACSD), Saint-Malo, France, pp. 106–115. IEEE Computer Society (2005)

    Google Scholar 

  24. Jose, B., Gamatie, A., Ouy, J., Shukla, S.: SMT based false causal loop detection during code synthesis from polychronous specifications. In: Singh, S. (ed.) Formal Methods and Models for Codesign (MEMOCODE), Cambridge, UK, pp. 109–118. IEEE Computer Society (2011)

    Google Scholar 

  25. Nanjundappa, M., Kracht, M., Ouy, J., Shukla, S.: Synthesizing embedded software with safety wrappers through polyhedral analysis in a polychronous framework. In: Electronic System Level Synthesis Conference (ESLsyn), pp. 1–6 (2012)

    Google Scholar 

  26. Tarski, A.: A lattice-theoretical fixpoint theorem and its applications. Pacific Journal of Mathematics 5(2), 285–309 (1955)

    Article  MathSciNet  MATH  Google Scholar 

  27. Brandt, J., Schneider, K.: Separate translation of synchronous programs to guarded actions. Internal Report 382/11, Department of Computer Science, University of Kaiserslautern, Kaiserslautern, Germany (March 2011)

    Google Scholar 

  28. SYNCHRON: The common format of synchronous languages - the declarative code DC. Technical report, C2A-SYNCHRON project (1998)

    Google Scholar 

  29. Dijkstra, E.: Guarded commands, nondeterminacy and formal derivation of programs. Communications of the ACM (CACM) 18(8), 453–457 (1975)

    Article  MathSciNet  MATH  Google Scholar 

  30. Chandy, K., Misra, J.: Parallel Program Design. Addison-Wesley (May 1989)

    Google Scholar 

  31. Dill, D.: The Murφ Verification System. In: Alur, R., Henzinger, T.A. (eds.) CAV 1996. LNCS, vol. 1102, pp. 390–393. Springer, Heidelberg (1996)

    Chapter  Google Scholar 

  32. Gamatié, A., Gautier, T., Le Guernic, P., Talpin, J.: Polychronous design of embedded real-time applications. ACM Transactions on Software Engineering and Methodology (TOSEM) 16(2) (2007)

    Google Scholar 

  33. Le Guernic, P., Talpin, J.P., Le Lann, J.C.: Polychrony for system design. Journal of Circuits, Systems, and Computers (JCSC) 12(3), 261–304 (2003)

    Article  Google Scholar 

  34. Potop-Butucaru, D., Sorel, Y., de Simone, R., Talpin, J.P.: Correct-by-construction asynchronous implementation of modular synchronous specifications. Fundamenta Informaticae 108(1-2), 91–118 (2011)

    MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Talpin, JP., Brandt, J., Gemünde, M., Schneider, K., Shukla, S. (2013). Constructive Polychronous Systems. In: Artemov, S., Nerode, A. (eds) Logical Foundations of Computer Science. LFCS 2013. Lecture Notes in Computer Science, vol 7734. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-35722-0_24

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-35722-0_24

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-35721-3

  • Online ISBN: 978-3-642-35722-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics