Translating Synchronous Systems to Data-Flow Process Networks

The synchronous model of computation (MoC) has been successfully used for the design of embedded systems having a local control like hardware circuits and single-threaded software, while its application to distributed parallel embedded systems is still a challenge. In contrast, other MoCs such as data-flow process networks (DPNs) directly match with these architectures. In this paper, we therefore present a translation of synchronous systems to data-flow process networks, thereby bridging the gap between synchronous and asynchronous MoCs. We use the resulting DPNs to generate CAL code for the Open DF package, which offers important features for embedded system design.

[1]  Amnon Naamad,et al.  The STATEMATE semantics of statecharts , 1996, TSEM.

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

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

[4]  William W. Wadge,et al.  Lucid, the dataflow programming language , 1985 .

[5]  R. K. Shyamasundar,et al.  Introduction to algorithms , 1996 .

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

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

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

[9]  Ghislain Roquier,et al.  An integrated environment for HW/SW co-design based on a CAL specification and HW/SW code generators , 2009, 2009 IEEE International Symposium on Circuits and Systems.

[10]  Johan Eker,et al.  CAL language report: Specification of the CAL actor language , 2003 .

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

[12]  Edward A. Lee,et al.  A framework for comparing models of computation , 1998, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[13]  Ghislain Roquier,et al.  Synthesizing hardware from dataflow programs: An MPEG-4 simple profile decoder case study , 2008, SiPS.

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

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

[16]  Mickaël Raulet,et al.  OpenDF: a dataflow toolset for reconfigurable hardware and multicore systems , 2008, CARN.

[17]  Klaus Schneider,et al.  Multithreaded Code from Synchronous Programs: Generating Software Pipelines for OpenMP , 2010, MBMV.

[18]  Klaus Schneider,et al.  Multithreaded code from synchronous programs: Extracting independent threads for OpenMP , 2010, 2010 Design, Automation & Test in Europe Conference & Exhibition (DATE 2010).

[19]  Albert Benveniste,et al.  Signal-A data flow-oriented language for signal processing , 1986, IEEE Trans. Acoust. Speech Signal Process..

[20]  Edward A. Lee,et al.  Hierarchical finite state machines with multiple concurrency models , 1999, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[21]  Klaus Schneider,et al.  Separate compilation for synchronous programs , 2009, SCOPES.

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

[23]  Reino Kurki-Suonio,et al.  The DisCo Language and Temporal Logic of Actions , 1990 .

[24]  Stephen A. Edwards,et al.  The Synchronous Languages Twelve Years Later , 1997 .

[25]  A. Sangiovanni-Vincentelli,et al.  Formal analysis of synchronous circuits , 1996 .

[26]  Klaus Schneider,et al.  Dependency-Driven Distribution of Synchronous Programs , 2010, DIPES/BICC.

[27]  Axel Jantsch,et al.  Modeling embedded systems and SoCs - concurrency and time in models of computation , 2003, The Morgan Kaufmann series in systems on silicon.

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