Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1629335.1629365acmconferencesArticle/Chapter ViewAbstractPublication PagesesweekConference Proceedingsconference-collections
research-article

Modular static scheduling of synchronous data-flow networks: an efficient symbolic representation

Published: 12 October 2009 Publication History

Abstract

This paper addresses the question of producing modular sequential imperative code from synchronous data-flow networks. Precisely, given a system with several input and output flows, how to decompose it into a minimal number of sub-systems executed atomically and statically scheduled without restricting possible feedback loops between input and output?
Though this question has been identified by Raymond in the early years of Lustre, it has almost been left aside until the recent work of Lublinerman, Szegedy and Tripakis. The problem is proven to be intractable, in the sense that it belongs to the family of optimization problems where the corresponding decision problem -- there exists a solution with size c -- is NP-complete. Then, the authors derive an iterative algorithm looking for solutions for c = 1, 2, ... where each step is encoded as a SAT problem.
Despite the apparent intractability of the problem, our experience is that real programs do not exhibit such a complexity. Based on earlier work by Raymond, this paper presents a new symbolic encoding of the problem in terms of input/output relations. This encoding simplifies the problem, in the sense that it rejects solutions, while keeping all the optimal ones. It allows, in polynomial time, (1) to identify nodes for which several schedules are feasible and thus are possible sources of combinational explosion; (2) to obtain solutions which in some cases are already optimal; (3) otherwise, to get a non trivial lower bound for c to start an iterative combinational search.
The solution applies to a large class of block-diagram formalisms based on atomic computations and a delay operator, ranging from synchronous languages such as Lustre or Scade to modeling tools such as Simulink.

References

[1]
A. Benveniste, P. LeGuernic, and Ch. Jacquemot. Synchronous programming with events and relations: the SIGNAL language and its semantics. Science of Computer Programming, 16:103--149, 1991.
[2]
Albert Benveniste, Paul Le Guernic, and Pascal Aubry. Compositionality in dataflow synchronous languages: Specification&code generation. Technical Report R3310, INRIA, November 1997.
[3]
Darek Biernacki, Jean-Louis Colaco, Gregoire Hamon, and Marc Pouzet. Clock-directed Modular Code Generation of Synchronous Data-flow Languages. In ACM International Conference on Languages, Compilers, and Tools for Embedded Systems (LCTES), Tucson, Arizona, June 2008. Extended version of {4}.
[4]
Darek Biernacki, Jean-Louis Colaco, and Marc Pouzet. Clock-directed Modular Compilation from Synchronous Block-diagrams. In Workshop on Automatic Program Generation for Embedded Systems (APGES), Salzburg, Austria, october 2007. Embedded System Week.
[5]
M. R. Garey and D. S. Johnson. Computers and Intractability - A guide to the Theory of NP-completeness. Freeman, New-York, 1979.
[6]
Georges Gonthier. Semantiques et modeles d'execution des langages reactifs synchrones. PhD thesis, Universite Paris VI, Paris, 1988.
[7]
N. Halbwachs, P. Caspi, P. Raymond, and D. Pilaud. The synchronous dataflow programming language lustre. Proceedings of the IEEE, 79(9):1305--1320, September 1991.
[8]
N. Halbwachs, P. Raymond, and C. Ratel. Generating efficient code from data-flow programs. In Third International Symposium on Programming Language Implementation and Logic Programming, Passau (Germany), August 1991.
[9]
Gilles Kahn. The semantics of a simple language for parallel programming. In IFIP 74 Congress. North Holland, Amsterdam, 1974.
[10]
E. A. Lee and D. G. Messerschmitt. Static scheduling of synchronous data flow programs for digital signal processing. IEEE Trans. on Computers, 36(2), 1987.
[11]
R. Lublinerman, C. Szegedy, and S. Tripakis. Modular Code Generation from Synchronous Block Diagrams -- Modularity vs. Code Size. In ACM Principles of Programming Languages (POPL), 2009.
[12]
R. Lublinerman and S. Tripakis. Modularity vs. reusability: Code generation from synchronous block diagrams. In Design, Automation and Test in Europe (DATE'08), 2008.
[13]
Pascal Raymond. Compilation separee de programmes lustre. Technical report, Projet SPECTRE, IMAG, juillet 1988. url="http://www-verimag.imag.fr/SYNCHRONE/publis/spectre-L5.pdf".

Cited By

View all
  • (2018)Scade 6: From a Kahn Semantics to a Kahn Implementation for Multicore2018 Forum on Specification & Design Languages (FDL)10.1109/FDL.2018.8524052(5-16)Online publication date: Sep-2018
  • (2018)Modular Code Generation from Synchronous Block Diagrams: Interfaces, Abstraction, CompositionalityPrinciples of Modeling10.1007/978-3-319-95246-8_26(449-477)Online publication date: 20-Jul-2018
  • (2017)A formally verified compiler for LustreACM SIGPLAN Notices10.1145/3140587.306235852:6(586-601)Online publication date: 14-Jun-2017
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
EMSOFT '09: Proceedings of the seventh ACM international conference on Embedded software
October 2009
332 pages
ISBN:9781605586274
DOI:10.1145/1629335
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 12 October 2009

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. block-diagrams
  2. compilation
  3. np-completeness
  4. partial orders
  5. preorders
  6. real-time systems
  7. semantics
  8. synchronous languages

Qualifiers

  • Research-article

Conference

ESWeek '09
ESWeek '09: Fifth Embedded Systems Week
October 12 - 16, 2009
Grenoble, France

Acceptance Rates

EMSOFT '09 Paper Acceptance Rate 33 of 106 submissions, 31%;
Overall Acceptance Rate 60 of 203 submissions, 30%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 15 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2018)Scade 6: From a Kahn Semantics to a Kahn Implementation for Multicore2018 Forum on Specification & Design Languages (FDL)10.1109/FDL.2018.8524052(5-16)Online publication date: Sep-2018
  • (2018)Modular Code Generation from Synchronous Block Diagrams: Interfaces, Abstraction, CompositionalityPrinciples of Modeling10.1007/978-3-319-95246-8_26(449-477)Online publication date: 20-Jul-2018
  • (2017)A formally verified compiler for LustreACM SIGPLAN Notices10.1145/3140587.306235852:6(586-601)Online publication date: 14-Jun-2017
  • (2017)A formally verified compiler for LustreProceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation10.1145/3062341.3062358(586-601)Online publication date: 14-Jun-2017
  • (2016)In-Place Update in a Dataflow Synchronous LanguageProceedings of the 19th International Workshop on Software and Compilers for Embedded Systems10.1145/2906363.2906379(40-49)Online publication date: 23-May-2016
  • (2015)A model-based synthesis flow for automotive CPSProceedings of the ACM/IEEE Sixth International Conference on Cyber-Physical Systems10.1145/2735960.2735972(198-207)Online publication date: 14-Apr-2015
  • (2015)Towards refinement types for time-dependent data-flow networksProceedings of the 2015 ACM/IEEE International Conference on Formal Methods and Models for Codesign10.1109/MEMCOD.2015.7340465(36-41)Online publication date: 1-Sep-2015
  • (2014)Jacobian pattern synthesis and application for dynamic system ensembles using boolean linear fraction transformationProceedings of the 2014 Summer Simulation Multiconference10.5555/2685617.2685668(1-8)Online publication date: 6-Jul-2014
  • (2014)A type-based analysis of causality loops in hybrid systems modelersProceedings of the 17th international conference on Hybrid systems: computation and control10.1145/2562059.2562125(71-82)Online publication date: 15-Apr-2014
  • (2014)Design synthesis and optimization for automotive embedded systemsProceedings of the 2014 on International symposium on physical design10.1145/2560519.2565873(141-148)Online publication date: 30-Mar-2014
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media