{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:35:17Z","timestamp":1750307717882,"version":"3.41.0"},"reference-count":28,"publisher":"Association for Computing Machinery (ACM)","issue":"3","license":[{"start":{"date-parts":[[2009,5,1]],"date-time":"2009-05-01T00:00:00Z","timestamp":1241136000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Des. Autom. Electron. Syst."],"published-print":{"date-parts":[[2009,5]]},"abstract":"<jats:p>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.<\/jats:p>","DOI":"10.1145\/1529255.1529256","type":"journal-article","created":{"date-parts":[[2009,6,2]],"date-time":"2009-06-02T14:51:08Z","timestamp":1243954268000},"page":"1-37","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":12,"title":["SystemJ compilation using the tandem virtual machine approach"],"prefix":"10.1145","volume":"14","author":[{"given":"Avinash","family":"Malik","sequence":"first","affiliation":[{"name":"University of Auckland, Auckland, New Zealand"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Zoran","family":"Salcic","sequence":"additional","affiliation":[{"name":"University of Auckland, Auckland, New Zealand"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Partha S.","family":"Roop","sequence":"additional","affiliation":[{"name":"University of Auckland, Auckland, New Zealand"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2009,6,4]]},"reference":[{"key":"e_1_2_1_1_1","series-title":"Lecture Notes in Computer Science","volume-title":"Marktoberdorf Intl. Summer School on Program Design Calculi","author":"Berry G.","unstructured":"Berry , G. 1993. The semantics of pure Esterel . In Marktoberdorf Intl. Summer School on Program Design Calculi . Lecture Notes in Computer Science . Springer-Verlag . Berry, G. 1993. The semantics of pure Esterel. In Marktoberdorf Intl. Summer School on Program Design Calculi. Lecture Notes in Computer Science. Springer-Verlag."},{"unstructured":"Berry G. 1999. The Esterel v5 language primer - Version 5.10 release 2.0.  Berry G. 1999. The Esterel v5 language primer - Version 5.10 release 2.0.","key":"e_1_2_1_2_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_3_1","DOI":"10.1145\/158511.158526"},{"doi-asserted-by":"publisher","key":"e_1_2_1_4_1","DOI":"10.1109\/32.491649"},{"doi-asserted-by":"publisher","key":"e_1_2_1_5_1","DOI":"10.1002\/(SICI)1097-024X(19981210)28:14%3C1531::AID-SPE218%3E3.0.CO;2-U"},{"doi-asserted-by":"publisher","key":"e_1_2_1_7_1","DOI":"10.1109\/43.980257"},{"unstructured":"Edwards S. 2006. Estbench Esterel benchmark suite. http:\/\/www1.cs.columbia.edu\/~sedwards\/software.html (last access 9\/06).  Edwards S. 2006. Estbench Esterel benchmark suite. http:\/\/www1.cs.columbia.edu\/~sedwards\/software.html (last access 9\/06).","key":"e_1_2_1_8_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_9_1","DOI":"10.1109\/TVLSI.2006.878473"},{"unstructured":"Esterel Technologies SA. 2003. Esterel Studio Reference Manual Version 4.2.  Esterel Technologies SA. 2003. Esterel Studio Reference Manual Version 4.2.","key":"e_1_2_1_10_1"},{"volume-title":"the 4th International Conference on Formal Methods and Models for Codesign (MEMOCODE).","author":"Gruian F.","unstructured":"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). 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).","key":"e_1_2_1_11_1"},{"unstructured":"Hazard L. Susini J.-F. and Boussinot F. 1999. The Junior reactive kernel. Res. rep. 3732. INRIA.  Hazard L. Susini J.-F. and Boussinot F. 1999. The Junior reactive kernel. Res. rep. 3732. INRIA.","key":"e_1_2_1_12_1"},{"volume-title":"Communicating Sequential Processes","author":"Hoare C. A. R.","unstructured":"Hoare , C. A. R. 1985. Communicating Sequential Processes . Prentice Hall . Hoare, C. A. R. 1985. Communicating Sequential Processes. Prentice Hall.","key":"e_1_2_1_13_1"},{"key":"e_1_2_1_14_1","volume-title":"IFIP Congress, 471--475","author":"Kahn G.","year":"1974","unstructured":"Kahn , G. 1974 . The semantics of simple language for parallel programming . In IFIP Congress, 471--475 . Kahn, G. 1974. The semantics of simple language for parallel programming. In IFIP Congress, 471--475."},{"doi-asserted-by":"publisher","key":"e_1_2_1_15_1","DOI":"10.1145\/309847.309989"},{"key":"e_1_2_1_16_1","volume-title":"Proceedings of the Conference on Synchronous Programming (SYNCHRON'04)","author":"Li X.","year":"2005","unstructured":"Li , X. and von Hanxleden, R. 2005. The Kiel Esterel processor\u2014A 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&gt;. Li, X. and von Hanxleden, R. 2005. The Kiel Esterel processor\u2014A 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&gt;."},{"unstructured":"Malik A. 2008. SystemJ Benchmark Suite. http:\/\/www.ece.auckland.ac.nz\/~amal029 (last access 9\/08).  Malik A. 2008. SystemJ Benchmark Suite. http:\/\/www.ece.auckland.ac.nz\/~amal029 (last access 9\/08).","key":"e_1_2_1_17_1"},{"unstructured":"Malik A. Salcic Z. and Roop P. 2006a. Efficient compilation of GALS language--SystemJ. Tech. rep. 655 University of Auckland.  Malik A. Salcic Z. and Roop P. 2006a. Efficient compilation of GALS language--SystemJ. Tech. rep. 655 University of Auckland.","key":"e_1_2_1_18_1"},{"unstructured":"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.  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.","key":"e_1_2_1_19_1"},{"volume-title":"the 13th IEEE Asia Pacific Computer Systems Architecture Conference.","author":"Malik A.","unstructured":"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. 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.","key":"e_1_2_1_20_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_21_1","DOI":"10.1145\/1069774.1069782"},{"doi-asserted-by":"publisher","key":"e_1_2_1_22_1","DOI":"10.1109\/32.21759"},{"volume-title":"International Workshop on Synchronous Languages, Applications, and Programming (SLAP).","author":"Plummer B.","unstructured":"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). 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).","key":"e_1_2_1_23_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_24_1","DOI":"10.1016\/S1474-6670(17)36343-7"},{"doi-asserted-by":"publisher","key":"e_1_2_1_25_1","DOI":"10.1145\/1120725.1120771"},{"volume-title":"Proceedings of the Reconfigurable Computing Is Going Mainstream, 12th International Conference on Field-Programmable Logic and Applications (FPL'02)","author":"Salcic Z. A.","unstructured":"Salcic , Z. A. , Roop , P. , Biglari-Abhari , M. , and Bigdeli , A . 2002. Reflix: A processor core for reactive embedded applications . In Proceedings of the Reconfigurable Computing Is Going Mainstream, 12th International Conference on Field-Programmable Logic and Applications (FPL'02) . Springer-Verlag, 945--945. Salcic, Z. A., Roop, P., Biglari-Abhari, M., and Bigdeli, A. 2002. Reflix: A processor core for reactive embedded applications. In Proceedings of the Reconfigurable Computing Is Going Mainstream, 12th International Conference on Field-Programmable Logic and Applications (FPL'02). Springer-Verlag, 945--945.","key":"e_1_2_1_26_1"},{"volume-title":"European Joint Conference on Theory and Practice of Software.","author":"Simon Y.","unstructured":"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. 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.","key":"e_1_2_1_27_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_28_1","DOI":"10.1145\/1176887.1176908"},{"volume-title":"Proceedings of Synchronous Languages, Applications and Programming.","author":"Yoong L.","unstructured":"Yoong , L. , Roop , P. , and Salcic , Z . 2006. Compiling Esterel for distributed execution . In Proceedings of Synchronous Languages, Applications and Programming. Yoong, L., Roop, P., and Salcic, Z. 2006. Compiling Esterel for distributed execution. In Proceedings of Synchronous Languages, Applications and Programming.","key":"e_1_2_1_29_1"}],"container-title":["ACM Transactions on Design Automation of Electronic Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1529255.1529256","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1529255.1529256","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T13:30:26Z","timestamp":1750253426000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1529255.1529256"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2009,5]]},"references-count":28,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2009,5]]}},"alternative-id":["10.1145\/1529255.1529256"],"URL":"https:\/\/doi.org\/10.1145\/1529255.1529256","relation":{},"ISSN":["1084-4309","1557-7309"],"issn-type":[{"type":"print","value":"1084-4309"},{"type":"electronic","value":"1557-7309"}],"subject":[],"published":{"date-parts":[[2009,5]]},"assertion":[{"value":"2008-07-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2009-03-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2009-06-04","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}