|
ABSTRACT
SystemJ is a language based on the Globally Asynchronous Locally Synchronous (GALS) paradigm. A SystemJ program is a collection of GALS nodes, also called clock domains, and each clock domain is a synchronous program that extends the Java language. Initial compilation of SystemJ has been to standard Java executing on a Java Virtual Machine (JVM), which is both inefficient and bulky for small embedded systems. This article proposes a new approach for compiling and executing SystemJ using a new type of virtual machine, called a Tandem Virtual Machine (TVM). The TVM approach provides an efficient implementation of SystemJ on both standard processors and resource-constrained embedded processors. The new approach is based on separating the control-driven and data-driven operations for execution on two virtual machines. While the JVM executes the data-driven operations, a Control Virtual Machine (CVM) is introduced to execute the control-driven parts of a SystemJ program. The TVM approach is capable of handling all data-driven and control-driven operations required by the GALS model. The benchmark results show that the TVM has code size improvements of over 60% on average and also a substantial improvement in execution speed over standard Java-based compilation.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Berry, G. 1993. The semantics of pure Esterel. In Marktoberdorf Intl. Summer School on Program Design Calculi. Lecture Notes in Computer Science. Springer-Verlag.
|
| |
2
|
Berry, G. 1999. The Esterel v5 language primer - Version 5.10, release 2.0.
|
 |
3
|
|
| |
4
|
|
| |
5
|
|
| |
6
|
Butucaru, P. D. 2002. Optimisations for faster execution of Esterel programs. Ph.D. thesis, Ecole des Mines de Paris.
|
| |
7
|
Edwards, S. 2002. An Esterel compiler for large control-dominated systems. IEEE Trans. Comput.-Aided Des. Integrated Circ. Syst. 21, 2, 169--183.
|
| |
8
|
Edwards, S. 2006. Estbench Esterel benchmark suite. http://www1.cs.columbia.edu/~sedwards/software.html (last access 9/06).
|
| |
9
|
Edwards, S. and Tardieu, O. 2006. SHIM: A deterministic model for heterogeneous embedded systems. IEEE Trans. Very Large Scale Integration Syst. 14, 8, 854--867.
|
| |
10
|
Esterel Technologies SA. 2003. Esterel Studio Reference Manual Version 4.2.
|
| |
11
|
Gruian, F., Roop, P., Slacic, Z., and Radojevic, I. 2006. The SystemJ approach to System-level design. In the 4th International Conference on Formal Methods and Models for Codesign (MEMOCODE).
|
| |
12
|
Hazard, L., Susini, J.-F., and Boussinot, F. 1999. The Junior reactive kernel. Res. rep. 3732. INRIA.
|
| |
13
|
|
| |
14
|
Kahn, G. 1974. The semantics of simple language for parallel programming. In IFIP Congress, 471--475.
|
 |
15
|
|
| |
16
|
Li, X. and von Hanxleden, R. 2005. The Kiel Esterel processor—A semi-custom, configurable reactive processor. In Proceedings of the Conference on Synchronous Programming (SYNCHRON'04), S. A. Edwards et al., Eds. Number 04491 in Dagstuhl Seminar Proceedings. http://drops.dagstuhl.de/opus/volltexte/2005/159>.
|
| |
17
|
Malik, A. 2008. SystemJ Benchmark Suite. http://www.ece.auckland.ac.nz/~amal029 (last access 9/08).
|
| |
18
|
Malik, A., Salcic, Z., and Roop, P. 2006a. Efficient compilation of GALS language--SystemJ. Tech. rep. 655, University of Auckland.
|
| |
19
|
Malik, A., Salcic, Z., and Roop, P. 2006b. SystemJ a GALS language for embedded systems and its operational semantics. Tech. rep. 656, University of Auckland.
|
| |
20
|
Malik, A., Salcic, Z., and Roop, P. S. 2008. An efficient execution platform for GALS language systemJ. In the 13th IEEE Asia Pacific Computer Systems Architecture Conference.
|
 |
21
|
|
| |
22
|
|
| |
23
|
Plummer, B., Khajanchi, M., and Edwards, S. A. 2006. An Esterel virtual machine for embedded systems. In International Workshop on Synchronous Languages, Applications, and Programming (SLAP).
|
| |
24
|
Ramesh, S. 1998. Communicating reactive state machines: Design, model and implementation. In IFAC Workshop on Distributed Computer Control Systems (Sept.). Pergamon Press.
|
 |
25
|
|
| |
26
|
|
| |
27
|
Simon, Y., Hsien, Y. L., Sidharta, A., Partha, R., and Zoran, S. 2008. A new multithreaded architecture direct execution platform for Esterel. In Model Driven High-Level Programming of Embedded Systems SLA++P. European Joint Conference on Theory and Practice of Software.
|
 |
28
|
|
| |
29
|
Yoong, L., Roop, P., and Salcic, Z. 2006. Compiling Esterel for distributed execution. In Proceedings of Synchronous Languages, Applications and Programming.
|
|