{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,3]],"date-time":"2026-06-03T11:15:56Z","timestamp":1780485356081,"version":"3.54.1"},"reference-count":51,"publisher":"Springer Science and Business Media LLC","issue":"3","license":[{"start":{"date-parts":[[2022,1,19]],"date-time":"2022-01-19T00:00:00Z","timestamp":1642550400000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2022,1,19]],"date-time":"2022-01-19T00:00:00Z","timestamp":1642550400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"funder":[{"DOI":"10.13039\/501100002347","name":"Bundesministerium f\u00fcr Bildung und Forschung","doi-asserted-by":"publisher","award":["Software Campus 2.0 - ML-Quadrat"],"award-info":[{"award-number":["Software Campus 2.0 - ML-Quadrat"]}],"id":[{"id":"10.13039\/501100002347","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Softw Syst Model"],"published-print":{"date-parts":[[2022,6]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Models are used in both Software Engineering (SE) and Artificial Intelligence (AI). SE models may specify the architecture at different levels of abstraction and for addressing different concerns at various stages of the software development life-cycle, from early conceptualization and design, to verification, implementation, testing and evolution. However, AI models may provide smart capabilities, such as prediction and decision-making support. For instance, in Machine Learning (ML), which is currently the most popular sub-discipline of AI, mathematical models may learn useful patterns in the observed data and can become capable of making predictions. The goal of this work is to create synergy by bringing models in the said communities together and proposing a holistic approach to model-driven software development for intelligent systems that require ML. We illustrate how software models can become capable of creating and dealing with ML models in a seamless manner. The main focus is on the domain of the Internet of Things (IoT), where both ML and model-driven SE play a key role. In the context of the need to take a Cyber-Physical System-of-Systems perspective of the targeted architecture, an integrated design environment for both SE and ML sub-systems would best support the optimization and overall efficiency of the implementation of the resulting system. In particular, we implement the proposed approach, called ML-Quadrat, based on ThingML, and validate it using a case study from the IoT domain, as well as through an empirical user evaluation. It transpires that the proposed approach is not only feasible, but may also contribute to the performance leap of software development for smart Cyber-Physical Systems (CPS) which are connected to the IoT, as well as an enhanced user experience of the practitioners who use the proposed modeling solution.<\/jats:p>","DOI":"10.1007\/s10270-021-00967-x","type":"journal-article","created":{"date-parts":[[2022,1,19]],"date-time":"2022-01-19T11:03:07Z","timestamp":1642590187000},"page":"987-1014","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":29,"title":["A model-driven approach to machine learning and software modeling for the IoT"],"prefix":"10.1007","volume":"21","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-8484-7836","authenticated-orcid":false,"given":"Armin","family":"Moin","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Moharram","family":"Challenger","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Atta","family":"Badii","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Stephan","family":"G\u00fcnnemann","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"297","published-online":{"date-parts":[[2022,1,19]]},"reference":[{"key":"967_CR1","unstructured":"Abadi, M., Agarwal, A., Barham, P., Brevdo, E., Chen, Z., Citro, C., Corrado, GS, Davis, A., Dean, J., Devin, M., Ghemawat, S., Goodfellow, I., Harp, A., Irving G., Isard, M., Jia, Y., Jozefowicz, R., Kaiser, L., Kudlur, M., Levenberg, J, Man\u00e9, D., Monga, R., Moore, S., Murray, D., Olah, C., Schuster, M., Shlens J., Steiner, B., Sutskever, I., Talwar, K., Tucker, P., Vanhoucke, V, Vasudevan, V., Vi\u00e9gas, F., Vinyals, O., Warden, P., Wattenberg, M., Wicke M., Yu, Y., Zheng, X.: TensorFlow: Large-scale machine learning on heterogeneous systems. http:\/\/tensorflow.org\/, software available from tensorflow.org (2015)"},{"issue":"15","key":"967_CR2","doi-asserted-by":"publisher","first-page":"2787","DOI":"10.1016\/j.comnet.2010.05.010","volume":"54","author":"L Atzori","year":"2010","unstructured":"Atzori, L., Iera, A., Morabito, G.: The internet of things: a survey. Comput. Netw. 54(15), 2787\u20132805 (2010)","journal-title":"Comput. Netw."},{"key":"967_CR3","doi-asserted-by":"publisher","first-page":"1023","DOI":"10.1038\/35074206","volume":"410","author":"T Berners-Lee","year":"2001","unstructured":"Berners-Lee, T., Hendler, J.: Publishing on the semantic web. Nature 410, 1023\u20134 (2001). https:\/\/doi.org\/10.1038\/35074206","journal-title":"Nature"},{"issue":"1","key":"967_CR4","doi-asserted-by":"publisher","first-page":"26","DOI":"10.1145\/1656274.1656280","volume":"11","author":"MR Berthold","year":"2009","unstructured":"Berthold, M.R., Cebron, N., Dill, F., Gabriel, T.R., K\u00f6tter, T., Meinl, T., Ohl, P., Thiel, K., Wiswedel, B.: KNIME\u2014the Konstanz Information Miner: Version 2.0 and Beyond. SIGKDD Explor Newsl. 11(1), 26\u201331 (2009). https:\/\/doi.org\/10.1145\/1656274.1656280","journal-title":"SIGKDD Explor Newsl."},{"key":"967_CR5","unstructured":"Bishop, C.M.: Pattern Recognition and Machine Learning (Information Science and Statistics). Springer-Verlag, Berlin (2006)"},{"issue":"1984","key":"967_CR6","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1098\/rsta.2012.0222","volume":"371","author":"CM Bishop","year":"2013","unstructured":"Bishop, C.M.: Model-based machine learning. Philos. Trans. R. Soc. A 371(1984), 1\u201317 (2013). https:\/\/doi.org\/10.1098\/rsta.2012.0222","journal-title":"Philos. Trans. R. Soc. A"},{"key":"967_CR7","unstructured":"CERN The birth of the web. https:\/\/home.cern\/science\/computing\/birth-web. Accessed 06-09-2021"},{"key":"967_CR8","unstructured":"Chen, T., Li, M., Li, Y., Lin, M., Wang, N., Wang, M., Xiao, T., Xu, B., Zhang, C, Zhang, Z.: Mxnet: A flexible and efficient machine learning library for heterogeneous distributed systems. (2015) arXiv:1512.01274"},{"key":"967_CR9","unstructured":"Chollet, F., et\u00a0al. Keras (2015). https:\/\/keras.io"},{"key":"967_CR10","doi-asserted-by":"publisher","unstructured":"Combemale, B., Kienzle, J., Mussbacher, G., Ali, H., Amyot, D., Bagherzadeh, M, Batot, E., Bencomo, N., Benni, B., Bruel, JM., Cabot, J., Cheng, B., Collet, P, Engels, G., Heinrich, R., J\u00e9z\u00e9quel, JM., Koziolek, A., Mosser, S., Reussner R., Wimmer, M.: A hitchhiker\u2019s guide to model-driven engineering for data-centric systems. IEEE Software. https:\/\/doi.org\/10.1109\/MS.2020.2995125 (2020)","DOI":"10.1109\/MS.2020.2995125"},{"key":"967_CR11","unstructured":"de\u00a0Balle\u00a0Pigem, B.: Learning finite-state machines \u2013 statistical and algorithmic aspects. Ph.D. thesis, Universitat Polit\u2018ecnica de Catalunya, Spain. https:\/\/borjaballe.github.io\/other\/phdthesis.pdf (2013)"},{"issue":"4","key":"967_CR12","first-page":"32","volume":"53","author":"D DiNucci","year":"1999","unstructured":"DiNucci, D.: Fragmented future. Print 53(4), 32 (1999)","journal-title":"Print"},{"key":"967_CR13","unstructured":"DMG (2021) Data Mining Group (DMG). http:\/\/dmg.org. Accessed 09-03-2021"},{"key":"967_CR14","doi-asserted-by":"crossref","unstructured":"Fleurey, F., Morin, B., Solberg, A., Barais, O.: Mde to manage communications with and between resource-constrained systems. In: Whittle, J., Clark, T., K\u00fchne, T. (eds.) Model Driven Engineering Languages and Systems, Springer Berlin Heidelberg, Berlin, Heidelberg, pp. 349\u2013363 (2011)","DOI":"10.1007\/978-3-642-24485-8_25"},{"key":"967_CR15","doi-asserted-by":"publisher","unstructured":"Fouquet, F., Morin, B., Fleurey, F., Barais, O., Plouzeau, N., Jezequel, J.M.: A dynamic component model for cyber physical systems. In: Proceedings of the 15th ACM SIGSOFT Symposium on Component Based Software Engineering, Association for Computing Machinery, New York, NY, USA, CBSE \u201912, pp. 135\u2013144. https:\/\/doi.org\/10.1145\/2304736.2304759 (2012)","DOI":"10.1145\/2304736.2304759"},{"key":"967_CR16","unstructured":"Geisberger, E., Broy, M. (eds) Living in a networked world. Integrated research agenda Cyber-Physical Systems (agendaCPS). acatech STUDY, Herbert Utz Verlag, Munich, Germany (2014)"},{"key":"967_CR17","doi-asserted-by":"publisher","unstructured":"Greer, C., Burns, M., Wollman, D., Griffor, E.: Cyber-physical systems and internet of things. https:\/\/doi.org\/10.6028\/NIST.SP.1900-202 (2019)","DOI":"10.6028\/NIST.SP.1900-202"},{"key":"967_CR18","unstructured":"GreyCat: Next-Gen Live Analytics using Temporal Graph. (2018) https:\/\/github.com\/datathings\/greycat. Accessed 02-09-2021"},{"key":"967_CR19","unstructured":"G\u00e9ron, A.: Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow. O\u2019Reilly Media, CA 95472, USA (2019)"},{"key":"967_CR20","doi-asserted-by":"crossref","unstructured":"Harrand, N., Fleurey, F., Morin, B., Husa, K.E.: ThingML: A language and code generation framework for heterogeneous targets. In: Proceedings of the ACM\/IEEE 19th International Conference on Model Driven Engineering Languages and Systems, MODELS \u201916 (2016)","DOI":"10.1145\/2976767.2976812"},{"key":"967_CR21","doi-asserted-by":"publisher","unstructured":"Hartmann, T., Moawad, A., Fouquet, F., Le\u00a0Traon, Y.: The next evolution of mde: a seamless integration of machine learning into domain modeling. In: 2017 ACM\/IEEE 20th International Conference on Model Driven Engineering Languages and Systems (MODELS), p. 180. https:\/\/doi.org\/10.1109\/MODELS.2017.32 (2017)","DOI":"10.1109\/MODELS.2017.32"},{"key":"967_CR22","doi-asserted-by":"crossref","unstructured":"Hartmann, T., Fouquet, F., Moawad, A., Rouvoy, R., Traon, Y.L.: Greycat: efficient what-if analytics for data in motion at scale. arXiv:1803.09627 (2018)","DOI":"10.1016\/j.is.2019.03.004"},{"key":"967_CR23","doi-asserted-by":"publisher","first-page":"1285","DOI":"10.1007\/s10270-017-0600-2","volume":"18","author":"T Hartmann","year":"2019","unstructured":"Hartmann, T., Moawad, A., Fouquet, F., Le Traon, Y.: The next evolution of MDE: a seamless integration of machine learning into domain modeling. Softw. Syst. Model. (SoSyM) 18, 1285\u20131304 (2019). https:\/\/doi.org\/10.1007\/s10270-017-0600-2","journal-title":"Softw. Syst. Model. (SoSyM)"},{"key":"967_CR24","unstructured":"HEADS: Heterogeneous and Distributed Services for the Future Computing Continuum. (2015) https:\/\/cordis.europa.eu\/project\/id\/611337. Accessed 01-09-2021"},{"key":"967_CR25","doi-asserted-by":"publisher","unstructured":"Helwig, N., Pignanelli, E., Sch\u00fctze, A.: Condition monitoring of a complex hydraulic system using multivariate statistics. In: 2015 IEEE International Instrumentation and Measurement Technology Conference (I2MTC) Proceedings, pp. 210\u2013215, https:\/\/doi.org\/10.1109\/I2MTC.2015.7151267 (2015)","DOI":"10.1109\/I2MTC.2015.7151267"},{"key":"967_CR26","doi-asserted-by":"publisher","DOI":"10.1002\/9780470249260","volume-title":"Domain-Specific Modeling: Enabling Full Code Generation","author":"S Kelly","year":"2008","unstructured":"Kelly, S., Tolvanen, J.P.: Domain-Specific Modeling: Enabling Full Code Generation, 1st edn. Wiley, Hoboken (2008)","edition":"1"},{"key":"967_CR27","unstructured":"ISO\/IEC\/IEEE 42010:2011 Systems and software engineering - Architecture description. Standard, ISO\/IEC\/IEEE (2011). https:\/\/www.iso.org\/standard\/50508.html"},{"key":"967_CR28","doi-asserted-by":"crossref","unstructured":"Leskovec, J., Rajaraman, A., Ullman, J.D.: Mining of Massive Datasets, 2nd edn. Cambridge University Press, USA. http:\/\/www.mmds.org (2014)","DOI":"10.1017\/CBO9781139924801"},{"key":"967_CR29","unstructured":"Minka, T., Winn, J.M., Guiver, J.P., Zaykov, Y., Fabian, D., Bronskill, J.: Infer.NET 0.3. Microsoft Research Cambridge. http:\/\/dotnet.github.io\/infer (2018). Accessed 08-09-2020"},{"key":"967_CR30","unstructured":"ML-Quadrat: ML2. (2020). https:\/\/github.com\/arminmoin\/ML-Quadrat. Accessed 12-09-2020"},{"key":"967_CR31","unstructured":"Moin, A., R\u00f6ssler, S., G\u00fcnnemann, S.: Thingml+: augmenting model-driven software engineering for the internet of things with machine learning. In: Hebig R, Berger T (eds) Proceedings of MODELS 2018 Workshops, co-located with ACM\/IEEE 21st International Conference on Model Driven Engineering Languages and Systems (MODELS 2018), Copenhagen, Denmark, October, 14, 2018, CEUR-WS.org, CEUR Workshop Proceedings, vol. 2245, pp. 521\u2013523 (2018) http:\/\/ceur-ws.org\/Vol-2245\/mde4iot_paper_5.pdf"},{"key":"967_CR32","doi-asserted-by":"publisher","unstructured":"Moin, A., R\u00f6ssler, S., Sayih, M., G\u00fcnnemann, S.: From things\u2019 modeling language (thingml) to things\u2019 machine learning (thingml2). In: Guerra, E., Iovino, L. (eds) MODELS \u201920: ACM\/IEEE 23rd International Conference on Model Driven Engineering Languages and Systems, Virtual Event, Canada, 18-23 October, 2020, Companion Proceedings, ACM, pp. 19:1\u201319:2 (2020) https:\/\/doi.org\/10.1145\/3417990.3420057","DOI":"10.1145\/3417990.3420057"},{"key":"967_CR33","doi-asserted-by":"publisher","unstructured":"Morin, B., Fleurey, F., Husa, K.E., Barais, O.: A generative middleware for heterogeneous and distributed services. In: 2016 19th International ACM SIGSOFT Symposium on Component-Based Software Engineering (CBSE), pp. 107\u2013116 (2016) https:\/\/doi.org\/10.1109\/CBSE.2016.12","DOI":"10.1109\/CBSE.2016.12"},{"issue":"1","key":"967_CR34","doi-asserted-by":"publisher","first-page":"30","DOI":"10.1109\/MS.2017.11","volume":"34","author":"B Morin","year":"2017","unstructured":"Morin, B., Harrand, N., Fleurey, F.: Model-based software engineering to tame the IoT jungle. IEEE Softw. 34(1), 30\u201336 (2017). https:\/\/doi.org\/10.1109\/MS.2017.11","journal-title":"IEEE Softw."},{"key":"967_CR35","unstructured":"Murray, D.: A data management platform for personalised real-time energy feedback. In: Proceedings of 8th International Conference on Energy Efficiency Domestic Appl Lighting (EEDAL), pp. 1\u201315 (2015)"},{"key":"967_CR36","doi-asserted-by":"crossref","unstructured":"Newman, W.: A preliminary analysis of the products of HCI research, using pro forma abstracts. In: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, Association for Computing Machinery, New York, NY, USA, CHI \u201994, pp. 278\u2013284 (1994)","DOI":"10.1145\/191666.191766"},{"key":"967_CR37","unstructured":"ONNX: Open Neural Network Exchange. (2021). https:\/\/github.com\/onnx. Accessed 09-03-2021"},{"key":"967_CR38","doi-asserted-by":"publisher","unstructured":"Papatheocharous, E., Axelsson, J., Andersson, J.: Issues and challenges in ecosystems for federated embedded systems. In: Proceedings of the First International Workshop on Software Engineering for Systems-of-Systems, pp. 21\u201324. https:\/\/doi.org\/10.1145\/2489850.2489854 (2013)","DOI":"10.1145\/2489850.2489854"},{"key":"967_CR39","unstructured":"Paszke, A., Gross, S., Chintala, S., Chanan, G., Yang, E., DeVito, Z., Lin, Z., Desmaison, A., Antiga, L., Lerer, A.: Automatic differentiation in pytorch. In: NIPS-W (2017)"},{"key":"967_CR40","first-page":"2825","volume":"12","author":"F Pedregosa","year":"2011","unstructured":"Pedregosa, F., Varoquaux, G., Gramfort, A., Michel, V., Thirion, B., Grisel, O., Blondel, M., Prettenhofer, P., Weiss, R., Dubourg, V., Vanderplas, J., Passos, A., Cournapeau, D., Brucher, M., Perrot, M., Duchesnay, E.: Scikit-learn: machine learning in Python. J. Mach. Learn. Res. 12, 2825\u20132830 (2011)","journal-title":"J. Mach. Learn. Res."},{"key":"967_CR41","unstructured":"PFA: Portable Format for Analytics. (2021) http:\/\/dmg.org\/pfa\/index.html. Accessed 09-03-2021"},{"key":"967_CR42","doi-asserted-by":"publisher","unstructured":"Pivarski, J., Bennett, C., Grossman, R.L.: Deploying analytics with the portable format for analytics (PFA). In: Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, Association for Computing Machinery, New York, NY, USA, KDD \u201916, pp. 579\u2013588. https:\/\/doi.org\/10.1145\/2939672.2939731 (2016)","DOI":"10.1145\/2939672.2939731"},{"key":"967_CR43","unstructured":"PMML: Predictive Model Markup Language. (2021) http:\/\/dmg.org\/pmml\/v4-4-1\/GeneralStructure.html. Accessed 09-03-2021"},{"key":"967_CR44","unstructured":"RapidMiner (n\/a) Depth for Data Scientists, Simplified for Everyone Else. https:\/\/rapidminer.com. Accessed 08-09-2021"},{"key":"967_CR45","unstructured":"REFIT: REFIT datasets. https:\/\/www.refitsmarthomes.org\/datasets\/. Accessed 01-09-2020(2015)"},{"key":"967_CR46","unstructured":"Schaetz, B.: The role of models in engineering of cyber-physical systems\u2014challenges and possibilities. In: CPS20: CPS 20 years from now-visions and challenges, CPS Week (2014)"},{"key":"967_CR47","unstructured":"TensorBoard (n\/a) TensorFlow\u2019s visualization toolkit. https:\/\/www.tensorflow.org\/tensorboard. Accessed 08-09-2021"},{"key":"967_CR48","unstructured":"Theano Development Team: Theano: A Python framework for fast computation of mathematical expressions. arXiv e-prints arXiv:1605.02688 (2016)"},{"key":"967_CR49","unstructured":"Things Modeling Language: ThingML (2015) https:\/\/github.com\/TelluIoT\/ThingML. Accessed 29-04-2020"},{"key":"967_CR50","unstructured":"Time and causality in interactive distributed systems (lecture slides) (2008). https:\/\/www5.in.tum.de\/~huckle\/Broy.pdf . Accessed 06-09-2021"},{"key":"967_CR51","doi-asserted-by":"publisher","DOI":"10.1145\/3409383","author":"H Wang","year":"2020","unstructured":"Wang, H., Yeung, D.Y.: A survey on bayesian deep learning. ACM Comput. Surv. (2020). https:\/\/doi.org\/10.1145\/3409383","journal-title":"ACM Comput. Surv."}],"container-title":["Software and Systems Modeling"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10270-021-00967-x.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s10270-021-00967-x\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10270-021-00967-x.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,4,25]],"date-time":"2022-04-25T09:28:35Z","timestamp":1650878915000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s10270-021-00967-x"}},"subtitle":["Generating full source code for smart Internet of Things (IoT) services and cyber-physical systems (CPS)"],"short-title":[],"issued":{"date-parts":[[2022,1,19]]},"references-count":51,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2022,6]]}},"alternative-id":["967"],"URL":"https:\/\/doi.org\/10.1007\/s10270-021-00967-x","relation":{},"ISSN":["1619-1366","1619-1374"],"issn-type":[{"value":"1619-1366","type":"print"},{"value":"1619-1374","type":"electronic"}],"subject":[],"published":{"date-parts":[[2022,1,19]]},"assertion":[{"value":"19 March 2021","order":1,"name":"received","label":"Received","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"1 December 2021","order":2,"name":"revised","label":"Revised","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"7 December 2021","order":3,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"19 January 2022","order":4,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}}]}}