{"abstract":[{"text":"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, 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 exhibits, given an input behavior, predictable (i.e., deterministic) timing and output behavior. The second, platform-dependent compiler phase checks the time safety 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.","lang":"eng"}],"status":"public","date_published":"2002-06-01T00:00:00Z","oa_version":"None","conference":{"end_date":"2002-06-19","start_date":"2002-06-17","location":"Berlin, Germany","name":"PLDI: Programming Languages Design and Implementation"},"acknowledgement":"This research was supported in part by the DARPA SEC grant F33615-C-98-3614, the MARCO GSRC grant 98-DT- 660, the AFOSR MURI grant F49620-00-1-0327, and the NSF ITR grant CCR-0085949.","publist_id":"284","type":"conference","publication_status":"published","scopus_import":"1","extern":"1","citation":{"mla":"Henzinger, Thomas A., and Christoph Kirsch. “The Embedded Machine: Predictable, Portable Real-Time Code.” Proceedings of the ACM SIGPLAN 2002 Conference on Programming Language Design and Implementation, ACM, 2002, pp. 315–26, doi:10.1145/512529.512567.","ista":"Henzinger TA, Kirsch C. 2002. The embedded machine: predictable, portable real-time code. Proceedings of the ACM SIGPLAN 2002 conference on Programming language design and implementation. PLDI: Programming Languages Design and Implementation, 315–326.","short":"T.A. Henzinger, C. Kirsch, in:, Proceedings of the ACM SIGPLAN 2002 Conference on Programming Language Design and Implementation, ACM, 2002, pp. 315–326.","ieee":"T. A. Henzinger and C. Kirsch, “The embedded machine: predictable, portable real-time code,” in Proceedings of the ACM SIGPLAN 2002 conference on Programming language design and implementation, Berlin, Germany, 2002, pp. 315–326.","apa":"Henzinger, T. A., & Kirsch, C. (2002). The embedded machine: predictable, portable real-time code. In Proceedings of the ACM SIGPLAN 2002 conference on Programming language design and implementation (pp. 315–326). Berlin, Germany: ACM. https://doi.org/10.1145/512529.512567","chicago":"Henzinger, Thomas A, and Christoph Kirsch. “The Embedded Machine: Predictable, Portable Real-Time Code.” In Proceedings of the ACM SIGPLAN 2002 Conference on Programming Language Design and Implementation, 315–26. ACM, 2002. https://doi.org/10.1145/512529.512567.","ama":"Henzinger TA, Kirsch C. The embedded machine: predictable, portable real-time code. In: Proceedings of the ACM SIGPLAN 2002 Conference on Programming Language Design and Implementation. ACM; 2002:315-326. doi:10.1145/512529.512567"},"publisher":"ACM","publication":"Proceedings of the ACM SIGPLAN 2002 conference on Programming language design and implementation","month":"06","page":"315 - 326","_id":"4444","year":"2002","day":"01","doi":"10.1145/512529.512567","quality_controlled":"1","publication_identifier":{"isbn":["9781581134636"]},"author":[{"first_name":"Thomas A","last_name":"Henzinger","orcid":"0000−0002−2985−7724","id":"40876CD8-F248-11E8-B48F-1D18A9856A87","full_name":"Henzinger, Thomas A"},{"last_name":"Kirsch","first_name":"Christoph","full_name":"Kirsch, Christoph"}],"date_updated":"2023-06-05T09:02:23Z","language":[{"iso":"eng"}],"date_created":"2018-12-11T12:08:53Z","title":"The embedded machine: predictable, portable real-time code","article_processing_charge":"No","user_id":"ea97e931-d5af-11eb-85d4-e6957dddbf17"}