{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:22:13Z","timestamp":1750306933360,"version":"3.41.0"},"reference-count":30,"publisher":"Association for Computing Machinery (ACM)","issue":"1s","license":[{"start":{"date-parts":[[2013,3,1]],"date-time":"2013-03-01T00:00:00Z","timestamp":1362096000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/501100001665","name":"Agence Nationale de la Recherche","doi-asserted-by":"publisher","id":[{"id":"10.13039\/501100001665","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Embed. Comput. Syst."],"published-print":{"date-parts":[[2013,3]]},"abstract":"<jats:p>\n            In embedded systems, controlling a shared resource like a bus, or improving a property like power consumption, may be hard to achieve when programming device drivers individually. In this article, we propose a\n            <jats:italic>global resource control<\/jats:italic>\n            approach, based on a centralized view of the devices' states. The solution we propose operates on the hardware\/software interface. It involves a simple adaptation of the application level, to communicate with the hardware via a\n            <jats:italic>control layer<\/jats:italic>\n            . The control layer itself is built from a set of simple automata: the device drivers, whose states correspond to functional or power consumption modes, and a controller to enforce global properties. All these automata are programmed using a synchronous language, and compiled into a single piece of C code. We take as example the node of a sensor network. We explain the approach in details, demonstrate its use and benefits with an event-driven or multithreading operating system, and draw guidelines for its use in other contexts.\n          <\/jats:p>","DOI":"10.1145\/2435227.2435235","type":"journal-article","created":{"date-parts":[[2013,3,19]],"date-time":"2013-03-19T13:34:23Z","timestamp":1363700063000},"page":"1-26","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":3,"title":["Synchronous programming of device drivers for global resource control in embedded operating systems"],"prefix":"10.1145","volume":"12","author":[{"given":"Nicolas","family":"Berthier","sequence":"first","affiliation":[{"name":"UJF\/Verimag"}]},{"given":"Florence","family":"Maraninchi","sequence":"additional","affiliation":[{"name":"Grenoble INP\/Verimag"}]},{"given":"Laurent","family":"Mounier","sequence":"additional","affiliation":[{"name":"UJF\/Verimag"}]}],"member":"320","published-online":{"date-parts":[[2013,3,21]]},"reference":[{"doi-asserted-by":"publisher","key":"e_1_2_1_1_1","DOI":"10.1007\/978-0-387-79361-0_7"},{"doi-asserted-by":"publisher","key":"e_1_2_1_2_1","DOI":"10.5555\/1765712.1765727"},{"doi-asserted-by":"publisher","key":"e_1_2_1_3_1","DOI":"10.1109\/JPROC.2002.805826"},{"doi-asserted-by":"publisher","key":"e_1_2_1_4_1","DOI":"10.1007\/s11036-005-1567-8"},{"doi-asserted-by":"publisher","key":"e_1_2_1_5_1","DOI":"10.1145\/2038642.2038690"},{"doi-asserted-by":"publisher","key":"e_1_2_1_6_1","DOI":"10.1145\/1182807.1182838"},{"doi-asserted-by":"publisher","key":"e_1_2_1_7_1","DOI":"10.1145\/41625.41641"},{"doi-asserted-by":"publisher","key":"e_1_2_1_8_1","DOI":"10.1145\/1331331.1331339"},{"doi-asserted-by":"publisher","key":"e_1_2_1_9_1","DOI":"10.1145\/1236360.1236381"},{"doi-asserted-by":"publisher","key":"e_1_2_1_10_1","DOI":"10.1109\/TSMCC.2003.813152"},{"doi-asserted-by":"publisher","key":"e_1_2_1_11_1","DOI":"10.1145\/1710035.1710082"},{"doi-asserted-by":"publisher","key":"e_1_2_1_12_1","DOI":"10.5555\/1786014.1786044"},{"doi-asserted-by":"publisher","key":"e_1_2_1_13_1","DOI":"10.1145\/1755888.1755898"},{"doi-asserted-by":"publisher","key":"e_1_2_1_14_1","DOI":"10.1109\/LCN.2004.38"},{"doi-asserted-by":"publisher","key":"e_1_2_1_15_1","DOI":"10.1145\/1182807.1182811"},{"doi-asserted-by":"publisher","key":"e_1_2_1_16_1","DOI":"10.1109\/RTSS.2005.30"},{"doi-asserted-by":"publisher","key":"e_1_2_1_17_1","DOI":"10.1145\/1236360.1236385"},{"doi-asserted-by":"publisher","key":"e_1_2_1_18_1","DOI":"10.1145\/781131.781133"},{"doi-asserted-by":"publisher","key":"e_1_2_1_19_1","DOI":"10.1007\/s10703-009-0084-y"},{"doi-asserted-by":"publisher","key":"e_1_2_1_20_1","DOI":"10.1145\/384264.379006"},{"unstructured":"INRIA 2008. SensTools. INRIA. http:\/\/senstools.gforge.inria.fr\/.  INRIA 2008. SensTools. INRIA. http:\/\/senstools.gforge.inria.fr\/.","key":"e_1_2_1_21_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_22_1","DOI":"10.1145\/1323293.1294286"},{"doi-asserted-by":"publisher","key":"e_1_2_1_23_1","DOI":"10.1145\/1460412.1460434"},{"doi-asserted-by":"publisher","key":"e_1_2_1_24_1","DOI":"10.1016\/S0096-0551(01)00016-9"},{"doi-asserted-by":"publisher","key":"e_1_2_1_25_1","DOI":"10.1023\/A:1008311720696"},{"doi-asserted-by":"publisher","key":"e_1_2_1_26_1","DOI":"10.1109\/5.21072"},{"doi-asserted-by":"publisher","key":"e_1_2_1_27_1","DOI":"10.1145\/1322263.1322279"},{"doi-asserted-by":"publisher","key":"e_1_2_1_28_1","DOI":"10.1145\/1480881.1480913"},{"doi-asserted-by":"publisher","key":"e_1_2_1_29_1","DOI":"10.1145\/844128.844147"},{"doi-asserted-by":"publisher","key":"e_1_2_1_30_1","DOI":"10.1145\/605397.605411"}],"container-title":["ACM Transactions on Embedded Computing Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2435227.2435235","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2435227.2435235","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T08:35:40Z","timestamp":1750235740000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2435227.2435235"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2013,3]]},"references-count":30,"journal-issue":{"issue":"1s","published-print":{"date-parts":[[2013,3]]}},"alternative-id":["10.1145\/2435227.2435235"],"URL":"https:\/\/doi.org\/10.1145\/2435227.2435235","relation":{},"ISSN":["1539-9087","1558-3465"],"issn-type":[{"type":"print","value":"1539-9087"},{"type":"electronic","value":"1558-3465"}],"subject":[],"published":{"date-parts":[[2013,3]]},"assertion":[{"value":"2011-08-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2012-03-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2013-03-21","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}