{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,28]],"date-time":"2026-05-28T06:01:54Z","timestamp":1779948114033,"version":"3.53.1"},"reference-count":43,"publisher":"Wiley","issue":"4","license":[{"start":{"date-parts":[[2026,1,7]],"date-time":"2026-01-07T00:00:00Z","timestamp":1767744000000},"content-version":"vor","delay-in-days":0,"URL":"http:\/\/creativecommons.org\/licenses\/by\/4.0\/"},{"start":{"date-parts":[[2026,1,7]],"date-time":"2026-01-07T00:00:00Z","timestamp":1767744000000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/doi.wiley.com\/10.1002\/tdm_license_1.1"}],"content-domain":{"domain":["onlinelibrary.wiley.com"],"crossmark-restriction":true},"short-container-title":["Softw Pract Exp"],"published-print":{"date-parts":[[2026,4]]},"abstract":"<jats:title>ABSTRACT<\/jats:title>\n                  <jats:p>\n                    Software agents and multi\u2010agent systems are critical components in the development of distributed autonomous systems, as they exhibit a wide range of \u201cintelligence,\u201d from reactive behaviors to advanced reasoning and planning. Integrating these capabilities into multi\u2010agent systems enables distributed artificial intelligence, a programming paradigm in which autonomous entities work together efficiently across a network to achieve shared goals. Another important aspect we consider in this work is represented by the disruptive impact of 5G technology, which is moving computation to the edge of the network. As a result of this shift, embedded devices with microcontrollers\u2014which are renowned for their low power consumption and limited computing power\u2014have proliferated. This paradigm fits well an environment made of small cooperating entities scattered across the network, but, at the same time, it is difficult to provide agent platforms for embedded devices. Indeed, the most recent state\u2010of\u2010the\u2010art multi\u2010agent systems platforms, which are primarily Java\u2010based, raise issues with microcontroller speed and memory overhead. To achieve this goal, we designed and implemented an ecosystem, entirely written in C++, to create multi\u2010agent systems in an actual Internet of Things setting. Our ecosystem is composed by\n                    <jats:sc>Democle<\/jats:sc>\n                    , a logic\/declarative agent programming framework, and\n                    <jats:sc>Hermes<\/jats:sc>\n                    , a unified wireless network interface, both specifically created for embedded systems. In this paper, we describe our ecosystem's functionality, architecture, and benefits of use. In addition, we provide a case study and a few experiments to prove how our platform works and its efficiency in terms of overhead.\n                  <\/jats:p>","DOI":"10.1002\/spe.70049","type":"journal-article","created":{"date-parts":[[2026,1,7]],"date-time":"2026-01-07T13:54:37Z","timestamp":1767794077000},"page":"339-356","update-policy":"https:\/\/doi.org\/10.1002\/crossmark_policy","source":"Crossref","is-referenced-by-count":1,"title":["An Ecosystem to Develop Multi\u2010Agent Systems in Real\u2010World IoT Applications"],"prefix":"10.1002","volume":"56","author":[{"given":"Davide","family":"Carnemolla","sequence":"first","affiliation":[{"name":"Department of Mathematics and Computer Science University of Catania  Italy"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-3685-3879","authenticated-orcid":false,"given":"Fabrizio","family":"Messina","sequence":"additional","affiliation":[{"name":"Department of Mathematics and Computer Science University of Catania  Italy"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Federico Fausto","family":"Santoro","sequence":"additional","affiliation":[{"name":"Department of Mathematics and Computer Science University of Catania  Italy"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Corrado","family":"Santoro","sequence":"additional","affiliation":[{"name":"Department of Mathematics and Computer Science University of Catania  Italy"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"311","published-online":{"date-parts":[[2026,1,7]]},"reference":[{"key":"e_1_2_13_2_1","doi-asserted-by":"publisher","DOI":"10.1109\/ACCESS.2018.2831228"},{"key":"e_1_2_13_3_1","doi-asserted-by":"publisher","DOI":"10.1080\/088395199117513"},{"key":"e_1_2_13_4_1","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-47772-1_5"},{"key":"e_1_2_13_5_1","first-page":"89","volume-title":"Springer Berlin Heidelberg","author":"Bellifemine F.","year":"2001"},{"key":"e_1_2_13_6_1","unstructured":"\u201cAutomation Department at the Federal University of Santa Catarina S.E \u201dEmbedded bdi https:\/\/embedded\u2010bdi.github.io\/."},{"key":"e_1_2_13_7_1","first-page":"206","volume-title":"Proceedings of the 24th Workshop From Objects to Agents Roma, Italy, November 6\u20108, 2023","author":"Messina F.","year":"2023"},{"key":"e_1_2_13_8_1","doi-asserted-by":"publisher","DOI":"10.3390\/sym12101674"},{"key":"e_1_2_13_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/3106426.3106518"},{"key":"e_1_2_13_10_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICDCS.2017.304"},{"key":"e_1_2_13_11_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10458\u2010020\u201009489\u20100"},{"key":"e_1_2_13_12_1","doi-asserted-by":"publisher","DOI":"10.1109\/ROEDUNET.2018.8514136"},{"key":"e_1_2_13_13_1","doi-asserted-by":"publisher","DOI":"10.1109\/MCOM.001.1900056"},{"key":"e_1_2_13_14_1","volume-title":"Proceedings of the 2019 IEEE 8th International Workshop on Advances in Sensors and Interfaces (IWASI)","author":"Polonelli T.","year":"2019"},{"key":"e_1_2_13_15_1","doi-asserted-by":"publisher","DOI":"10.1109\/access.2018.2884906"},{"key":"e_1_2_13_16_1","doi-asserted-by":"publisher","DOI":"10.3390\/s18113995"},{"key":"e_1_2_13_17_1","doi-asserted-by":"publisher","DOI":"10.1007\/BFb0031845"},{"key":"e_1_2_13_18_1","doi-asserted-by":"publisher","DOI":"10.1002\/9780470061848"},{"key":"e_1_2_13_19_1","first-page":"1","volume-title":"Intelligent Agents V: Agents Theories, Architectures, and Languages: 5th International Workshop, ATAL'98 Paris, France, July 4\u20137, 1998 Proceedings 5","author":"Georgeff M.","year":"1999"},{"key":"e_1_2_13_20_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.scico.2017.01.003"},{"key":"e_1_2_13_21_1","unstructured":"C.Santoro \u201cPhidias Web Page \u201d(2019) Https:\/\/Github.Com\/Corradosantoro\/Phidias."},{"key":"e_1_2_13_22_1","unstructured":"Espressif Systems \u201cESP32 Wi\u2010Fi & Bluetooth SoC \u201dhttps:\/\/www.espressif.com\/en\/products\/socs\/esp32."},{"key":"e_1_2_13_23_1","unstructured":"Arduino a \u201cArduino Nano ESP32 \u201dhttps:\/\/docs.arduino.cc\/hardware\/nano\u2010esp32\/."},{"key":"e_1_2_13_24_1","unstructured":"Espressif Systems c \u201cESP32\u2010C6 Wi\u2010Fi 6 & BLE 5 & Thread\/Zigbee SoC \u201dhttps:\/\/www.espressif.com\/en\/products\/socs\/esp32\u2010c6."},{"key":"e_1_2_13_25_1","unstructured":"PlatformIO \u201cPlatformio Your Gateway to Embedded Software Development Excellence \u201dhttps:\/\/platformio.org\/."},{"key":"e_1_2_13_26_1","unstructured":"Arduino b \u201cArduino SDK \u201dhttps:\/\/docs.arduino.cc\/programming\/."},{"key":"e_1_2_13_27_1","volume-title":"The C++ Programming Language","author":"Stroustrup B.","year":"2013"},{"key":"e_1_2_13_28_1","first-page":"33","volume-title":"Proceedings of the 25th Workshop From Objects to Agents, Bard (Aosta), Italy, July 8\u201010, 2024","author":"Carnemolla D.","year":"2024"},{"key":"e_1_2_13_29_1","unstructured":"Espressif Systems a \u201cESP NOW \u201dhttps:\/\/docs.espressif.com\/projects\/esp\u2010idf\/en\/latest\/esp32c3\/api\u2010reference\/network\/esp_now.html."},{"key":"e_1_2_13_30_1","first-page":"1","volume-title":"Proceedings of the 2023 IEEE International Conference on Smart Information Systems and Technologies (SIST)","author":"Urazayev D.","year":"2023"},{"key":"e_1_2_13_31_1","unstructured":"Espressif Systems b \u201cESP\u2010WIFI\u2010MESH Technical Documents \u201dhttps:\/\/docs.espressif.com\/projects\/esp\u2010idf\/en\/stable\/esp32\/api\u2010guides\/esp\u2010wifi\u2010mesh.html."},{"key":"e_1_2_13_32_1","unstructured":"R.Pueyo Centelles \u201cTowards LoRa Mesh Networks for the IoT \u201d Ph.D. Thesis. Universitat Polit\u00e8cnica de Catalunya https:\/\/doi.org\/10.5821\/dissertation\u20102117\u2010360904."},{"key":"e_1_2_13_33_1","doi-asserted-by":"publisher","DOI":"10.1109\/ACCESS.2022.3217215"},{"key":"e_1_2_13_34_1","doi-asserted-by":"publisher","DOI":"10.1109\/SCFC62024.2024.10697994"},{"key":"e_1_2_13_35_1","doi-asserted-by":"publisher","DOI":"10.3390\/app15179621"},{"key":"e_1_2_13_36_1","first-page":"1015","volume-title":"Proceedings of the 2025 21st International Conference on Distributed Computing in Smart Systems and the Internet of Things (DCOSS\u2010IoT)","author":"Russo M.","year":"2025"},{"key":"e_1_2_13_37_1","first-page":"1","volume-title":"Proceedings of the 2023 IEEE International Conference on Enabling Technologies: Infrastructure for Collaborative Enterprises (WETICE)","author":"Santoro C.","year":"2023"},{"key":"e_1_2_13_38_1","unstructured":"ARSLab \u201cLwn Simulator \u201dhttps:\/\/github.com\/UniCT\u2010ARSLab\/LWN\u2010Simulator."},{"key":"e_1_2_13_39_1","unstructured":"Foundation T.L. \u201cPrometheus \u2010 Monitoring System & Time Series Database \u201dhttps:\/\/prometheus.io\/."},{"key":"e_1_2_13_40_1","unstructured":"Network T.T \u201cBest Practices for Lorawan \u201dhttps:\/\/www.thethingsindustries.com\/docs\/hardware\/devices\/concepts\/best\u2010practices\/."},{"key":"e_1_2_13_41_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.iotcps.2023.09.001"},{"key":"e_1_2_13_42_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jclepro.2020.121181"},{"key":"e_1_2_13_43_1","unstructured":"LilyGO \u201cTtgo\u2010lora32 \u201dhttps:\/\/github.com\/LilyGO\/TTGO\u2010LORA32."},{"key":"e_1_2_13_44_1","unstructured":"nesnes \u201cnesnes\/teleplot: Ridiculously\u2010Simple Telemetry Viewer. Plots Charts in Browser From Any Apps (Bash c++ and More!) \u201dhttps:\/\/github.com\/nesnes\/teleplot."}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.70049","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/full-xml\/10.1002\/spe.70049","content-type":"application\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.70049","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,5,28]],"date-time":"2026-05-28T05:03:08Z","timestamp":1779944588000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.70049"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2026,1,7]]},"references-count":43,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2026,4]]}},"alternative-id":["10.1002\/spe.70049"],"URL":"https:\/\/doi.org\/10.1002\/spe.70049","archive":["Portico"],"relation":{"has-preprint":[{"id-type":"doi","id":"10.22541\/au.175042803.36556435\/v1","asserted-by":"object"}]},"ISSN":["0038-0644","1097-024X"],"issn-type":[{"value":"0038-0644","type":"print"},{"value":"1097-024X","type":"electronic"}],"subject":[],"published":{"date-parts":[[2026,1,7]]},"assertion":[{"value":"2025-06-19","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2025-12-16","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"}}]}}