A Code Generation Framework for Actor-Oriented Models with Partial Evaluation
Embedded software requires concurrency formalisms other than threads and mutexes used in traditional programming languages like C. Actor-oriented design presents a high level abstraction for composing concurrent components. However, high level abstraction often introduces overhead and results in slower system. We address the problem of generating efficient implementation for the systems with such a high level description. We use partial evaluation as an optimized compilation technique for actor-oriented models. We use a helper-based mechanism, which results in flexible and extensible code generation framework. The end result is that the benefit offered by high level abstraction comes with (almost) no performance penalty. The code generation framework has been released in open source form as part of Ptolemy II 6.0.1.
Unable to display preview. Download preview PDF.
- 1.Lee, E.A.: The Problem with Threads. IEEE Computer 39(5), 33–42 (2006)Google Scholar
- 6.Kohler, E., Morris, R., Chen, B.: Programming language optimizations for modular router configurations. In: Proceedings of the Architectural Support for Programming Languages and Operating Systems (ASPLOS), October 2002, pp. 251–263 (2002)Google Scholar
- 9.Andersen, L.O.: Partial evaluation of C and automatic compiler generation. In: Pfahler, P., Kastens, U. (eds.) CC 1992. LNCS, vol. 641, pp. 251–257. Springer, Heidelberg (1992)Google Scholar
- 11.Ommerling, R.V.: The Koala component model for consumer electronics software. IEEE Computer 33(3), 78–85 (2000)Google Scholar
- 12.Tsay, J.: A Code Generation Framework for Ptolemy II. ERL Technical Memorandum UCB/ERL No. M00/25, Dept. EECS, University of California, Berkeley, CA 94720 (May 19, 2000)Google Scholar
- 14.Girault, A., Lee, B., Lee, E.A.: Hierarchical Finite State Machines with Multiple Concurrency Models. IEEE Transactions On Computer-aided Design Of Integrated Circuits And Systems 18(6) (1999)Google Scholar
- 15.Lee, E.A., Messerschmitt, D.G.: Synchronous Data Flow. Proc. of the IEEE (September 1987)Google Scholar