{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,1,1]],"date-time":"2026-01-01T10:03:53Z","timestamp":1767261833360,"version":"3.41.0"},"reference-count":20,"publisher":"Association for Computing Machinery (ACM)","issue":"6","license":[{"start":{"date-parts":[[2007,10,1]],"date-time":"2007-10-01T00:00:00Z","timestamp":1191196800000},"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. Program. Lang. Syst."],"published-print":{"date-parts":[[2007,10]]},"abstract":"<jats:p>\n            The Embedded Machine is a virtual machine that mediates in real time the interaction between software processes and physical processes. It separates the compilation of embedded programs into two phases. The first phase, the platform-independent compiler phase, generates E code (code executed by the Embedded Machine), which supervises the timing, not the scheduling of, application tasks relative to external events such as clock ticks and sensor interrupts. E code is portable and, given an input behavior, exhibits predictable (i.e., deterministic) timing and output behavior. The second phase, the platform-dependent compiler phase, checks the\n            <jats:italic>time safety<\/jats:italic>\n            of the E code, that is, whether platform performance (determined by the hardware) and platform utilization (determined by the scheduler of the operating system) enable its timely execution. We have used the Embedded Machine to compile and execute high-performance control applications written in Giotto, such as the flight control system of an autonomous model helicopter.\n          <\/jats:p>","DOI":"10.1145\/1286821.1286824","type":"journal-article","created":{"date-parts":[[2007,11,15]],"date-time":"2007-11-15T14:26:02Z","timestamp":1195136762000},"page":"33","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":33,"title":["The embedded machine"],"prefix":"10.1145","volume":"29","author":[{"given":"Thomas A.","family":"Henzinger","sequence":"first","affiliation":[{"name":"University of California, Berkeley"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Christoph M.","family":"Kirsch","sequence":"additional","affiliation":[{"name":"University of California, Berkeley"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2007,10]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/258948.258967"},{"volume-title":"Proof, Language, and Interaction: Essays in Honour of Robin Milner","author":"Berry G.","key":"e_1_2_1_2_1","unstructured":"Berry , G. 2000. The foundations of Esterel . In Proof, Language, and Interaction: Essays in Honour of Robin Milner , G. Plotkin, C. Stirling, and M. Tofte, Eds. MIT Press . Berry, G. 2000. The foundations of Esterel. In Proof, Language, and Interaction: Essays in Honour of Robin Milner, G. Plotkin, C. Stirling, and M. Tofte, Eds. MIT Press."},{"key":"e_1_2_1_3_1","unstructured":"Burns A. and Wellings A. 1997. Real-Time Systems and Programming Languages. Addison-Wesley.   Burns A. and Wellings A. 1997. Real-Time Systems and Programming Languages. Addison-Wesley."},{"volume-title":"Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications","author":"Buttazzo G.","key":"e_1_2_1_4_1","unstructured":"Buttazzo , G. 1997. Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications . Kluwer . Buttazzo, G. 1997. Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications. Kluwer."},{"volume-title":"Proceedings of the National Conference on Artificial Intelligence. 49--54","author":"Dean T.","key":"e_1_2_1_5_1","unstructured":"Dean , T. and Boddy , M . 1988. An analysis of time-dependent planning . In Proceedings of the National Conference on Artificial Intelligence. 49--54 . Dean, T. and Boddy, M. 1988. An analysis of time-dependent planning. In Proceedings of the National Conference on Artificial Intelligence. 49--54."},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.5555\/646787.703893"},{"volume-title":"Synchronous Programming of Reactive Systems","author":"Halbwachs N.","key":"e_1_2_1_7_1","unstructured":"Halbwachs , N. 1993. Synchronous Programming of Reactive Systems . Kluwer . Halbwachs, N. 1993. Synchronous Programming of Reactive Systems. Kluwer."},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1109\/5.97300"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.5555\/646787.703890"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.5555\/646788.703910"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-45212-6_16"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/1065910.1065914"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/1064979.1064986"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.5555\/646788.703899"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/321738.321743"},{"key":"e_1_2_1_16_1","volume-title":"-B","author":"Plaice J.","year":"1998","unstructured":"Plaice , J. and Saint , J . -B . 1998 . The Lustre-Esterel portable format. Tech. rep. INRIA Sophia Antipolis . Plaice, J. and Saint, J.-B. 1998. The Lustre-Esterel portable format. Tech. rep. INRIA Sophia Antipolis."},{"volume-title":"A computer system for model helicopter flight control","author":"Sanvido M.","key":"e_1_2_1_17_1","unstructured":"Sanvido , M. 1999. A computer system for model helicopter flight control ; Technical memo Nr. 3: The software core. Tech. rep. 317, ETH Zurich . Sanvido, M. 1999. A computer system for model helicopter flight control; Technical memo Nr. 3: The software core. Tech. rep. 317, ETH Zurich."},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/354880.354882"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/359763.359798"},{"key":"e_1_2_1_20_1","first-page":"6","article-title":"Tasks versus threads: An alternative multiprocessing paradigm. Software","volume":"17","author":"Wirth N.","year":"1996","unstructured":"Wirth , N. 1996 . Tasks versus threads: An alternative multiprocessing paradigm. Software : Concepts Tools 17 , 6 -- 12 . Wirth, N. 1996. Tasks versus threads: An alternative multiprocessing paradigm. Software: Concepts Tools 17, 6--12.","journal-title":"Concepts Tools"}],"container-title":["ACM Transactions on Programming Languages and Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1286821.1286824","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1286821.1286824","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T14:57:49Z","timestamp":1750258669000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1286821.1286824"}},"subtitle":["Predictable, portable real-time code"],"short-title":[],"issued":{"date-parts":[[2007,10]]},"references-count":20,"journal-issue":{"issue":"6","published-print":{"date-parts":[[2007,10]]}},"alternative-id":["10.1145\/1286821.1286824"],"URL":"https:\/\/doi.org\/10.1145\/1286821.1286824","relation":{},"ISSN":["0164-0925","1558-4593"],"issn-type":[{"type":"print","value":"0164-0925"},{"type":"electronic","value":"1558-4593"}],"subject":[],"published":{"date-parts":[[2007,10]]},"assertion":[{"value":"2007-10-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}