{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:10:41Z","timestamp":1750306241570,"version":"3.41.0"},"reference-count":59,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2017,7,13]],"date-time":"2017-07-13T00:00:00Z","timestamp":1499904000000},"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":[[2017,11,30]]},"abstract":"<jats:p>\n            C\n            <jats:sc>\u00e9U<\/jats:sc>\n            is a synchronous language targeting soft real-time systems. It is inspired by Esterel and has a simple semantics with fine-grain control over program execution. C\n            <jats:sc>\u00e9U<\/jats:sc>\n            uses an event-triggered notion of time that enables compile-time checks to detect conflicting concurrent statements, resulting in deterministic and concurrency-safe programs. We present the particularities of our design in comparison to Esterel, such as stack-based internal events, concurrency checks, safe integration with C, and first-class timers. We also present two implementation back ends: one aiming for resource efficiency and interoperability with C, and another as a virtual machine that allows remote reprogramming.\n          <\/jats:p>","DOI":"10.1145\/3035544","type":"journal-article","created":{"date-parts":[[2017,7,13]],"date-time":"2017-07-13T14:29:57Z","timestamp":1499956197000},"page":"1-26","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":10,"title":["The Design and Implementation of the Synchronous Language C\u00c9U"],"prefix":"10.1145","volume":"16","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-2182-4167","authenticated-orcid":false,"given":"Francisco","family":"Sant'anna","sequence":"first","affiliation":[{"name":"UERJ, Rio de Janeiro, Brazil"}]},{"given":"Roberto","family":"Ierusalimschy","sequence":"additional","affiliation":[{"name":"PUC--Rio, Rio de Janeiro, Brazil"}]},{"given":"Noemi","family":"Rodriguez","sequence":"additional","affiliation":[{"name":"PUC--Rio, Rio de Janeiro, Brazil"}]},{"given":"Silvana","family":"Rossetto","sequence":"additional","affiliation":[{"name":"UFRJ, Rio de Janeiro, Brazil"}]},{"given":"Adriano","family":"Branco","sequence":"additional","affiliation":[{"name":"PUC--Rio, Rio de Janeiro, Brazil"}]}],"member":"320","published-online":{"date-parts":[[2017,7,13]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1109\/MEMCOD.2010.5558636"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/1324969.1324974"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-13651-1_2"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1109\/IROS.2005.1545467"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1109\/JPROC.2002.805826"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-57529-4_44"},{"key":"e_1_2_1_7_1","unstructured":"G\u00e9rard Berry. 1999. The Constructive Semantics of Pure Esterel (Draft Version 3). Ecole des Mines de Paris and INRIA.  G\u00e9rard Berry. 1999. The Constructive Semantics of Pure Esterel (Draft Version 3). Ecole des Mines de Paris and INRIA."},{"key":"e_1_2_1_8_1","unstructured":"G\u00e9rard Berry. 2000. The Esterel-V5 Language Primer (Version 5.10 Release 2.0). CMA and Inria Sophia-Antipolis France.  G\u00e9rard Berry. 2000. The Esterel-V5 Language Primer (Version 5.10 Release 2.0). CMA and Inria Sophia-Antipolis France."},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/158511.158526"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.entcs.2008.05.011"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1109\/2.846318"},{"volume-title":"Proceedings of the SYNCHRON Conference (SYNCHRON\u201909)","author":"Bourke T.","key":"e_1_2_1_12_1","unstructured":"T. Bourke and A. Sowmya . 2009. Delays in Esterel . In Proceedings of the SYNCHRON Conference (SYNCHRON\u201909) . 55. T. Bourke and A. Sowmya. 2009. Delays in Esterel. In Proceedings of the SYNCHRON Conference (SYNCHRON\u201909). 55."},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380210406"},{"key":"e_1_2_1_14_1","volume-title":"SugarCubes Implementation of Causality. Retrieved","author":"Boussinot Fr\u00e9d\u00e9ric","year":"2017","unstructured":"Fr\u00e9d\u00e9ric Boussinot . 1998. SugarCubes Implementation of Causality. Retrieved June 5, 2017 , from http:\/\/www-sop.inria.fr\/meije\/rp\/RapportsRecherche\/RR-3487.pdf Fr\u00e9d\u00e9ric Boussinot. 1998. SugarCubes Implementation of Causality. Retrieved June 5, 2017, from http:\/\/www-sop.inria.fr\/meije\/rp\/RapportsRecherche\/RR-3487.pdf"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1109\/5.97299"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/2811267"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/1462735.1462740"},{"volume-title":"Learning JQuery 1.3: Better Interaction and Web Development with Simple JavaScript Techniques","author":"Chaffer Jonathan","key":"e_1_2_1_18_1","unstructured":"Jonathan Chaffer . 2009. Learning JQuery 1.3: Better Interaction and Web Development with Simple JavaScript Techniques . Packt Publishing Ltd . Jonathan Chaffer. 2009. Learning JQuery 1.3: Better Interaction and Web Development with Simple JavaScript Techniques. Packt Publishing Ltd."},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1016\/S1571-0661(05)80443-8"},{"key":"e_1_2_1_20_1","volume-title":"Proceedings of the SLAP Conference (SLAP\u201905)","author":"Sajeewa Dayaratne M. W.","year":"2005","unstructured":"M. W. Sajeewa Dayaratne , Partha S. Roop , and Zoran Salcic . 2005 . Direct execution of Esterel using reactive microprocessors . In Proceedings of the SLAP Conference (SLAP\u201905) . M. W. Sajeewa Dayaratne, Partha S. Roop, and Zoran Salcic. 2005. Direct execution of Esterel using reactive microprocessors. In Proceedings of the SLAP Conference (SLAP\u201905)."},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/1462166.1462167"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1201\/9781420038163.ch8"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/1182807.1182811"},{"key":"e_1_2_1_24_1","unstructured":"Robert Eckstein Marc Loy and Dave Wood. 1998. Java Swing. O\u2019Reilly 8 Associates.  Robert Eckstein Marc Loy and Dave Wood. 1998. Java Swing. O\u2019Reilly 8 Associates."},{"key":"e_1_2_1_25_1","volume-title":"Proceedings of the 7th International Workshop on Hardware\/Software Codesign. ACM","author":"Edwards Stephen A.","year":"1999","unstructured":"Stephen A. Edwards . 1999 . Compiling Esterel into sequential code . In Proceedings of the 7th International Workshop on Hardware\/Software Codesign. ACM , New York, NY, 147--151. Stephen A. Edwards. 1999. Compiling Esterel into sequential code. In Proceedings of the 7th International Workshop on Hardware\/Software Codesign. ACM, New York, NY, 147--151."},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/762488.762489"},{"key":"e_1_2_1_27_1","volume-title":"Proceedings of the MEMOCODE\u201905 Tutorial.","author":"Edwards Stephen A.","year":"2005","unstructured":"Stephen A. Edwards . 2005 . Using and Compiling Esterel . In Proceedings of the MEMOCODE\u201905 Tutorial. Stephen A. Edwards. 2005. Using and Compiling Esterel. In Proceedings of the MEMOCODE\u201905 Tutorial."},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/781131.781133"},{"volume-title":"Synchronous Programming of Reactive Systems","author":"Halbwachs Nicolas","key":"e_1_2_1_29_1","unstructured":"Nicolas Halbwachs . 1994. Synchronous Programming of Reactive Systems . Vol. 215 . Springer Science 8 Business Media. Nicolas Halbwachs. 1994. Synchronous Programming of Reactive Systems. Vol. 215. Springer Science 8 Business Media."},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10009-007-0049-7"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/235321.235322"},{"key":"e_1_2_1_32_1","volume-title":"Proceedings of the Synchrone Sprachen Seminar. 45","author":"Haribi Wahbi","year":"2012","unstructured":"Wahbi Haribi . 2012 . Compiling Esterel for multi-core execution . In Proceedings of the Synchrone Sprachen Seminar. 45 . Wahbi Haribi. 2012. Compiling Esterel for multi-core execution. In Proceedings of the Synchrone Sprachen Seminar. 45."},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/356989.356998"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1109\/SAHCN.2007.4292873"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1109\/IPSN.2005.1440892"},{"volume-title":"Real-Time Systems: Design Principles for Distributed Embedded Applications","author":"Kopetz Hermann","key":"e_1_2_1_36_1","unstructured":"Hermann Kopetz . 2011. Real-Time Systems: Design Principles for Distributed Embedded Applications . Springer Science 8 Business Media. Hermann Kopetz. 2011. Real-Time Systems: Design Principles for Distributed Embedded Applications. Springer Science 8 Business Media."},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/1086297.1086327"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/1069774.1069782"},{"key":"e_1_2_1_39_1","unstructured":"Robert Nystrom. 2014. Game Programming Patterns. Genever Benning.  Robert Nystrom. 2014. Game Programming Patterns. Genever Benning."},{"key":"e_1_2_1_40_1","volume-title":"Proceedings of the USENIX Winter Conference. 105--116","author":"Ousterhout John K.","year":"1991","unstructured":"John K. Ousterhout . 1991 . An X11 toolkit based on the TCL language . In Proceedings of the USENIX Winter Conference. 105--116 . John K. Ousterhout. 1991. An X11 toolkit based on the TCL language. In Proceedings of the USENIX Winter Conference. 105--116."},{"key":"e_1_2_1_41_1","volume-title":"Why Threads Are a Bad Idea (for most purposes). Retrieved","author":"Ousterhout John K.","year":"2017","unstructured":"John K. Ousterhout . 1996. Why Threads Are a Bad Idea (for most purposes). Retrieved June 5, 2017 , from https:\/\/web.stanford.edu\/~ouster\/cgi-bin\/papers\/threads.pdf. John K. Ousterhout. 1996. Why Threads Are a Bad Idea (for most purposes). Retrieved June 5, 2017, from https:\/\/web.stanford.edu\/~ouster\/cgi-bin\/papers\/threads.pdf."},{"volume-title":"Proceedings of the SLAP Conference (SLAP\u201906)","author":"Plummer Becky","key":"e_1_2_1_42_1","unstructured":"Becky Plummer , Mukul Khajanchi , and Stephen A. Edwards . 2006. An Esterel virtual machine for embedded systems . In Proceedings of the SLAP Conference (SLAP\u201906) . Becky Plummer, Mukul Khajanchi, and Stephen A. Edwards. 2006. An Esterel virtual machine for embedded systems. In Proceedings of the SLAP Conference (SLAP\u201906)."},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/1017753.1017793"},{"key":"e_1_2_1_45_1","volume-title":"C\u00e9u: Embedded, Safe, and Reactive Programming. Technical Report 12\/12. PUC-Rio.","author":"Sant\u2019Anna Francisco","year":"2012","unstructured":"Francisco Sant\u2019Anna , Noemi Rodriguez , and Roberto Ierusalimschy . 2012 . C\u00e9u: Embedded, Safe, and Reactive Programming. Technical Report 12\/12. PUC-Rio. Francisco Sant\u2019Anna, Noemi Rodriguez, and Roberto Ierusalimschy. 2012. C\u00e9u: Embedded, Safe, and Reactive Programming. Technical Report 12\/12. PUC-Rio."},{"key":"e_1_2_1_46_1","volume-title":"Proceedings of the Workshop on Reactivity, Events, and Modularity (REM\u201913)","author":"Sant\u2019Anna Francisco","year":"2013","unstructured":"Francisco Sant\u2019Anna , Noemi Rodriguez , and Roberto Ierusalimschy . 2013 a. Advanced control reactivity for embedded systems . In Proceedings of the Workshop on Reactivity, Events, and Modularity (REM\u201913) . Francisco Sant\u2019Anna, Noemi Rodriguez, and Roberto Ierusalimschy. 2013a. Advanced control reactivity for embedded systems. In Proceedings of the Workshop on Reactivity, Events, and Modularity (REM\u201913)."},{"key":"e_1_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1145\/2724525.2724571"},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1145\/2517351.2517360"},{"key":"e_1_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/502217.502226"},{"key":"e_1_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISSS.1997.621669"},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1109\/EDTC.1996.494321"},{"key":"e_1_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1109\/MEMCOD.2004.1459813"},{"key":"e_1_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1109\/MIC.2010.145"},{"key":"e_1_2_1_54_1","volume-title":"Proceedings of the FTRTFT Conference (FTRTFT\u201994)","author":"von der Beeck Michael","year":"1994","unstructured":"Michael von der Beeck . 1994 . A comparison of statecharts variants . In Proceedings of the FTRTFT Conference (FTRTFT\u201994) . 128--148. Michael von der Beeck. 1994. A comparison of statecharts variants. In Proceedings of the FTRTFT Conference (FTRTFT\u201994). 128--148."},{"key":"e_1_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1145\/1629335.1629366"},{"key":"e_1_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1145\/2594291.2594310"},{"key":"e_1_2_1_57_1","doi-asserted-by":"publisher","DOI":"10.1145\/2627350"},{"key":"e_1_2_1_58_1","doi-asserted-by":"publisher","DOI":"10.1145\/354880.354882"},{"key":"e_1_2_1_59_1","doi-asserted-by":"publisher","DOI":"10.1109\/DSD.2011.97"},{"key":"e_1_2_1_60_1","doi-asserted-by":"publisher","DOI":"10.1145\/2442116.2442130"}],"container-title":["ACM Transactions on Embedded Computing Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3035544","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3035544","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T04:23:34Z","timestamp":1750220614000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3035544"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017,7,13]]},"references-count":59,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2017,11,30]]}},"alternative-id":["10.1145\/3035544"],"URL":"https:\/\/doi.org\/10.1145\/3035544","relation":{},"ISSN":["1539-9087","1558-3465"],"issn-type":[{"type":"print","value":"1539-9087"},{"type":"electronic","value":"1558-3465"}],"subject":[],"published":{"date-parts":[[2017,7,13]]},"assertion":[{"value":"2015-10-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2016-12-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2017-07-13","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}