Programming languages for distributed computing systems
ACM Computing Surveys (CSUR)
Type systems for distributed data structures
Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Automatic Distribution of Reactive Systems for Asynchronous Networks of Processors
IEEE Transactions on Software Engineering
From simulink to SCADE/lustre to TTA: a layered approach for distributed embedded applications
Proceedings of the 2003 ACM SIGPLAN conference on Language, compiler, and tool for embedded systems
Towards a higher-order synchronous data-flow language
Proceedings of the 4th ACM international conference on Embedded software
Automatic Partitioning: Prototyping Ubiquitous-Computing Applications
IEEE Pervasive Computing
From sequential programs to multi-tier applications by program transformation
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Acute: high-level programming language design for distributed computation
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
Software-defined radio: basics and evolution to cognitive radio
EURASIP Journal on Wireless Communications and Networking
Slicing as a program transformation
ACM Transactions on Programming Languages and Systems (TOPLAS)
The software radio architecture
IEEE Communications Magazine
Programming parallelism with futures in lustre
Proceedings of the tenth ACM international conference on Embedded software
Hi-index | 0.00 |
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.