{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,8]],"date-time":"2026-03-08T00:20:39Z","timestamp":1772929239720,"version":"3.50.1"},"reference-count":54,"publisher":"Springer Science and Business Media LLC","issue":"1","license":[{"start":{"date-parts":[[2025,2,26]],"date-time":"2025-02-26T00:00:00Z","timestamp":1740528000000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2025,2,26]],"date-time":"2025-02-26T00:00:00Z","timestamp":1740528000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"funder":[{"DOI":"10.13039\/501100005760","name":"University of Gothenburg","doi-asserted-by":"crossref","id":[{"id":"10.13039\/501100005760","id-type":"DOI","asserted-by":"crossref"}]}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Softw Syst Model"],"published-print":{"date-parts":[[2026,2]]},"abstract":"<jats:title>Abstract<\/jats:title>\n                  <jats:p>Deploying machine learning (ML) models on edge devices presents unique challenges, arising from the different environments used for developing ML models and those required for their deployment, leading to a gray area of competence and expertise between ML engineers and application developers. In this paper, we explore the use of model-driven engineering to simplify the deployment of ML models on edge devices, specifically smartphones. We present a DSL for the specification of the ML serving pipelines (pre- and postprocessing of data before and after inference), together with a model interpretation approach that allows to make changes to the pipeline during runtime, thus removing the need to re-release an application upon changes to a pipeline. We followed a design science approach, in which we elicited requirements through an initial artifact study and interviews with engineers at an industrial partner. This was followed by the design and implementation of a lightweight, JSON-based domain-specific language designed to describe ML serving pipelines, along with an accompanying Flutter library to execute the pipelines during runtime. A preliminary evaluation with four developers shows the potential of this approach to increase development speed, decrease the amount of code required to make changes to an ML serving pipeline, and make less-experienced engineers more confident contributing to the domain.<\/jats:p>","DOI":"10.1007\/s10270-025-01273-6","type":"journal-article","created":{"date-parts":[[2025,2,26]],"date-time":"2025-02-26T01:22:36Z","timestamp":1740532956000},"page":"163-187","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":4,"title":["Cross-platform edge deployment of machine learning models: a model-driven approach"],"prefix":"10.1007","volume":"25","author":[{"given":"Albin","family":"Karlsson\u00a0Landgren","sequence":"first","affiliation":[]},{"given":"Philip","family":"Perhult\u00a0Johnsen","sequence":"additional","affiliation":[]},{"given":"Daniel","family":"Str\u00fcber","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2025,2,26]]},"reference":[{"key":"1273_CR1","volume-title":"Deep Learning with Python","author":"F Chollet","year":"2021","unstructured":"Chollet, F.: Deep Learning with Python, 2nd edn. Manning Publications, Shelter Island (2021)","edition":"2"},{"key":"1273_CR2","unstructured":"wirevision. https:\/\/apps.apple.com\/se\/app\/wirevision\/id1543684933"},{"key":"1273_CR3","unstructured":"Husqvarna Gear Identifier. https:\/\/apps.apple.com\/se\/app\/husqvarna-gear-identifier\/id6464394076"},{"key":"1273_CR4","unstructured":"Flutter. https:\/\/flutter.dev\/"},{"key":"1273_CR5","unstructured":"Core ML. Apple Inc. Accessed: 2024-01-22 (2023). https:\/\/web.archive.org\/web\/20231126225328\/https:\/\/developer.apple.com\/machine-learning\/core-ml\/"},{"key":"1273_CR6","unstructured":"Custom Models | ML Kit. Google. Accessed: 2024-01-22 (2023). https:\/\/web.archive.org\/web\/20231208182614\/https:\/\/developers.google.com\/ml-kit\/custom-models"},{"key":"1273_CR7","unstructured":"The authors: Online artifact for cross-platform edge deployment of machine learning models: a model-driven approach (2024). https:\/\/drive.google.com\/drive\/folders\/1y_3t7hfGKS7yujkOkGmSzya7PJ8RZHKZ"},{"key":"1273_CR8","unstructured":"Lai, L., Suda, N.: Rethinking machine learning development and deployment for edge devices (2018)"},{"key":"1273_CR9","doi-asserted-by":"crossref","unstructured":"Bayerl, S.P., Frassetto, T., Jauernig, P., Riedhammer, K., Sadeghi, A.-R., Schneider, T., Stapf, E., Weinert, C.: offline model guard: secure and private ml on mobile devices. In: 2020 Design, Automation & Test in Europe Conference & Exhibition (DATE), pp. 460\u2013465 (2020)","DOI":"10.23919\/DATE48585.2020.9116560"},{"key":"1273_CR10","doi-asserted-by":"crossref","unstructured":"Song, H., Dautov, R., Ferry, N., Solberg, A., Fleurey, F.: Model-based fleet deployment of edge computing applications. In: Proceedings - 23rd ACM\/IEEE International Conference on Model Driven Engineering Languages and Systems, MODELS 2020, pp. 132\u2013142 (2020)","DOI":"10.1145\/3365438.3410951"},{"key":"1273_CR11","doi-asserted-by":"crossref","unstructured":"Zhang, Q., Li, X., Che, X., Zhou, A., Xu, M., Wang, S., Ma, Y., Liu, X.: A comprehensive benchmark of deep learning libraries on mobile devices. In: Proceedings of the ACM Web Conference 2022 (WWW \u201922), p. 10. ACM, New York, NY, USA (2022)","DOI":"10.1145\/3485447.3512148"},{"key":"1273_CR12","unstructured":"Stack Overflow Developer Survey 2023. stack overflow. Accessed: 2024-01-22 (2023). https:\/\/web.archive.org\/web\/20240121213425\/https:\/\/survey.stackoverflow.co\/2023\/#most-popular-technologies-misc-tech-prof"},{"key":"1273_CR13","unstructured":"React Native: Why a new architecture. Accessed: 2024-02-22 (2023). https:\/\/web.archive.org\/web\/20231206110642\/https:\/\/reactnative.dev\/docs\/the-new-architecture\/why"},{"key":"1273_CR14","unstructured":"Flutter: Writing custom platform-specific code. Accessed: 2024-02-22. https:\/\/web.archive.org\/web\/20240214020240\/https:\/\/docs.flutter.dev\/platform-integration\/platform-channels"},{"key":"1273_CR15","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-031-02549-5","volume-title":"Model-Driven Software Engineering in Practice","author":"M Brambilla","year":"2017","unstructured":"Brambilla, M., Cabot, J., Wimmer, M.: Model-Driven Software Engineering in Practice. Springer, Cham (2017)"},{"issue":"4","key":"1273_CR16","doi-asserted-by":"publisher","first-page":"316","DOI":"10.1145\/1118890.1118892","volume":"37","author":"M Mernik","year":"2005","unstructured":"Mernik, M., Cwi, J.H., Sloane, A.M.: When and how to develop domain-specific languages. ACM Comput. Surv. (CSUR) 37(4), 316\u2013344 (2005)","journal-title":"ACM Comput. Surv. (CSUR)"},{"key":"1273_CR17","unstructured":"Xtext. Accessed: 24.01.24. https:\/\/eclipse.dev\/Xtext\/"},{"key":"1273_CR18","doi-asserted-by":"publisher","first-page":"4205","DOI":"10.1007\/s10664-020-09872-1","volume":"25","author":"A Iung","year":"2020","unstructured":"Iung, A., Carbonell, J., Marchezan, L., Rodrigues, E., Bernardino, M., Basso, F.P., Medeiros, B.: Systematic mapping study on domain-specific language development tools. Empir. Softw. Eng. 25, 4205\u20134249 (2020)","journal-title":"Empir. Softw. Eng."},{"key":"1273_CR19","doi-asserted-by":"publisher","DOI":"10.1016\/j.cola.2023.101203","volume":"75","author":"E Chavarriaga","year":"2023","unstructured":"Chavarriaga, E., Jurado, F., Rodr\u00edguez, F.D.: An approach to build JSON-based domain specific languages solutions for web applications. J. Comput. Languages 75, 101203 (2023)","journal-title":"J. Comput. Languages"},{"key":"1273_CR20","doi-asserted-by":"crossref","unstructured":"Habib, A., Shinnar, A., Hirzel, M., Pradel, M.: Finding data compatibility bugs with JSON subschema checking, pp. 620\u2013632 (2021). Association for Computing Machinery, Inc","DOI":"10.1145\/3460319.3464796"},{"key":"1273_CR21","unstructured":"LinkedIn: What are the most common data conversion formats and standards in your industry? Accessed: 2024-02-19 (2023). https:\/\/www.linkedin.com\/advice\/0\/what-most-common-data-conversion-formats-standards"},{"key":"1273_CR22","unstructured":"The top 10 data interchange or data exchange format used today. Accessed: 2024-02-19. https:\/\/aster.cloud\/2023\/05\/11\/the-top-10-data-interchange-or-data-exchange-format-used-today\/"},{"key":"1273_CR23","unstructured":"JSON Schema: getting started step by step. Accessed: 2024-02-19 (2023). https:\/\/json-schema.org\/learn\/getting-started-step-by-step"},{"key":"1273_CR24","doi-asserted-by":"crossref","unstructured":"Attouche, L., Baazizi, M.-A., Colazzo, D., Ghelli, G., Sartiani, C., Scherzinger, S.: Validation of modern JSON schema: formalization and complexity (2024)","DOI":"10.1145\/3632891"},{"issue":"4","key":"1273_CR25","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1007\/s10664-024-10444-w","volume":"29","author":"S Idowu","year":"2024","unstructured":"Idowu, S., Osman, O., Str\u00fcber, D., Berger, T.: Machine learning experiment management tools: a mixed-methods empirical study. Empir. Softw. Eng. 29(4), 1\u201335 (2024)","journal-title":"Empir. Softw. Eng."},{"key":"1273_CR26","doi-asserted-by":"crossref","unstructured":"Knauss, E.: Constructive master\u2019s thesis work in industry: guidelines for applying design science research. In: 2021 IEEE\/ACM 43rd International Conference on Eoftware Engineering: Software Engineering Education and Training (ICSE-SEET), pp. 110\u2013121 (2021)","DOI":"10.1109\/ICSE-SEET52601.2021.00021"},{"key":"1273_CR27","unstructured":"Matzler, K., Hinterhuber, H.: The kano model: How to delight your customers, pp. 313\u2013327 (1996). https:\/\/www.researchgate.net\/publication\/240462191"},{"key":"1273_CR28","volume-title":"User Stories Applied: For Agile Software Development","author":"M Cohn","year":"2004","unstructured":"Cohn, M.: User Stories Applied: For Agile Software Development. Addison-Wesley Professional, Boston (2004)"},{"issue":"34","key":"1273_CR29","first-page":"597","volume":"1","author":"RC Martin","year":"2000","unstructured":"Martin, R.C.: Design principles and design patterns. Object Mentor 1(34), 597 (2000)","journal-title":"Object Mentor"},{"key":"1273_CR30","unstructured":"Interaction Design Foundation - IxDF: What are user stories? https:\/\/www.interaction-design.org\/literature\/topics\/user-stories. Accessed: 02.02.24 (2016)"},{"key":"1273_CR31","unstructured":"Lauesen, S.: Software requirements-styles and techniques, (2002)"},{"key":"1273_CR32","doi-asserted-by":"publisher","first-page":"108","DOI":"10.1016\/j.infsof.2015.07.004","volume":"67","author":"J Huang","year":"2015","unstructured":"Huang, J., Li, Y.F., Xie, M.: An empirical analysis of data preprocessing for machine learning-based software cost estimation. Inf. Softw. Technol. 67, 108\u2013127 (2015)","journal-title":"Inf. Softw. Technol."},{"key":"1273_CR33","unstructured":"Non-functional requirements: examples, types, and how to approach them. https:\/\/www.altexsoft.com\/blog\/non-functional-requirements\/. Accessed: 2024-02-26 (2023)"},{"key":"1273_CR34","unstructured":"The JSON data interchange syntax. Accessed: 2024-04-14 (2017). https:\/\/web.archive.org\/web\/20240407090452\/https:\/\/ecma-international.org\/publications-and-standards\/standards\/ecma-404\/"},{"key":"1273_CR35","unstructured":"Gao, L.: Latin squares in experimental design. Michigan state university (2005)"},{"issue":"4","key":"1273_CR36","doi-asserted-by":"publisher","first-page":"94","DOI":"10.1007\/s10664-021-10072-8","volume":"27","author":"S Baltes","year":"2022","unstructured":"Baltes, S., Ralph, P.: Sampling in software engineering research: a critical review and guidelines. Empir. Softw. Eng. 27(4), 94 (2022)","journal-title":"Empir. Softw. Eng."},{"issue":"3","key":"1273_CR37","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/3241743","volume":"27","author":"KJ Stol","year":"2018","unstructured":"Stol, K.J., Fitzgerald, B.: The ABC of software engineering research. ACM Trans. Softw. Eng. Methodol. 27(3), 1\u201351 (2018)","journal-title":"ACM Trans. Softw. Eng. Methodol."},{"key":"1273_CR38","unstructured":"SciPy Developers: scipy.stats.mannwhitneyu. Accessed: 2024-05-20. https:\/\/docs.scipy.org\/doc\/scipy\/reference\/generated\/scipy.stats.mannwhitneyu.html"},{"key":"1273_CR39","doi-asserted-by":"crossref","unstructured":"Sijtsma, K., Emons, W.: Nonparametric statistical methods. In: International Encyclopedia of Education, pp. 347\u2013353. Elsevier, Amsterdam, Netherlands (2010)","DOI":"10.1016\/B978-0-08-044894-7.01353-1"},{"key":"1273_CR40","unstructured":"statsmodels Developers: statsmodels.stats.contingency_tables.mcnemar. Accessed: 2024-11-19. https:\/\/www.statsmodels.org\/dev\/generated\/statsmodels.stats.contingency_tables.mcnemar.html"},{"key":"1273_CR41","unstructured":"Jonsson, R.: Exact properties of Mcnemar\u2019s test in small samples (1993)"},{"issue":"sup1","key":"1273_CR42","doi-asserted-by":"publisher","first-page":"235","DOI":"10.1080\/00031305.2018.1527253","volume":"73","author":"BB McShane","year":"2019","unstructured":"McShane, B.B., Gal, D., Gelman, A., Robert, C., Tackett, J.L.: Abandon statistical significance. Am. Stat. 73(sup1), 235\u2013245 (2019)","journal-title":"Am. Stat."},{"key":"1273_CR43","doi-asserted-by":"crossref","unstructured":"Wohlin, C., Runeson, P., Host, M., Ohlsson, M.C., Regnell, B., Wesslen, A.: Experimentation in software engineering (2012). https:\/\/link.springer.com\/book\/10.1007\/978-3-642-29044-2","DOI":"10.1007\/978-3-642-29044-2"},{"key":"1273_CR44","doi-asserted-by":"crossref","unstructured":"Moin, A., Challenger, M., Badii, A., Gunnemann, S.: Supporting AI engineering on the IoT edge through model-driven TinyML. In: Proceedings - 2022 IEEE 46th Annual Computers, Software, and Applications Conference, COMPSAC 2022, pp. 884\u2013893 (2022)","DOI":"10.1109\/COMPSAC54236.2022.00140"},{"key":"1273_CR45","doi-asserted-by":"publisher","first-page":"35","DOI":"10.1007\/s10270-016-0559-4","volume":"17","author":"S Vaupel","year":"2018","unstructured":"Vaupel, S., Taentzer, G., Gerlach, R., Guckert, M.: Model-driven development of mobile applications for Android and iOS supporting role-based app variability. Softw. Syst. Model. 17, 35\u201363 (2018)","journal-title":"Softw. Syst. Model."},{"key":"1273_CR46","unstructured":"Vaupel, S., Str\u00fcber, D., Rieger, F., Taentzer, G.: Agile bottom-up development of domain-specific IDEs for model-driven development. In: FlexMDE\u201915: Workshop on Flexible Model Driven Engineering, Part of MODELS 2015, pp. 12\u201321 (2015)"},{"key":"1273_CR47","doi-asserted-by":"crossref","unstructured":"Zhao, J., Tiplea, T., Mortier, R., Crowcroft, J., Wang, L.: Data analytics service composition and deployment on edge devices. In: Big-DAMA 2018 - Proceedings of the 2018 Workshop on Big Data Analytics and Machine Learning for Data Communication Networks, Part of SIGCOMM 2018, pp. 27\u201332 (2018)","DOI":"10.1145\/3229607.3229615"},{"issue":"3","key":"1273_CR48","doi-asserted-by":"publisher","first-page":"987","DOI":"10.1007\/s10270-021-00967-x","volume":"21","author":"A Moin","year":"2022","unstructured":"Moin, A., Challenger, M., Badii, A., G\u00fcnnemann, S.: A model-driven approach to machine learning and software modeling for the IOT: generating full source code for smart internet of things (IOT) services and cyber-physical systems (cps). Softw. Syst. Model. 21(3), 987\u20131014 (2022)","journal-title":"Softw. Syst. Model."},{"key":"1273_CR49","unstructured":"Kirchhof, J.C., Kusmenko, E., Ritz, J., Rumpe, B., Moin, A., Badii, A., G\u00fcnnemann, S., Challenger, M.: Mde for machine learning-enabled software systems: a case study and comparison of montianna & ml-quadrat. In: Proceedings of the 25th International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings, pp. 380\u2013387 (2022)"},{"key":"1273_CR50","doi-asserted-by":"crossref","unstructured":"Idowu, S., Str\u00fcber, D., Berger, T.: EMMM: A unified meta-model for tracking machine learning experiments. In: 2022 48th Euromicro Conference on Software Engineering and Advanced Applications (SEAA), pp. 48\u201355 (2022)","DOI":"10.1109\/SEAA56994.2022.00016"},{"key":"1273_CR51","doi-asserted-by":"crossref","unstructured":"d\u2019Aloisio, G., Di\u00a0Marco, A., Stilo, G.: Democratizing quality-based machine learning development through extended feature models. In: International Conference on Fundamental Approaches to Software Engineering, pp. 88\u2013110 (2023). Springer Nature Switzerland Cham","DOI":"10.1007\/978-3-031-30826-0_5"},{"key":"1273_CR52","doi-asserted-by":"crossref","unstructured":"Atouani, A., Kirchhof, J.C., Kusmenko, E., Rumpe, B.: Artifact and reference models for generative machine learning frameworks and build systems. In: Proceedings of the 20th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences, pp. 55\u201368 (2021)","DOI":"10.1145\/3486609.3487199"},{"key":"1273_CR53","doi-asserted-by":"crossref","unstructured":"Giner-Miguelez, J., G\u00f3mez, A., Cabot, J.: DescribeML: a tool for describing machine learning datasets. In: Proceedings of the 25th International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings, pp. 22\u201326 (2022)","DOI":"10.1145\/3550356.3559087"},{"issue":"7","key":"1273_CR54","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/3543847","volume":"55","author":"S Idowu","year":"2022","unstructured":"Idowu, S., Str\u00fcber, D., Berger, T.: Asset management in machine learning: state-of-research and state-of-practice. ACM Comput. Surv. 55(7), 1\u201335 (2022)","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-025-01273-6.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s10270-025-01273-6","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10270-025-01273-6.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,3,3]],"date-time":"2026-03-03T05:01:44Z","timestamp":1772514104000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s10270-025-01273-6"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,2,26]]},"references-count":54,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2026,2]]}},"alternative-id":["1273"],"URL":"https:\/\/doi.org\/10.1007\/s10270-025-01273-6","relation":{},"ISSN":["1619-1366","1619-1374"],"issn-type":[{"value":"1619-1366","type":"print"},{"value":"1619-1374","type":"electronic"}],"subject":[],"published":{"date-parts":[[2025,2,26]]},"assertion":[{"value":"17 July 2024","order":1,"name":"received","label":"Received","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"27 January 2025","order":2,"name":"revised","label":"Revised","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"28 January 2025","order":3,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"26 February 2025","order":4,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}}]}}