ACM Home Page
Please provide us with feedback. Feedback
Digital Library logoTake a look at the new version of this page: [ beta version ]. Tell us what you think.
SystemJ compilation using the tandem virtual machine approach
Full text PdfPdf (674 KB)
Source
ACM Transactions on Design Automation of Electronic Systems (TODAES) archive
Volume 14 ,  Issue 3  (May 2009) table of contents
Article No.: 34  
Year of Publication: 2009
ISSN:1084-4309
Authors
Avinash Malik  University of Auckland, Auckland, New Zealand
Zoran Salcic  University of Auckland, Auckland, New Zealand
Partha S. Roop  University of Auckland, Auckland, New Zealand
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 7,   Downloads (12 Months): 92,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1529255.1529256
What is a DOI?

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.

Collaborative Colleagues:
Avinash Malik: colleagues
Zoran Salcic: colleagues
Partha S. Roop: colleagues