Constructive polychronous systems

The synchronous paradigm provides a logical abstraction of time for reactive system design which allows automatic synthesis of embedded systems that behave in a predictable, timely, and reactive manner. According to the synchrony hypothesis, a synchronous model reacts to inputs by generating outputs that are immediately made available to the environment. While synchrony greatly simplifies the design of complex systems in general, it can sometimes lead to causal cycles. In these cases, constructiveness is a key property to guarantee that the output of each reaction can still be always algorithmically determined.Polychrony deviates from perfect synchrony by using a partially ordered, i.e., a relational model of time. It encompasses the behaviors of (implicitly) multi-clocked data-flow networks of synchronous modules and can analyze and synthesize them as GALS systems or Kahn process networks (KPNs).In this paper, we present a unified constructive semantic framework using structured operational semantics, which encompasses both the constructive behavior of synchronous modules and the multi-clocked behavior of polychronous networks. Along the way, we define the very first executable operational semantics of the polychronous language Signal. Constructive semantic framework over a complete domain for imperative and declarative synchronous languages.First executable small-step operational semantics of polychronous data-flow languages.Characterization of program correctness (determinism, endochrony) by fixpoint properties.

[1]  Marian Boldt,et al.  Compilation and Worst-Case Reaction Time Analysis for Multithreaded Esterel Processing , 2008, EURASIP J. Embed. Syst..

[2]  Benoît Caillaud,et al.  Correct-by-construction asynchronous implementation of modular synchronous specifications , 2005, Fifth International Conference on Application of Concurrency to System Design (ACSD'05).

[3]  Nicolas Halbwachs,et al.  Synchronous Programming of Reactive Systems , 1992, CAV.

[4]  Gérard Berry,et al.  The Esterel Synchronous Programming Language: Design, Semantics, Implementation , 1992, Sci. Comput. Program..

[5]  Albert Benveniste,et al.  Real-time,synchronous,data-flow programming: the language "SIGNAL" and its mathematical semantics , 1986 .

[6]  Klaus Schneider,et al.  Performing causality analysis by bounded model checking , 2008, 2008 8th International Conference on Application of Concurrency to System Design.

[7]  Sandeep K. Shukla,et al.  SMT based false causal loop detection during code synthesis from Polychronous specifications , 2011, Ninth ACM/IEEE International Conference on Formal Methods and Models for Codesign (MEMPCODE2011).

[8]  David L. Dill,et al.  The Murphi Verification System , 1996, CAV.

[9]  Nicolas Halbwachs,et al.  A synchronous language at work: the story of Lustre , 2005, Proceedings. Second ACM and IEEE International Conference on Formal Methods and Models for Co-Design, 2005. MEMOCODE '05..

[10]  Thomas R. Shiple,et al.  Constructive analysis of cyclic circuits , 1996, Proceedings ED&TC European Design and Test Conference.

[11]  Gérard Berry,et al.  The foundations of Esterel , 2000, Proof, Language, and Interaction.

[12]  L. Stok,et al.  False loops through resource sharing (logic CAD) , 1992, 1992 IEEE/ACM International Conference on Computer-Aided Design.

[13]  Gérard Berry,et al.  The constructive semantics of pure esterel , 1996 .

[14]  Abdoulaye Gamatié,et al.  Polychronous design of embedded real-time applications , 2007, TSEM.

[15]  Stephen A. Edwards,et al.  Making cyclic circuits acyclic , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).

[16]  Paul Le Guernic,et al.  Distributed Implementation of SIGNAL: Scheduling & Graph Clustering , 1994, FTRTFT.

[17]  Joaquín Aguado,et al.  Constructive semantics for instantaneous reactions , 2011, Theor. Comput. Sci..

[18]  Stephen A. Edwards,et al.  The synchronous languages 12 years later , 2003, Proc. IEEE.

[19]  D. H. Mellor,et al.  Real time , 1981 .

[20]  Ronald L. Rivest The Necessity of Feedback in Minimal Monotone Combinational Circuits , 1977, IEEE Transactions on Computers.

[21]  William H. Kautz,et al.  The Necessity of Closed Circuit Loops in Minimal Combinational Circuits , 1970, IEEE Transactions on Computers.

[22]  Leon Stok,et al.  False loops through resource sharing , 1992, ICCAD '92.

[23]  K. Mani Chandy,et al.  Parallel program design - a foundation , 1988 .

[24]  K. Mani Chandy Parallel program design , 1989 .

[25]  Frédéric Boussinot,et al.  SugarCubes Implementation of Causality , 1998 .

[26]  Steven Roman,et al.  Lattices and ordered sets , 2008 .

[27]  Thierry Gautier,et al.  Programming real-time applications with SIGNAL , 1991, Proc. IEEE.

[28]  Sandeep K. Shukla,et al.  Constructive polychronous systems , 2013, Sci. Comput. Program..

[29]  Michael Mendler,et al.  Constructive Boolean circuits and the exactness of timed ternary simulation , 2012, Formal Methods Syst. Des..

[30]  Albert Benveniste,et al.  Compositionality in Dataflow Synchronous Languages: Specification and Distributed Code Generation , 2000, Inf. Comput..

[31]  Nicolas Halbwachs,et al.  POLLUS: A LUSTRE based hardware design environment , 1992, Algorithms and Parallel VLSI Architectures.

[32]  Sandeep K. Shukla,et al.  Embedding Polychrony into Synchrony , 2013, IEEE Transactions on Software Engineering.

[33]  Jerrold L. Wagener Guarded command , 2003 .

[34]  Klaus Schneider,et al.  Separate Translation of Synchronous Programs to Guarded Actions , 2011 .

[35]  Jehoshua Bruck,et al.  The synthesis of cyclic combinational circuits , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).

[36]  Klaus Schneider,et al.  Exact high level WCET analysis of synchronous programs by symbolic state space exploration , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[37]  Premachandran R. Menon,et al.  Redundancy identification and removal in combinational circuits , 1994, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[38]  Edsger W. Dijkstra,et al.  Guarded commands, nondeterminacy and formal derivation of programs , 1975, Commun. ACM.

[39]  Jean-Pierre Talpin,et al.  From multi-clocked synchronous processes to latency-insensitive modules , 2005, EMSOFT.

[40]  Klaus Schneider,et al.  The Synchronous Programming Language Quartz , 2009 .

[41]  Carl-Johan H. Seger,et al.  Asynchronous Circuits , 1995, Monographs in Computer Science.

[42]  Thomas Kropf,et al.  The C@S System , 1997, Formal Hardware Verification.

[43]  Sharad Malik Analysis of cyclic combinational circuits , 1994, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[44]  A. Tarski A LATTICE-THEORETICAL FIXPOINT THEOREM AND ITS APPLICATIONS , 1955 .

[45]  Tobias Schüle,et al.  Maximal causality analysis , 2005, Fifth International Conference on Application of Concurrency to System Design (ACSD'05).

[46]  Ellen Sentovich,et al.  Quick conservative causality analysis , 1997, Proceedings. Tenth International Symposium on System Synthesis (Cat. No.97TB100114).

[47]  Randal E. Bryant,et al.  A Switch-Level Model and Simulator for MOS Digital Systems , 1984, IEEE Transactions on Computers.

[48]  Tobias Schüle,et al.  A Verified Compiler for Synchronous Programs with Local Declarations , 2006, SLAP@ETAPS.

[49]  Robert de Simone,et al.  From Concurrent Multi-clock Programs to Deterministic Asynchronous Implementations , 2009, 2009 Ninth International Conference on Application of Concurrency to System Design.

[50]  Gérard Berry,et al.  A hardware implementation of pure ESTEREL , 1992 .

[51]  Gilles Kahn,et al.  The Semantics of a Simple Language for Parallel Programming , 1974, IFIP Congress.

[52]  Marc D. Riedel,et al.  Cyclic combinational circuits , 2004 .

[53]  Mahesh Nanjundappa,et al.  Synthesizing embedded software with safety wrappers through polyhedral analysis in a polychronous framework , 2012, 2012 Electronic System Level Synthesis Conference.

[54]  Tobias Schüle,et al.  Causality analysis of synchronous programs with delayed actions , 2004, CASES '04.

[55]  Paul Le Guernic,et al.  Compilation of Polychronous Data Flow Equations , 2010, Synthesis of Embedded Software.

[56]  Albert Benveniste,et al.  programmi language and its , 2001 .

[57]  Jean-Christophe Le Lann,et al.  POLYCHRONY for System Design , 2003, J. Circuits Syst. Comput..

[58]  Marc Pouzet,et al.  Synchronous Kahn networks , 1996, ICFP '96.

[59]  Jens Palsberg,et al.  Nonintrusive precision instrumentation of microcontroller software , 2005, LCTES '05.