{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:33:40Z","timestamp":1750307620154,"version":"3.41.0"},"reference-count":39,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2009,1,1]],"date-time":"2009-01-01T00:00:00Z","timestamp":1230768000000},"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. Embed. Comput. Syst."],"published-print":{"date-parts":[[2009,1]]},"abstract":"<jats:p>\n            <jats:italic>Exotasks<\/jats:italic>\n            are a novel Java programming construct that achieve three important goals. They achieve low latency while allowing the fullest use of Java language features, compared to previous attempts to restrict the Java language for use in the submillisecond domain. They support pluggable schedulers, allowing easy implementation of new scheduling paradigms in a real-time Java system. They can achieve deterministic timing, even in the presence of other Java threads, and across changes of hardware and software platform. To achieve these goals, the program is divided into tasks with private heaps. Tasks may be strongly isolated, communicating only with each other and guaranteeing determinism, or weakly isolated, allowing some communication with the rest of the Java application. Scheduling of the tasks' execution, garbage collection, and value passing is accomplished by the pluggable scheduler. Schedulers that we have written employ logical execution time (LET) in association with strong isolation to achieve time portability. We have also built a quad-rotor model helicopter, the JAviator, which we use to evaluate our implementation of Exotasks in an experimental embedded version of IBM's J9 real-time virtual machine. Our experiments show that we are able to maintain very low scheduling jitter and deterministic behavior in the face of variations in both software load and hardware platform. We also show that Exotasks perform nearly as well as Eventrons on a benchmark audio application.\n          <\/jats:p>","DOI":"10.1145\/1457255.1457262","type":"journal-article","created":{"date-parts":[[2009,2,10]],"date-time":"2009-02-10T16:42:19Z","timestamp":1234284139000},"page":"1-48","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":8,"title":["Low-latency time-portable real-time programming with Exotasks"],"prefix":"10.1145","volume":"8","author":[{"given":"Joshua","family":"Auerbach","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"David F.","family":"Bacon","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Daniel","family":"Iercan","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Christoph M.","family":"Kirsch","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"V. T.","family":"Rajan","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Harald","family":"R\u00f6ck","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Rainer","family":"Trummer","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2009,2,9]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"AICAS. The Jamaica virtual machine. http:\/\/www.aicas.com.  AICAS. The Jamaica virtual machine. http:\/\/www.aicas.com."},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/1324969.1324974"},{"key":"e_1_2_1_3_1","unstructured":"Armstrong J. Virding R. Wikstrm C. and Williams M. 1996. Concurrent Programming in Erlang 2nd Ed. Prentice-Hall.   Armstrong J. Virding R. Wikstrm C. and Williams M. 1996. Concurrent Programming in Erlang 2nd Ed. Prentice-Hall."},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/1289927.1289967"},{"volume-title":"Proceedings of the International Computer Music Conference.","author":"Auerbach J.","key":"e_1_2_1_5_1"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/1254766.1254775"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/1017753.1017776"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/604131.604155"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/236337.236371"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISORC.2005.31"},{"key":"e_1_2_1_11_1","doi-asserted-by":"crossref","unstructured":"Bollella G. Gosling J. Brosgol B. Dibble P. Furr S. Hardin D. and Turnbull M. 2000. The Real-Time Specification for Java. The Java Series. Addison-Wesley Boston MA.   Bollella G. Gosling J. Brosgol B. Dibble P. Furr S. Hardin D. and Turnbull M. 2000. The Real-Time Specification for Java. The Java Series. Addison-Wesley Boston MA.","DOI":"10.1109\/2.846318"},{"key":"e_1_2_1_12_1","unstructured":"Burns A. and Wellings A. 1997. Concurrency in ADA 2nd Ed. Cambridge University Press Cambridge UK.   Burns A. and Wellings A. 1997. Concurrency in ADA 2nd Ed. Cambridge University Press Cambridge UK."},{"key":"e_1_2_1_13_1","unstructured":"Eclipse Foundation. 2007. The Eclipse open development platform. http:\/\/www.eclipse.org.  Eclipse Foundation. 2007. The Eclipse open development platform. http:\/\/www.eclipse.org."},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2007.5"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/1288940.1288955"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/1176887.1176907"},{"volume-title":"Proceedings of the APGES Workshop.","author":"Ghosal A.","key":"e_1_2_1_17_1"},{"key":"e_1_2_1_18_1","doi-asserted-by":"crossref","unstructured":"Halbwachs N. 1993. Synchronous Programming of Reactive Systems. Kluwer Norwell MA.   Halbwachs N. 1993. Synchronous Programming of Reactive Systems. Kluwer Norwell MA.","DOI":"10.1007\/978-1-4757-2231-4"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/773039.512449"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/1286821.1286824"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1109\/JPROC.2002.805825"},{"key":"e_1_2_1_22_1","unstructured":"IBM. 2007. DDG1000 next generation Navy destroyers. http:\/\/www.ibm.com\/press\/us\/en\/pressrelease\/21033.wss.  IBM. 2007. DDG1000 next generation Navy destroyers. http:\/\/www.ibm.com\/press\/us\/en\/pressrelease\/21033.wss."},{"key":"e_1_2_1_23_1","unstructured":"IBM Corp. 2006. WebSphere Real-Time User's Guide 1st Ed.  IBM Corp. 2006. WebSphere Real-Time User's Guide 1st Ed."},{"key":"e_1_2_1_24_1","unstructured":"IBM Corporation. 2007. IBM expedited real time task graphs. www.alphaworks.ibm.com\/tech\/xrtgs.  IBM Corporation. 2007. IBM expedited real time task graphs. www.alphaworks.ibm.com\/tech\/xrtgs."},{"key":"e_1_2_1_25_1","unstructured":"Java Community Process. JSR-121 application isolation API. http:\/\/www.jcp.org\/aboutJava\/communityprocess\/final\/jsr121.  Java Community Process. JSR-121 application isolation API. http:\/\/www.jcp.org\/aboutJava\/communityprocess\/final\/jsr121."},{"volume-title":"Proceedings of the International Computer Music Conference.","year":"2007","author":"Juillerat N.","key":"e_1_2_1_26_1"},{"key":"e_1_2_1_27_1","unstructured":"Lee E. 2003. Overview of the Ptolemy project. Tech. rep. UCB\/ERL M03\/25 EECS Department University of California Berkeley.  Lee E. 2003. Overview of the Ptolemy project. Tech. rep. UCB\/ERL M03\/25 EECS Department University of California Berkeley."},{"key":"e_1_2_1_28_1","unstructured":"Ogata K. 1997. Modern Control Engineering. Prentice Hall Upper Saddle River NJ.   Ogata K. 1997. Modern Control Engineering. Prentice Hall Upper Saddle River NJ."},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/502034.502044"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/1254766.1254784"},{"key":"e_1_2_1_31_1","unstructured":"Purdue. The OVM virtual machine. http:\/\/www.ovmj.org.  Purdue. The OVM virtual machine. http:\/\/www.ovmj.org."},{"key":"e_1_2_1_32_1","unstructured":"Real-Time-Workshop. 2007. http:\/\/www.mathworks.com\/products\/rtw.  Real-Time-Workshop. 2007. http:\/\/www.mathworks.com\/products\/rtw."},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISORC.2004.1300326"},{"key":"e_1_2_1_34_1","unstructured":"Simulink. 2007. http:\/\/www.mathworks.com\/products\/simulink.  Simulink. 2007. http:\/\/www.mathworks.com\/products\/simulink."},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/1133981.1134015"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/1254810.1254837"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/1297027.1297043"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1109\/32.637390"},{"key":"e_1_2_1_39_1","unstructured":"University of Salzburg. 2007. Exotask htl scheduler. htl.cs.uni-salzburg.at\/exotask-htl.  University of Salzburg. 2007. Exotask htl scheduler. htl.cs.uni-salzburg.at\/exotask-htl."}],"container-title":["ACM Transactions on Embedded Computing Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1457255.1457262","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1457255.1457262","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T12:45:48Z","timestamp":1750250748000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1457255.1457262"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2009,1]]},"references-count":39,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2009,1]]}},"alternative-id":["10.1145\/1457255.1457262"],"URL":"https:\/\/doi.org\/10.1145\/1457255.1457262","relation":{},"ISSN":["1539-9087","1558-3465"],"issn-type":[{"type":"print","value":"1539-9087"},{"type":"electronic","value":"1558-3465"}],"subject":[],"published":{"date-parts":[[2009,1]]},"assertion":[{"value":"2007-10-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2008-07-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2009-02-09","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}