Tutorial: Compiling concurrent languages for sequential processors


Embedded systems often include a traditional processor capable of executing sequential code, but both control and data-dominated tasks are often more naturally expressed using one of the many domain-specific concurrent specification languages. This article surveys a variety of techniques for translating these concurrent specifications into sequential code. The techniques address compiling a wide variety of languages, ranging from dataflow to Petri nets. Each uses a different method, to some degree chosen to match the semantics of concurrent language. Each technique is considered to consist of a partial evaluator operating on an interpreter. This combination provides a clearer picture of how parts of each technique could be used in a different setting.

DOI: 10.1145/762488.762489

Extracted Key Phrases

27 Figures and Tables

Cite this paper

@article{Edwards2003TutorialCC, title={Tutorial: Compiling concurrent languages for sequential processors}, author={Stephen A. Edwards}, journal={ACM Trans. Design Autom. Electr. Syst.}, year={2003}, volume={8}, pages={141-187} }