{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,7]],"date-time":"2026-03-07T16:57:49Z","timestamp":1772902669534,"version":"3.50.1"},"reference-count":66,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2024,11,15]],"date-time":"2024-11-15T00:00:00Z","timestamp":1731628800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by-nc-sa\/4.0\/"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Internet Technol."],"published-print":{"date-parts":[[2024,11,30]]},"abstract":"<jats:p>A Distributed Intelligent System (DIS) encompasses a set of intelligent subsystems and components that collaborate to perform tasks and solve problems. Given the advancements of paradigms such as the Internet of Things, along with the advancements of technologies such as Machine Learning and Digital Twins, DISs are on the rise. These systems are increasingly integrating components that perform intelligent functions, and these intelligent functions are increasingly heterogeneous and varied. Moreover, there is no standardized framework to help researchers and practitioners adequately address DISs. As a result, the complexity, interoperability issues, and development time and costs of these systems are growing. However, Model-Driven Development (MDD) can help to address these challenges by providing a Domain-Specific Language (DSL) for developing DISs. In this work, a DSL for the design, validation, generation, and deployment of DISs is proposed. Firstly, the proposed DSL captures in a metamodel the key and high-level abstract concepts of the distinct DISs documented in the literature. Then, it allows modeling of DISs conforming to this metamodel. Subsequently, the DSL enables formal validation of the modeled systems. Lastly, it allows the generation and deployment of all DISs into production. Therefore, the work undertaken in this communication provides a methodological, formal, and standardized approach to defining and developing DISs from a high level of abstraction. This work allows users to address DISs by facilitating agility, minimizing manual tasks, and reducing the number of defects introduced in their development. To illustrate the applicability of the proposed DSL, a real case study of an agricultural digital twin is presented.<\/jats:p>","DOI":"10.1145\/3687472","type":"journal-article","created":{"date-parts":[[2024,8,20]],"date-time":"2024-08-20T11:24:21Z","timestamp":1724153061000},"page":"1-28","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":9,"title":["Model-Driven Development Towards Distributed Intelligent Systems"],"prefix":"10.1145","volume":"24","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-5761-9806","authenticated-orcid":false,"given":"Arturo","family":"Barriga","sequence":"first","affiliation":[{"name":"Quercus Software Engineering Group, Departamento de Ingenier\u00eda Sistemas Inform\u00e1ticos y Telem\u00e1ticos, Universidad de Extremadura, C\u00e1ceres, Spain"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-8377-1860","authenticated-orcid":false,"given":"Jos\u00e9 A.","family":"Barriga","sequence":"additional","affiliation":[{"name":"Quercus Software Engineering Group, Departamento de Ingenier\u00eda Sistemas Inform\u00e1ticos y Telem\u00e1ticos, Universidad de Extremadura, C\u00e1ceres, Spain"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-9417-9974","authenticated-orcid":false,"given":"Miguel A.","family":"P\u00e9rez-Toledano","sequence":"additional","affiliation":[{"name":"Quercus Software Engineering Group, Departamento de Ingenier\u00eda Sistemas Inform\u00e1ticos y Telem\u00e1ticos, Universidad de Extremadura, C\u00e1ceres, Spain"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-5795-6343","authenticated-orcid":false,"given":"Pedro J.","family":"Clemente","sequence":"additional","affiliation":[{"name":"Quercus Software Engineering Group, Departamento de Ingenier\u00eda Sistemas Inform\u00e1ticos y Telem\u00e1ticos, Universidad de Extremadura, C\u00e1ceres, Spain"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2024,11,15]]},"reference":[{"key":"e_1_3_1_2_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.compag.2020.105441"},{"key":"e_1_3_1_3_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.compag.2022.107183"},{"key":"e_1_3_1_4_2","doi-asserted-by":"publisher","DOI":"10.1109\/MS.2003.1231149"},{"key":"e_1_3_1_5_2","unstructured":"Docker Hub. 2024. Docker Hub Container Image Library | App Containerization. (2024). Retrieved from https:\/\/hub.docker.com\/"},{"key":"e_1_3_1_6_2","unstructured":"Kompose. 2024. Kompose \u2014 Convert your Docker Compose file to Kubernetes or OpenShift. (2024). Retrieved from https:\/\/kompose.io\/"},{"key":"e_1_3_1_7_2","unstructured":"Kubernetes. 2024. Kubernetes Documentation. (2024). Retrieved from https:\/\/kubernetes.io\/docs\/home\/"},{"key":"e_1_3_1_8_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.iot.2023.100829"},{"key":"e_1_3_1_9_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.eswa.2022.118255"},{"key":"e_1_3_1_10_2","doi-asserted-by":"publisher","DOI":"10.1007\/0-387-26350-0_5"},{"key":"e_1_3_1_11_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-49435-3_6"},{"key":"e_1_3_1_12_2","doi-asserted-by":"publisher","DOI":"10.5555\/3103551"},{"key":"e_1_3_1_13_2","doi-asserted-by":"publisher","DOI":"10.1023\/A:1010933404324"},{"key":"e_1_3_1_14_2","volume-title":"Introduction to Time Series Forecasting with Python: How to Prepare Data and Develop Models to Predict the Future","author":"Brownlee Jason","year":"2017","unstructured":"Jason Brownlee. 2017. Introduction to Time Series Forecasting with Python: How to Prepare Data and Develop Models to Predict the Future. Machine Learning Mastery."},{"key":"e_1_3_1_15_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.agwat.2021.107324"},{"key":"e_1_3_1_16_2","first-page":"67","volume-title":"International Symposium on Intelligent and Distributed Computing","author":"Ciccozzi Federico","year":"2016","unstructured":"Federico Ciccozzi and Romina Spalazzese. 2016. MDE4IoT: Supporting the Internet of Things with model-driven engineering. In International Symposium on Intelligent and Distributed Computing. Springer, 67\u201376."},{"key":"e_1_3_1_17_2","unstructured":"Python community. 2024. datetime \u2014 Basic Date and Time Types\u00b6. (2024). Retrieved from https:\/\/docs.python.org\/3\/library\/datetime.html"},{"key":"e_1_3_1_18_2","unstructured":"Python community. 2024. Multiprocessing \u2014 Process-based Parallelism. (2024). Retrieved from https:\/\/docs.python.org\/3\/library\/multiprocessing.html"},{"key":"e_1_3_1_19_2","unstructured":"Python community. 2024. Pickle \u2014 Python Object Serialization. (2024). Retrieved from https:\/\/docs.python.org\/3\/library\/pickle.html"},{"key":"e_1_3_1_20_2","unstructured":"Python community. 2024. Schedule \\(\\cdot\\) PyPI. (2024). Retrieved from https:\/\/pypi.org\/project\/schedule\/"},{"key":"e_1_3_1_21_2","unstructured":"Python community. 2024. Time Series \/ Date Functionality. (2024). Retrieved from https:\/\/pandas.pydata.org\/docs\/user_guide\/timeseries.html"},{"key":"e_1_3_1_22_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-62522-1_28"},{"key":"e_1_3_1_23_2","article-title":"CatBoost: Gradient boosting with categorical features support","author":"Dorogush Anna Veronika","year":"2018","unstructured":"Anna Veronika Dorogush, Vasily Ershov, and Andrey Gulin. 2018. CatBoost: Gradient boosting with categorical features support. arXiv preprint arXiv:1810.11363 (2018).","journal-title":"arXiv preprint arXiv:1810.11363"},{"issue":"4","key":"e_1_3_1_24_2","article-title":"Applications of artificial intelligence in agriculture: A review.","volume":"9","author":"Eli-Chukwu Ngozi Clara","year":"2019","unstructured":"Ngozi Clara Eli-Chukwu. 2019. Applications of artificial intelligence in agriculture: A review. Engineering, Technology & Applied Science Research 9, 4 (2019).","journal-title":"Engineering, Technology & Applied Science Research"},{"key":"e_1_3_1_25_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.compag.2017.09.005"},{"key":"e_1_3_1_26_2","doi-asserted-by":"publisher","DOI":"10.1007\/11581741_15"},{"key":"e_1_3_1_27_2","unstructured":"IEEE Foundation for Intelligent Physical Agents. 2024. The Foundation for Intelligent Physical Agents. (2024). Retrieved from http:\/\/www.fipa.org\/"},{"key":"e_1_3_1_28_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSMC.2020.3042898"},{"key":"e_1_3_1_29_2","doi-asserted-by":"publisher","DOI":"10.5194\/nhess-13-2599-2013"},{"key":"e_1_3_1_30_2","doi-asserted-by":"publisher","DOI":"10.1109\/IVS.2018.8500436"},{"key":"e_1_3_1_31_2","volume-title":"Flask Web Development: Developing Web Applications with Python","author":"Grinberg Miguel","year":"2018","unstructured":"Miguel Grinberg. 2018. Flask Web Development: Developing Web Applications with Python. O\u2019Reilly Media, Inc."},{"key":"e_1_3_1_32_2","doi-asserted-by":"publisher","DOI":"10.1147\/sj.453.0451"},{"key":"e_1_3_1_33_2","doi-asserted-by":"publisher","DOI":"10.1145\/3417990.3420208"},{"key":"e_1_3_1_34_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.enconman.2015.06.021"},{"key":"e_1_3_1_35_2","volume-title":"Fundamentals of Machine Learning for Predictive Data Analytics: Algorithms, Worked Examples, and Case Studies","author":"Kelleher John D.","year":"2020","unstructured":"John D. Kelleher, Brian Mac Namee, and Aoife D\u2019arcy. 2020. Fundamentals of Machine Learning for Predictive Data Analytics: Algorithms, Worked Examples, and Case Studies. MIT Press."},{"key":"e_1_3_1_36_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.jmsy.2020.11.004"},{"key":"e_1_3_1_37_2","doi-asserted-by":"publisher","DOI":"10.1007\/s10270-015-0455-3"},{"key":"e_1_3_1_38_2","doi-asserted-by":"publisher","DOI":"10.3390\/s22134874"},{"key":"e_1_3_1_39_2","doi-asserted-by":"publisher","DOI":"10.1007\/s00271-016-0527-3"},{"key":"e_1_3_1_40_2","doi-asserted-by":"publisher","DOI":"10.1080\/19390450802495882"},{"key":"e_1_3_1_41_2","unstructured":"Dirk Merkel. 2014. Docker: Lightweight Linux containers for consistent development and deployment. Linux J. 239 2 (2014) 2."},{"key":"e_1_3_1_42_2","article-title":"ThingML+ augmenting model-driven software engineering for the Internet of Things with machine learning","author":"Moin Armin","year":"2020","unstructured":"Armin Moin, Stephan R\u00f6ssler, and Stephan G\u00fcnnemann. 2020. ThingML+ augmenting model-driven software engineering for the Internet of Things with machine learning. arXiv preprint arXiv:2009.10633 (2020).","journal-title":"arXiv preprint arXiv:2009.10633"},{"key":"e_1_3_1_43_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.techfore.2018.11.010"},{"key":"e_1_3_1_44_2","doi-asserted-by":"publisher","DOI":"10.1109\/MS.2017.11"},{"key":"e_1_3_1_45_2","unstructured":"Obeo. 2024. Acceleo Project. (2024). Retrieved from https:\/\/eclipse.dev\/acceleo\/"},{"key":"e_1_3_1_46_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.agwat.2015.08.002"},{"key":"e_1_3_1_47_2","first-page":"1","volume-title":"AAAI Fall Symposium: Regarding the Intelligence in Distributed Intelligent Systems","author":"Parker Lynne E.","year":"2007","unstructured":"Lynne E. Parker. 2007. Distributed Intelligence: Overview of the Field and its Application in Multi-Robot Systems. In AAAI Fall Symposium: Regarding the Intelligence in Distributed Intelligent Systems. 1\u20136."},{"key":"e_1_3_1_48_2","unstructured":"Adam Paszke Sam Gross Francisco Massa Adam Lerer James Bradbury Gregory Chanan Trevor Killeen Zeming Lin Natalia Gimelshein Luca Antiga Alban Desmaison Andreas Kopf Edward Yang Zachary DeVito Martin Raison Alykhan Tejani Sasank Chilamkurthy Benoit Steiner Lu Fang Junjie Bai and Soumith Chintala. 2019. PyTorch: An imperative style high-performance deep learning library. Advances in Neural Information Processing Systems 32 (2019)."},{"key":"e_1_3_1_49_2","unstructured":"Fabian Pedregosa Ga\u00ebl Varoquaux Alexandre Gramfort Vincent Michel Bertrand Thirion Olivier Grisel Mathieu Blondel Peter Prettenhofer Ron Weiss Vincent Dubourg Jake Vanderplas Alexandre Passos David Cournapeau Matthieu Brucher Matthieu Perrot and \u00c9douard Duchesnay. 2011. Scikit-learn: Machine learning in Python. The Journal of Machine Learning Research 12 (2011) 2825\u20132830."},{"key":"e_1_3_1_50_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.compag.2020.105942"},{"key":"e_1_3_1_51_2","doi-asserted-by":"publisher","DOI":"10.1109\/ACCESS.2021.3060863"},{"key":"e_1_3_1_52_2","doi-asserted-by":"publisher","DOI":"10.21475\/ajcs.2016.10.06.p7602"},{"key":"e_1_3_1_53_2","doi-asserted-by":"crossref","unstructured":"C. M. Rodriguez-Dominguez W. Ehrenberger C. Sann S. R\u00fcger V. Sukhorukov M. J. Mart\u00edn-Palomo A. Diaz-Espejo M. V. Cuevas J. M. Torres-Ruiz A. Perez-Martin U. Zimmermann and J. E. Fern\u00e1ndez. 2012. Concomitant measurements of stem sap flow and leaf turgor pressure in olive trees using the leaf patch clamp pressure probe. Agricultural Water Management 114 (2012) 50\u201358.","DOI":"10.1016\/j.agwat.2012.07.007"},{"key":"e_1_3_1_54_2","doi-asserted-by":"publisher","DOI":"10.3390\/app11073186"},{"key":"e_1_3_1_55_2","doi-asserted-by":"crossref","unstructured":"Radhya Sahal Saeed H. Alsamhi Kenneth N. Brown Donna O\u2019Shea and Bader Alouffi. 2022. Blockchain-based digital twins collaboration for smart pandemic alerting: Decentralized COVID-19 pandemic alerting use case. Computational Intelligence and Neuroscience 2022 (2022).","DOI":"10.1155\/2022\/7786441"},{"key":"e_1_3_1_56_2","doi-asserted-by":"publisher","DOI":"10.3390\/machines9090193"},{"key":"e_1_3_1_57_2","doi-asserted-by":"publisher","DOI":"10.1109\/ACCESS.2017.2739804"},{"key":"e_1_3_1_58_2","doi-asserted-by":"publisher","DOI":"10.3390\/s22145396"},{"key":"e_1_3_1_59_2","doi-asserted-by":"publisher","DOI":"10.1109\/MS.2003.1231146"},{"key":"e_1_3_1_60_2","doi-asserted-by":"publisher","DOI":"10.1109\/MS.2003.1231150"},{"key":"e_1_3_1_61_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICDCS.2017.304"},{"key":"e_1_3_1_62_2","doi-asserted-by":"publisher","DOI":"10.1071\/AN18522"},{"key":"e_1_3_1_63_2","volume-title":"Model-driven Software Development: Technology, Engineering, Management","author":"Stahl Thomas","year":"2006","unstructured":"Thomas Stahl, Markus V\u00f6lter, and Krzysztof Czarnecki. 2006. Model-driven Software Development: Technology, Engineering, Management. John Wiley & Sons, Inc."},{"key":"e_1_3_1_64_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.trc.2018.02.012"},{"key":"e_1_3_1_65_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.agsy.2020.103046"},{"key":"e_1_3_1_66_2","doi-asserted-by":"publisher","DOI":"10.1007\/s11119-020-09711-9"},{"key":"e_1_3_1_67_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.compag.2021.106019"}],"container-title":["ACM Transactions on Internet Technology"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3687472","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3687472","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T00:05:59Z","timestamp":1750291559000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3687472"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,11,15]]},"references-count":66,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2024,11,30]]}},"alternative-id":["10.1145\/3687472"],"URL":"https:\/\/doi.org\/10.1145\/3687472","relation":{},"ISSN":["1533-5399","1557-6051"],"issn-type":[{"value":"1533-5399","type":"print"},{"value":"1557-6051","type":"electronic"}],"subject":[],"published":{"date-parts":[[2024,11,15]]},"assertion":[{"value":"2024-01-15","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2024-07-25","order":2,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2024-11-15","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}