{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,1,7]],"date-time":"2026-01-07T17:16:19Z","timestamp":1767806179507,"version":"3.49.0"},"reference-count":23,"publisher":"Association for Computing Machinery (ACM)","issue":"1","content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Embed. Comput. Syst."],"published-print":{"date-parts":[[2026,1,31]]},"abstract":"<jats:p>Correct synchronisation in a distributed system is a difficult. One effective approach to the problem is to employ a logical clock on the high-level design, which ensures deterministic concurrency. However, most real-time network protocols only provide the means for physical time synchronisation. Therefore, in the end, the inherent logical clock has to be compiled away and mapped to physical time, losing many of its benefits.<\/jats:p>\n                  <jats:p>We propose a new middleware called softtide, which aims to facilitate the implementation and deployment of systems with an inherent logical clock. The idea is to provide a global logical clock through API, as the basis for scheduling task executions and message transmissions. At the same time, maintain a relatively stable relation between the logical clock and physical time, to limit the jitters between devices. The synchronisation mechanism is inspired by a recent protocol called bittide, which features a decentralised architecture. Softtide has the following mathematical properties: (1) Logical synchrony, where the transmission delays between devices are constant in logical time. (2) Its behaviour is deterministic even in the presence of network delays, differing clock frequencies, and faults. (3) Finally, softtide is decentralised in nature, where devices can dynamically join and leave. The synchronised logical clock provided by softtide simplifies the design, compilation, and validation of real-time distributed systems. Empirically we show the real-world performance of softtide to always produce deterministic results.<\/jats:p>","DOI":"10.1145\/3774891","type":"journal-article","created":{"date-parts":[[2025,11,5]],"date-time":"2025-11-05T11:45:03Z","timestamp":1762343103000},"page":"1-25","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":0,"title":["Softtide: A Deterministic Middleware for Real-Time Systems"],"prefix":"10.1145","volume":"25","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-7798-4488","authenticated-orcid":false,"given":"Jiajie","family":"Wang","sequence":"first","affiliation":[{"name":"University of Auckland","place":["Auckland, New Zealand"]}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-1455-4106","authenticated-orcid":false,"given":"Saumya","family":"Shankar","sequence":"additional","affiliation":[{"name":"University of Auckland","place":["Auckland, New Zealand"]}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-9654-5678","authenticated-orcid":false,"given":"Partha S.","family":"Roop","sequence":"additional","affiliation":[{"name":"University of Auckland","place":["Auckland, New Zealand"]}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2026,1,7]]},"reference":[{"key":"e_1_3_1_2_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-92221-6_18"},{"key":"e_1_3_1_3_2","first-page":"69","volume-title":"Proceedings of the International Conference on Adaptive and Self-Adaptive Systems and Applications (ADAPTIVE 2019)","author":"Aniculaesei Adina","year":"2019","unstructured":"Adina Aniculaesei, Andreas Vorwald, and Andreas Rausch. 2019. Automated generation of requirements-based test cases for an automotive function using the SCADE toolchain. In Proceedings of the International Conference on Adaptive and Self-Adaptive Systems and Applications (ADAPTIVE 2019). 69\u201374."},{"issue":"02","key":"e_1_3_1_4_2","article-title":"Fundamentals of distributed computing: A practical tour of vector clock systems","volume":"3","author":"Baldoni Roberto","year":"2002","unstructured":"Roberto Baldoni and Matthias Klusch. 2002. Fundamentals of distributed computing: A practical tour of vector clock systems. IEEE Distributed Systems Online 3, 02 (2002).","journal-title":"IEEE Distributed Systems Online"},{"key":"e_1_3_1_5_2","doi-asserted-by":"crossref","unstructured":"Martijn Bastiaan Christiaan Baaij Martin Izzard Felix Klein Sanjay Lall and Tammo Spalink. 2025. bittide: Control time not flows. arXiv:2503.05033. Retrieved from https:\/\/arxiv.org\/abs\/2503.05033","DOI":"10.1109\/HOTI66940.2025.00019"},{"key":"e_1_3_1_6_2","doi-asserted-by":"publisher","DOI":"10.1016\/0167-6423(91)90001-E"},{"key":"e_1_3_1_7_2","doi-asserted-by":"crossref","unstructured":"G\u00e9rard Berry. 2000. The Foundations of Esterel. (2000).","DOI":"10.7551\/mitpress\/5641.003.0021"},{"key":"e_1_3_1_8_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICCAD.2003.159720"},{"key":"e_1_3_1_9_2","doi-asserted-by":"publisher","DOI":"10.1109\/78.485935"},{"key":"e_1_3_1_10_2","doi-asserted-by":"publisher","DOI":"10.1109\/ETFA.2001.997725"},{"key":"e_1_3_1_11_2","doi-asserted-by":"publisher","DOI":"10.1145\/3487330"},{"issue":"471","key":"e_1_3_1_12_2","first-page":"15","article-title":"The semantics of a simple language for parallel programming","volume":"74","author":"Gilles KAHN","year":"1974","unstructured":"KAHN Gilles. 1974. The semantics of a simple language for parallel programming. Information Processing 74, 471-475 (1974), 15\u201328.","journal-title":"Information Processing"},{"key":"e_1_3_1_13_2","doi-asserted-by":"publisher","DOI":"10.1109\/5.97300"},{"key":"e_1_3_1_14_2","doi-asserted-by":"publisher","DOI":"10.1049\/cce:20040104"},{"key":"e_1_3_1_15_2","doi-asserted-by":"publisher","DOI":"10.23919\/ACC53348.2022.9867698"},{"key":"e_1_3_1_16_2","doi-asserted-by":"publisher","DOI":"10.1109\/TPDS.2024.3444739"},{"key":"e_1_3_1_17_2","doi-asserted-by":"publisher","DOI":"10.1145\/2993.2994"},{"key":"e_1_3_1_18_2","doi-asserted-by":"publisher","DOI":"10.1109\/PROC.1987.13876"},{"key":"e_1_3_1_19_2","doi-asserted-by":"publisher","DOI":"10.1145\/3615357"},{"key":"e_1_3_1_20_2","doi-asserted-by":"publisher","DOI":"10.1145\/3448128"},{"key":"e_1_3_1_21_2","doi-asserted-by":"publisher","DOI":"10.1109\/DASC.2016.7778044"},{"key":"e_1_3_1_22_2","article-title":"Softtide repo","author":"Wang JiaJie","year":"2025","unstructured":"JiaJie Wang. 2025. Softtide repo. Retrieved from https:\/\/github.com\/Hugh000\/softtide","journal-title":"Retrieved from https:\/\/github.com\/Hugh000\/softtide"},{"key":"e_1_3_1_23_2","doi-asserted-by":"publisher","DOI":"10.1109\/SASG.2015.7449285"},{"key":"e_1_3_1_24_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.entcs.2008.01.005"}],"container-title":["ACM Transactions on Embedded Computing Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3774891","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,1,7]],"date-time":"2026-01-07T15:59:22Z","timestamp":1767801562000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3774891"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2026,1,7]]},"references-count":23,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2026,1,31]]}},"alternative-id":["10.1145\/3774891"],"URL":"https:\/\/doi.org\/10.1145\/3774891","relation":{},"ISSN":["1539-9087","1558-3465"],"issn-type":[{"value":"1539-9087","type":"print"},{"value":"1558-3465","type":"electronic"}],"subject":[],"published":{"date-parts":[[2026,1,7]]},"assertion":[{"value":"2025-08-14","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2025-10-12","order":2,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2026-01-07","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}