skip to main content
10.1145/1375657.1375672acmconferencesArticle/Chapter ViewAbstractPublication PagescpsweekConference Proceedingsconference-collections
research-article

A type system for the automatic distribution of higher-order synchronous dataflow programs

Published:12 June 2008Publication History

ABSTRACT

We address the design of distributed systems with synchronous dataflow programming languages. As modular design entails handling both architectural and functional modularity, our first contribution is to extend an existing synchronous dataflow programming language with primitives allowing the description of a distributed architecture and the localization of some expressions onto some processors. We also present a distributed semantics to formalize the distributed execution of synchronous programs. Our second contribution is to provide a type system, in order to infer the localization of non-annotated values by means of type inference and to ensure, at compilation time, the consistency of the distribution. Our third contribution is to provide a type-directed projection operation to obtain automatically, from a centralized typed program, the local program to be executed by each computing resource. The type system as well as the automatic distribution mechanism has been fully implemented in the compiler of an existing synchronous data-flow programming language.

References

  1. Lucid synchrone v3. www.lri.fr/~pouzet/lucid-synchrone.Google ScholarGoogle Scholar
  2. Architecture analysis & design language (AADL). SAE Standard (AS5506), Nov. 2004.Google ScholarGoogle Scholar
  3. P. Aubry and P. Le Guernic. On the desynchronization of synchronous applications. In 11th International Conference on Systems Engineering, ICSE'96, Las Vegas, USA, June 1996.Google ScholarGoogle Scholar
  4. H. E. Bal, J. G. Steiner, and A. S. Tanenbaum. Programming languages for distributed computing systems. ACM Computing Surveys, 21(3):261--322, 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. A. Benveniste, P. Caspi, S. Edwards, N. Halbwachs, P. L. Guernic, and R. de Simone. The synchronous languages twelve years later. Proc. of the IEEE, Special issue on embedded systems, 91(1):64--83, Jan. 2003.Google ScholarGoogle ScholarCross RefCross Ref
  6. B. Caillaud, P. Caspi, A. Girault, and C. Jard. Distributing automata for asynchronous networks of processors. European Journal of Automated Systems, 31(3):503--524, 1997.Google ScholarGoogle Scholar
  7. P. Caspi, A. Curic, A. Maignan, C. Sofronis, S. Tripakis, and P. Niebert. From Simulink to Scade/Lustre to TTA: A layered approach for distributed embedded applications. In International Conference on Languages, Compilers, and Tools for Embedded Systems, LCTES'03, San Diego, USA, June 2003. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. P. Caspi, A. Girault, and D. Pilaud. Automatic distribution of reactive systems for asynchronous networks of processors. IEEE Trans. on Software Engineering, 25(3):416--427, May 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. J.-L. Colaço, A. Girault, G. Hamon, and M. Pouzet. Towards a Higher-order Synchronous Data-flow Language. In ACM Fourth International Conference on Embedded Software (EMSOFT'04), Pisa, Italy, september 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. F. Jondral. Software-defined radio -- basics and evolution to cognitive radio. EURASIP Journal on Wireless Communications and Networking, 3:275--283, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. G. Kahn. The semantics of a simple language for parallel programming. In J. L. Rosenfeld, editor, Information Processing '74: Proceedings of the IFIP Congress, pages 471--475, New York, NY, 1974. North-Holland.Google ScholarGoogle Scholar
  12. B. Liblit and A. Aiken. Type systems for distributed data structures. In POPL '00: Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pages 199--213, New York, NY, USA, 2000. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. N. Liogkas, B. MacIntyre, E. D. Mynatt, Y. Smaragdakis, E. Tilevich, and S. Voida. Automatic partitioning: A promising approach to prototyping ubiquitous computing applications. IEEE Pervasive Computing, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. O. Maffeïs. Ordonnancements de graphes de flots synchrones ; Application à la mise en æuvre de Signal. Phd thesis, University of Rennes I, Rennes, France, Jan. 1993.Google ScholarGoogle Scholar
  15. J. Mitola. The software radio architecture. IEEE Communications Magazine, 33(5):26--38, May 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. M. Neubauer and P. Thiemann. From sequential programs to multi-tier applications by program transformation. In POPL '05: Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pages 221--232, New York, NY, USA, 2005. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. P. Sewell, J. J. Leifer, K. Wansbrough, F. Z. Nardelli, M. Allen- Williams, P. Habouzit, and V. Vafeiadis. Acute: High-level programming language design for distributed computation. In Proceedings of ICFP 2005: International Conference on Functional Programming (Tallinn), Sept. 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Y. Sorel. SynDEx: System-level cad software for optimizing distributed real-time embedded systems. Journal ERCIM News, 59:68--69, Oct. 2004.Google ScholarGoogle Scholar
  19. J.-P. Talpin and P. Jouvelot. Polymorphic type, region and effect inference. Journal of Functional Programming, 2(3), 1992.Google ScholarGoogle ScholarCross RefCross Ref
  20. M. Ward and H. Zedan. Slicing as a program transformation. ACM Transactions on Programming Languages and Systems (TOPLAS), 29(2):7, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A type system for the automatic distribution of higher-order synchronous dataflow programs

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in
          • Published in

            cover image ACM Conferences
            LCTES '08: Proceedings of the 2008 ACM SIGPLAN-SIGBED conference on Languages, compilers, and tools for embedded systems
            June 2008
            180 pages
            ISBN:9781605581040
            DOI:10.1145/1375657
            • cover image ACM SIGPLAN Notices
              ACM SIGPLAN Notices  Volume 43, Issue 7
              LCTES '08
              July 2008
              167 pages
              ISSN:0362-1340
              EISSN:1558-1160
              DOI:10.1145/1379023
              Issue’s Table of Contents

            Copyright © 2008 ACM

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 12 June 2008

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article

            Acceptance Rates

            Overall Acceptance Rate116of438submissions,26%

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader
          About Cookies On This Site

          We use cookies to ensure that we give you the best experience on our website.

          Learn more

          Got it!