{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T04:09:16Z","timestamp":1750219756544,"version":"3.41.0"},"reference-count":38,"publisher":"Association for Computing Machinery (ACM)","issue":"6","license":[{"start":{"date-parts":[[2023,11,9]],"date-time":"2023-11-09T00:00:00Z","timestamp":1699488000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Embed. Comput. Syst."],"published-print":{"date-parts":[[2023,11,30]]},"abstract":"<jats:p>\n            We present NeRTA (\n            <jats:underline>Ne<\/jats:underline>\n            xt\n            <jats:underline>R<\/jats:underline>\n            elease\n            <jats:underline>T<\/jats:underline>\n            ime\n            <jats:underline>A<\/jats:underline>\n            nalysis), a technique to enable dynamic software updates for low-level control software of mobile robots. Dynamic software updates enable software correction and evolution\n            <jats:italic>during<\/jats:italic>\n            system operation. In mobile robotics, they are crucial to resolve software defects without interrupting system operation or to enable on-the-fly extensions. Low-level control software for mobile robots, however, is time sensitive and runs on resource-constrained hardware with no operating system support. To minimize the impact of the update process, NeRTA safely schedules updates during times when the computing unit would otherwise be idle. It does so by utilizing information from the existing scheduling algorithm without impacting its operation. As such, NeRTA works\n            <jats:italic>orthogonal<\/jats:italic>\n            to the existing scheduler, retaining the existing platform-specific optimizations and fine-tuning, and may simply operate as a plug-in component. To enable larger dynamic updates, we further conceive an additional mechanism called\n            <jats:italic>bounded reactive control<\/jats:italic>\n            and apply\n            <jats:italic>mixed-criticality<\/jats:italic>\n            concepts. The former cautiously reduces the overall control frequency, whereas the latter excludes less critical tasks from NeRTA processing. Their use increases the available idle times. We combine real-world experiments on embedded hardware with simulations to evaluate NeRTA. Our experimental evaluation shows that the difference between NeRTA\u2019s estimated idle times and the measured idle times is less than 15% in more than three-quarters of the samples. The combined effect of bounded reactive control and mixed-criticality concepts results in a 150+% increase in available idle times. We also show that the processing overhead of NeRTA and of the additional mechanisms is essentially negligible.\n          <\/jats:p>","DOI":"10.1145\/3623676","type":"journal-article","created":{"date-parts":[[2023,9,13]],"date-time":"2023-09-13T12:18:38Z","timestamp":1694607518000},"page":"1-27","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":0,"title":["Scheduling Dynamic Software Updates in Mobile Robots"],"prefix":"10.1145","volume":"22","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-0909-4053","authenticated-orcid":false,"given":"Ahmed El","family":"Yaacoub","sequence":"first","affiliation":[{"name":"Uppsala University, Sweden"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-4560-9541","authenticated-orcid":false,"given":"Luca","family":"Mottola","sequence":"additional","affiliation":[{"name":"Politecnico di Milano, Italy, and Uppsala University, Sweden"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-2586-8573","authenticated-orcid":false,"given":"Thiemo","family":"Voigt","sequence":"additional","affiliation":[{"name":"Uppsala University, Sweden"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-2733-7098","authenticated-orcid":false,"given":"Philipp","family":"R\u00fcmmer","sequence":"additional","affiliation":[{"name":"University of Regensburg, Germany, and Uppsala University, Sweden"}]}],"member":"320","published-online":{"date-parts":[[2023,11,9]]},"reference":[{"key":"e_1_3_2_2_2","unstructured":"ArduPilot. 2021. ArduPilot Home Page. Retrieved September 18 2023 from https:\/\/ardupilot.org\/"},{"key":"e_1_3_2_3_2","unstructured":"Texas Instruments. 2021. MSP430FR6007x Datasheet. Retrieved September 18 2023 from https:\/\/www.ti.com\/lit\/ds\/symlink\/msp430fr6007.pdf?ts=1635260016102"},{"key":"e_1_3_2_4_2","unstructured":"ArduPilot. 2022. Threading. Retrieved September 18 2023 from https:\/\/ardupilot.org\/dev\/docs\/learning-ardupilot-threading.html"},{"key":"e_1_3_2_5_2","unstructured":"Applied Aeronautics. 2022. Albatross: The Affordable Long Range Drone. Retrieved September 18 2023 from https:\/\/www.appliedaeronautics.com\/albatross-uav"},{"key":"e_1_3_2_6_2","unstructured":"Pixhawk. 2022. Pixhawk Home Page. Retrieved September 18 2023 from https:\/\/pixhawk.org\/"},{"key":"e_1_3_2_7_2","unstructured":"PX4. 2022. PX4 Home Page. Retrieved September 18 2023 from https:\/\/px4.io\/"},{"key":"e_1_3_2_8_2","unstructured":"TurtleBot. 2022. TurtleBot3. Retrieved September 18 2023 from https:\/\/www.turtlebot.com\/turtlebot3\/"},{"key":"e_1_3_2_9_2","doi-asserted-by":"publisher","DOI":"10.1145\/3307334.3326106"},{"key":"e_1_3_2_10_2","doi-asserted-by":"publisher","DOI":"10.1049\/iet-sen.2019.0201"},{"key":"e_1_3_2_11_2","doi-asserted-by":"publisher","DOI":"10.1109\/ROBOT.2004.1302409"},{"key":"e_1_3_2_12_2","doi-asserted-by":"publisher","DOI":"10.1145\/2906388.2906410"},{"key":"e_1_3_2_13_2","unstructured":"Alan Burns and Robert I. Davis. 2019. Mixed Criticality Systems\u2014A Review . University of York York UK"},{"key":"e_1_3_2_14_2","doi-asserted-by":"publisher","DOI":"10.1109\/ISSRE.2016.17"},{"key":"e_1_3_2_15_2","doi-asserted-by":"publisher","DOI":"10.1109\/CDC.2006.377362"},{"key":"e_1_3_2_16_2","unstructured":"Dominic Clifton. 2017. Cleanflight Home Page. Retrieved September 18 2023 from http:\/\/cleanflight.com\/"},{"key":"e_1_3_2_17_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICCV.2003.1238654"},{"key":"e_1_3_2_18_2","unstructured":"Simon Holmbacka Wictor Lund S\u00e9bastien Lafond and Johan Lilius. 2013. Lightweight framework for runtime updating of C-based software in embedded systems. In Proceedings of the 5th Workshop on Hot Topics in Software Upgrades (HotSWUp\u201913) . https:\/\/www.usenix.org\/conference\/hotswup13\/workshop-program\/presentation\/holmbacka"},{"key":"e_1_3_2_19_2","doi-asserted-by":"publisher","DOI":"10.1109\/REAL.1989.63567"},{"key":"e_1_3_2_20_2","unstructured":"Simon Levy. 2022. MulticopterSim. Retrieved September 18 2023 from https:\/\/github.com\/simondlevy\/MulticopterSim"},{"key":"e_1_3_2_21_2","unstructured":"Simon D. Levy. 2021. Hackflight Home Page. Retrieved September 18 2023 from https:\/\/github.com\/simondlevy\/Hackflight"},{"key":"e_1_3_2_22_2","unstructured":"Oscar Liang. 2021. RC Protocols Explained. Retrieved September 18 2023 from https:\/\/oscarliang.com\/rc-protocols\/"},{"key":"e_1_3_2_23_2","doi-asserted-by":"publisher","DOI":"10.1109\/32.392980"},{"key":"e_1_3_2_24_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-54876-0_3"},{"issue":"1","key":"e_1_3_2_25_2","first-page":"13","article-title":"Challenges in dynamic software updating","volume":"9","author":"Mlinari\u0107 Danijel","year":"2021","unstructured":"Danijel Mlinari\u0107. 2021. Challenges in dynamic software updating. TEM Journal 9, 1 (2021), 13.","journal-title":"TEM Journal"},{"key":"e_1_3_2_26_2","doi-asserted-by":"publisher","DOI":"10.1109\/GLOCOMW.2008.ECP.56"},{"key":"e_1_3_2_27_2","doi-asserted-by":"publisher","DOI":"10.5555\/2892724"},{"key":"e_1_3_2_28_2","doi-asserted-by":"publisher","DOI":"10.1145\/2935620.2935630"},{"key":"e_1_3_2_29_2","doi-asserted-by":"crossref","unstructured":"Florian Rommel Christian Dietrich Daniel Friesel Marcel K\u00f6ppen Christoph Borchert Michael M\u00fcller Olaf Spinczyk and Daniel Lohmann. 2020. From global to local quiescence: Wait-free code patching of multi-threaded processes. 651\u2013666. https:\/\/www.usenix.org\/conference\/osdi20\/presentation\/rommel","DOI":"10.1145\/3365137.3365404"},{"key":"e_1_3_2_30_2","doi-asserted-by":"publisher","DOI":"10.1109\/IRC.2020.00028"},{"key":"e_1_3_2_31_2","doi-asserted-by":"publisher","DOI":"10.1002\/smr.1556"},{"key":"e_1_3_2_32_2","doi-asserted-by":"publisher","DOI":"10.1109\/32.249662"},{"key":"e_1_3_2_33_2","doi-asserted-by":"publisher","DOI":"10.1109\/REAL.1994.342735"},{"key":"e_1_3_2_34_2","unstructured":"STMicroelectronics. 2021. STM32L432KC Datasheet. Retrieved September 18 2023 from https:\/\/www.st.com\/en\/microcontrollers-microprocessors\/stm32l432kc.html"},{"key":"e_1_3_2_35_2","volume-title":"Proceedings of the 33rd Euromicro Conference on Real-Time Systems (ECRTS\u201921)","author":"Vreman Nils","year":"2021","unstructured":"Nils Vreman, Anton Cervin, and Martina Maggio. 2021. Stability and performance analysis of control systems subject to bursts of deadline misses. In Proceedings of the 33rd Euromicro Conference on Real-Time Systems (ECRTS\u201921)."},{"key":"e_1_3_2_36_2","doi-asserted-by":"publisher","DOI":"10.1145\/1656437.1656440"},{"key":"e_1_3_2_37_2","unstructured":"Kris Winer. 2021. Ladybug Flight Controller. Retrieved September 18 2023 from https:\/\/www.tindie.com\/products\/TleraCorp\/ladybug-flight-controller\/"},{"key":"e_1_3_2_38_2","doi-asserted-by":"publisher","DOI":"10.1145\/2677832.2677853"},{"key":"e_1_3_2_39_2","doi-asserted-by":"publisher","DOI":"10.1007\/s11390-021-1693-1"}],"container-title":["ACM Transactions on Embedded Computing Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3623676","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3623676","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T16:37:00Z","timestamp":1750178220000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3623676"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,11,9]]},"references-count":38,"journal-issue":{"issue":"6","published-print":{"date-parts":[[2023,11,30]]}},"alternative-id":["10.1145\/3623676"],"URL":"https:\/\/doi.org\/10.1145\/3623676","relation":{},"ISSN":["1539-9087","1558-3465"],"issn-type":[{"type":"print","value":"1539-9087"},{"type":"electronic","value":"1558-3465"}],"subject":[],"published":{"date-parts":[[2023,11,9]]},"assertion":[{"value":"2022-11-29","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2023-08-21","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2023-11-09","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}