{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:53:02Z","timestamp":1750308782939,"version":"3.41.0"},"reference-count":40,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2006,10,1]],"date-time":"2006-10-01T00:00:00Z","timestamp":1159660800000},"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":[[2006,10]]},"abstract":"<jats:p>In modern embedded systems, software development plays a vital role. Many key functions are being migrated to software, aiming at a shorter time to market and easier upgrades. Multitasking is increasingly common in embedded software, and many of these tasks incorporate real-time constraints. Although multitasking simplifies coding, it demands an operating system and imposes significant overhead on the system. The use of serializing compilers, such as the Phantom compiler, allows the synthesis of a monolithic code from a multitasking C application, eliminating the need for an operating system. In this article, we introduce the synthesis of multitasking applications that execute in a timely manner. We incorporate the notion of timing constraints into the Phantom compiler, and show that our approach is effective in meeting such constraints, allowing fine-grained concurrency among the tasks. As an additional case study, we present the implementation of a software-based modem and show that real-time applications such as the modem have guaranteed performance in the serialized code generated by the Phantom compiler.<\/jats:p>","DOI":"10.1145\/1179461.1179463","type":"journal-article","created":{"date-parts":[[2007,1,16]],"date-time":"2007-01-16T19:38:29Z","timestamp":1168976309000},"page":"822-847","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":2,"title":["Synthesis of time-constrained multitasking embedded software"],"prefix":"10.1145","volume":"11","author":[{"given":"Andr\u00e9 C.","family":"N\u00e1cul","sequence":"first","affiliation":[{"name":"University of California, Irvine, Irvine, CA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Tony","family":"Givargis","sequence":"additional","affiliation":[{"name":"University of California, Irvine, Irvine, CA"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2006,10]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/857076.857077"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1109\/43.766731"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1016\/0167-6423(92)90005-V"},{"volume-title":"Proceedings of Design, Automation & Test in Europe (DATE).","author":"Besana M.","key":"e_1_2_1_4_1"},{"key":"e_1_2_1_5_1","unstructured":"BusyBox. 2005. Go online to http:\/\/www.busybox.net.  BusyBox. 2005. Go online to http:\/\/www.busybox.net."},{"volume":"2360","volume-title":"Proceedings of the 23rd International Conference on Application and Theory of Petri Nets","author":"Cortadella J.","key":"e_1_2_1_6_1"},{"volume-title":"Proceedings of Design Automation Conference (DAC). 10","author":"Cortadella J.","key":"e_1_2_1_7_1"},{"volume-title":"Proceedings of DATE. 1176--1181","author":"Cort\u00e9s L. A.","key":"e_1_2_1_8_1"},{"volume-title":"Proceedings of the International Conference on Real-Time and Embedded Computing Systems and Applications. 422--428","year":"2005","author":"Cort\u00e9s L. A.","key":"e_1_2_1_9_1"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2004.27"},{"volume-title":"Proceedings of CODES. 10","year":"1999","author":"Edwards S.","key":"e_1_2_1_11_1"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1109\/43.980257"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/762488.762489"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1109\/TC.2005.139"},{"volume-title":"Embedded Computing: A VLIW Approach to Architecture, Compilers, and Tools. Morgan Kauffman","year":"2002","author":"Fisher J.","key":"e_1_2_1_15_1"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1109\/43.959858"},{"volume-title":"Proceedings of Design Automation & Test in Europe (DATE).","author":"Gerstlauer A.","key":"e_1_2_1_17_1"},{"volume-title":"Proceedings of the USENIX Symposium on Operating Systems Design and Implementation. 10","author":"Goel A.","key":"e_1_2_1_18_1"},{"key":"e_1_2_1_19_1","unstructured":"Gosling J. Joy B. and Steele G. 1996. The Java Language Specification. Addison-Wesley Reading MA.   Gosling J. Joy B. and Steele G. 1996. The Java Language Specification. Addison-Wesley Reading MA."},{"volume-title":"Proceedings of Design, Automation & Test in Europe (DATE).","author":"Herrera F.","key":"e_1_2_1_20_1"},{"volume-title":"Proceedings of the Asia-Pacific Software Engineering Conference.","author":"Hsiung P.-A.","key":"e_1_2_1_21_1"},{"key":"e_1_2_1_22_1","unstructured":"Intel Corp. 1997. Using the RDTSC instruction for performance monitoring. Intel Application Notes. Intel Santa Clara CA.  Intel Corp. 1997. Using the RDTSC instruction for performance monitoring. Intel Application Notes. Intel Santa Clara CA."},{"volume-title":"Proceedings of the International Conference on Parallel Architectures and Compilation Techniques.","author":"Karkowski I.","key":"e_1_2_1_23_1"},{"volume-title":"Proceedings of the International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC). 10","year":"2005","author":"Kirner R.","key":"e_1_2_1_24_1"},{"key":"e_1_2_1_25_1","doi-asserted-by":"crossref","unstructured":"Labrosse J. 2002. MicroC\/OS-II: The Real Time Kernel. CMP Books San Francisco CA.   Labrosse J. 2002. MicroC\/OS-II: The Real Time Kernel. CMP Books San Francisco CA.","DOI":"10.1201\/9781482295603"},{"volume-title":"Proceedings of DATE.","year":"1998","author":"Lin B.","key":"e_1_2_1_26_1"},{"key":"e_1_2_1_27_1","unstructured":"Measurement Computing Inc. 2005. PCI-DAS4020\/12 Specifications Rev 1.2. Available online at http:\/\/www.mccdaq.com.  Measurement Computing Inc. 2005. PCI-DAS4020\/12 Specifications Rev 1.2. Available online at http:\/\/www.mccdaq.com."},{"key":"e_1_2_1_28_1","unstructured":"Microsoft Corporation. 2003. The C&num; 2.0 Specification. Available online at http:\/\/msdn.microsoft.com\/vcsharp.  Microsoft Corporation. 2003. The C&num; 2.0 Specification. Available online at http:\/\/msdn.microsoft.com\/vcsharp."},{"volume-title":"Proceedings of Design, Automation & Test in Europe (DATE).","author":"Moigne R. L.","key":"e_1_2_1_29_1"},{"volume-title":"Proceedings of the Workshop on Languages and Compilers for Parallel Computing.","author":"Moreira J.","key":"e_1_2_1_30_1"},{"volume-title":"Proceedings of ICCAD. 190--196","year":"2004","author":"Nacul A.","key":"e_1_2_1_31_1"},{"volume-title":"Proceedings of DATE. 742--747","year":"2005","author":"Nacul A.","key":"e_1_2_1_32_1"},{"key":"e_1_2_1_33_1","unstructured":"Nacul A. and Givargis T. 2005b. Phantom compiler 0.8. Go online to http:\/\/www.ics.uci.edu\/~nacul\/phantom.  Nacul A. and Givargis T. 2005b. Phantom compiler 0.8. Go online to http:\/\/www.ics.uci.edu\/~nacul\/phantom."},{"key":"e_1_2_1_34_1","unstructured":"RedHat Inc. 2005. Embedded configurable operating system (ecos). Go online to sources. redhat.com\/ecos.  RedHat Inc. 2005. Embedded configurable operating system (ecos). Go online to sources. redhat.com\/ecos."},{"key":"e_1_2_1_35_1","doi-asserted-by":"crossref","unstructured":"Reisig W. 1992. A Primer in Petri Net Design. Springer-Verlag Berlin Germany.   Reisig W. 1992. A Primer in Petri Net Design. Springer-Verlag Berlin Germany.","DOI":"10.1007\/978-3-642-75329-9"},{"key":"e_1_2_1_36_1","unstructured":"Schouten D. 1995. Efficient scheduling of parallel tasks in a multiprogramming environment. Ph.D. dissertation. University of Illinois at Urbana-Champaign.   Schouten D. 1995. Efficient scheduling of parallel tasks in a multiprogramming environment. Ph.D. dissertation. University of Illinois at Urbana-Champaign."},{"key":"e_1_2_1_37_1","unstructured":"The Open SystemC Initiative. 2005. Go online to www.systemc.org.  The Open SystemC Initiative. 2005. Go online to www.systemc.org."},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1023\/A:1008141130870"},{"volume-title":"Proceedings of the Design Automation Conference (DAC). 10","author":"Vercauteren S.","key":"e_1_2_1_39_1"},{"volume-title":"Proceedings of EMSOFT.","author":"Verdiere V.","key":"e_1_2_1_40_1"}],"container-title":["ACM Transactions on Design Automation of Electronic Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1179461.1179463","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1179461.1179463","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T20:22:45Z","timestamp":1750278165000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1179461.1179463"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2006,10]]},"references-count":40,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2006,10]]}},"alternative-id":["10.1145\/1179461.1179463"],"URL":"https:\/\/doi.org\/10.1145\/1179461.1179463","relation":{},"ISSN":["1084-4309","1557-7309"],"issn-type":[{"type":"print","value":"1084-4309"},{"type":"electronic","value":"1557-7309"}],"subject":[],"published":{"date-parts":[[2006,10]]},"assertion":[{"value":"2006-10-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}