A Code Generation Framework for Actor-Oriented Models with Partial Evaluation
Gang Zhou, Man-Kit Leung, and Edward A. Lee
in Proceedings of International Conference on Embedded Software and Systems 2007, LNCS 4523, pp. 786-799, Daegu, South Korea, May 14-16, 2007, Y.-H. Lee et al. (Eds.) © Springer-Verlag Berlin Heidelberg 2007
(see also the earlier Technical Report.)
ABSTRACTEmbedded 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.