{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,7]],"date-time":"2026-02-07T13:49:29Z","timestamp":1770472169251,"version":"3.49.0"},"reference-count":64,"publisher":"Association for Computing Machinery (ACM)","issue":"1","funder":[{"name":"FREEDA","award":["I53D23003550006"],"award-info":[{"award-number":["I53D23003550006"]}]},{"name":"PNRR - M4C2 - Investimento 1.3, Partenariato Esteso","award":["PE00000013"],"award-info":[{"award-number":["PE00000013"]}]},{"name":"hOlistic Sustainable Management of distributed softWARE systems","award":["PRA_2022_64"],"award-info":[{"award-number":["PRA_2022_64"]}]},{"name":"Energy-aware management of software applications in Cloud-IoT ecosystems","award":["RIC2021_PON_A18"],"award-info":[{"award-number":["RIC2021_PON_A18"]}]},{"name":"ANR project SmartCloud","award":["ANR-23-CE25-0012"],"award-info":[{"award-number":["ANR-23-CE25-0012"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Internet Technol."],"published-print":{"date-parts":[[2026,2,28]]},"abstract":"<jats:p>\n                    Cloud-Edge application deployment involves placing multiple software components on infrastructural topologies of heterogeneous nodes, ranging from Cloud servers to Internet-of-Things (IoT) edge devices. When multiple versions (or \u201c\n                    <jats:italic toggle=\"yes\">flavours<\/jats:italic>\n                    \u201d) of a component are available, application managers must select a flavour for each deployed component, and assign these components to specific nodes, all while considering constraints such as dependencies, quality of service (QoS), budget, operational costs, and carbon emissions. In complex scenarios, finding the optimal deployment is often infeasible for human operators without automated tools to systematically explore the solution space. To address this challenge, we introduce FREEDA, a first constraint optimisation approach for deploying constrained and multi-flavoured applications on Cloud-Edge infrastructure topologies. We demonstrate the practical feasibility of FREEDA through experiments on a variety of realistic Cloud-Edge infrastructural topologies and component architectures. Furthermore, we benchmark FREEDA against Zephyrus, a comparable tool employing the same underlying solving technology. Empirical results show that FREEDA achieves strong scalability across a broad spectrum of realistic configurations and consistently outperforms Zephyrus.\n                  <\/jats:p>","DOI":"10.1145\/3757061","type":"journal-article","created":{"date-parts":[[2025,7,31]],"date-time":"2025-07-31T06:35:01Z","timestamp":1753943701000},"page":"1-30","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":1,"title":["A Constraint-Based Approach to Optimise QoS- and Energy-Aware Cloud-Edge Application Deployments"],"prefix":"10.1145","volume":"26","author":[{"ORCID":"https:\/\/orcid.org\/0009-0001-3555-1051","authenticated-orcid":false,"given":"Simone","family":"Gazza","sequence":"first","affiliation":[{"name":"University of Bologna","place":["Bologna, Italy"]},{"name":"OPTIMA ARC Centre","place":["Bologna, Italy"]}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-1668-7305","authenticated-orcid":false,"given":"Roberto","family":"Amadini","sequence":"additional","affiliation":[{"name":"University of Bologna","place":["Bologna, Italy"]},{"name":"OPTIMA ARC Centre","place":["Bologna, Italy"]}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-2048-2468","authenticated-orcid":false,"given":"Antonio","family":"Brogi","sequence":"additional","affiliation":[{"name":"Computer Science, University of Pisa","place":["Pisa, Italy"]}]},{"ORCID":"https:\/\/orcid.org\/0009-0006-2827-6676","authenticated-orcid":false,"given":"Andrea","family":"D'iapico","sequence":"additional","affiliation":[{"name":"Politecnico di Milano","place":["Milan, Italy"]}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-4159-8761","authenticated-orcid":false,"given":"Stefano","family":"Forti","sequence":"additional","affiliation":[{"name":"Computer Science, University of Pisa","place":["Pisa, Italy"]}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-3658-6395","authenticated-orcid":false,"given":"Saverio","family":"Giallorenzo","sequence":"additional","affiliation":[{"name":"University of Bologna","place":["Bologna, Italy"]},{"name":"INRIA","place":["Bologna, Italy"]}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-8245-226X","authenticated-orcid":false,"given":"Pierluigi","family":"Plebani","sequence":"additional","affiliation":[{"name":"Politecnico di Milano","place":["Milan, Italy"]}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-6411-0511","authenticated-orcid":false,"given":"Francisco","family":"Ponce","sequence":"additional","affiliation":[{"name":"Dipartimento di Informatica, Universit\u00e0 degli Studi di Pisa","place":["Pisa, Italy"]}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-2435-3543","authenticated-orcid":false,"given":"Jacopo","family":"Soldani","sequence":"additional","affiliation":[{"name":"Dipartimento di Informatica, Universit\u00e0 degli Studi di Pisa","place":["Pisa, Italy"]}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-5258-1893","authenticated-orcid":false,"given":"Monica","family":"Vitali","sequence":"additional","affiliation":[{"name":"Politecnico di Milano","place":["Milan, Italy"]}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-3313-6409","authenticated-orcid":false,"given":"Gianluigi","family":"Zavattaro","sequence":"additional","affiliation":[{"name":"University of Bologna","place":["Bologna, Italy"]},{"name":"INRIA","place":["Bologna, Italy"]}]}],"member":"320","published-online":{"date-parts":[[2026,1,15]]},"reference":[{"key":"e_1_3_2_2_2","doi-asserted-by":"publisher","DOI":"10.1007\/s00500-022-07245-y"},{"key":"e_1_3_2_3_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-47677-3_15"},{"key":"e_1_3_2_4_2","doi-asserted-by":"publisher","DOI":"10.1109\/ACCESS.2021.3075973"},{"key":"e_1_3_2_5_2","doi-asserted-by":"publisher","DOI":"10.1109\/ACCESS.2021.3114514"},{"key":"e_1_3_2_6_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-031-71294-4_7"},{"key":"e_1_3_2_7_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.iot.2023.100866"},{"key":"e_1_3_2_8_2","doi-asserted-by":"publisher","DOI":"10.1016\/J.JSS.2024.112262"},{"key":"e_1_3_2_9_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-78142-2_16"},{"key":"e_1_3_2_10_2","doi-asserted-by":"publisher","DOI":"10.1126\/science.286.5439.509"},{"key":"e_1_3_2_11_2","article-title":"The Satisfiability Modulo Theories Library (SMT-LIB)","author":"Barrett Clark","year":"2016","unstructured":"Clark Barrett, Pascal Fontaine, and Cesare Tinelli. 2016. The Satisfiability Modulo Theories Library (SMT-LIB). Retrieved from https:\/\/www.SMT-LIB.org. (2016).","journal-title":"R"},{"key":"e_1_3_2_12_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-16722-6_21"},{"key":"e_1_3_2_13_2","doi-asserted-by":"publisher","DOI":"10.1002\/9781119525080.ch9"},{"key":"e_1_3_2_14_2","volume-title":"Kubernetes up & running: Dive into the future of Infrastructure","author":"Burns Brendan","year":"2022","unstructured":"Brendan Burns, Joe Beda, Kelsey Hightower, and Lachlan Evenson. 2022. Kubernetes up & running: Dive into the future of Infrastructure. O\u2019Reilly Media."},{"key":"e_1_3_2_15_2","unstructured":"Christian Schulte and Guido Tack. Gecode: Generic Constraint Development Environment. (n.d.). Retrieved May 2024 from http:\/\/www.gecode.org"},{"key":"e_1_3_2_16_2","unstructured":"Geoffrey Chu Maria Garcia De La Banda Christopher Mears and Peter J. Stuckey. Chuffed a lazy clause generation solver. (n.d.). Retrieved May 2024 from https:\/\/github.com\/chuffed\/chuffed"},{"key":"e_1_3_2_17_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-662-48616-0_28"},{"key":"e_1_3_2_18_2","doi-asserted-by":"publisher","DOI":"10.1145\/2642937.2642980"},{"key":"e_1_3_2_19_2","doi-asserted-by":"publisher","unstructured":"Roberto Di Cosmo Jacopo Mauro Stefano Zacchiroli and Gianluigi Zavattaro. 2014. Aeolus: A component model for the cloud. Information and Computation 239 (2014) 100\u2013121. DOI:10.1016\/J.IC.2014.11.002","DOI":"10.1016\/J.IC.2014.11.002"},{"key":"e_1_3_2_20_2","doi-asserted-by":"publisher","DOI":"10.1145\/3486221"},{"key":"e_1_3_2_21_2","doi-asserted-by":"publisher","unstructured":"Bogdan David and Madalina Erascu. 2023. Benchmarking optimization solvers and symmetry breakers for the automated deployment of component-based applications in the cloud (EXTENDED ABSTRACT). DOI:10.48550\/arXiv.2305.15231","DOI":"10.48550\/arXiv.2305.15231"},{"key":"e_1_3_2_22_2","doi-asserted-by":"publisher","DOI":"10.1016\/J.JLAMP.2019.06.001"},{"key":"e_1_3_2_23_2","doi-asserted-by":"publisher","DOI":"10.1109\/TMC.2020.2970698"},{"key":"e_1_3_2_24_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-67425-4_12"},{"key":"e_1_3_2_25_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.jlamp.2021.100664"},{"key":"e_1_3_2_26_2","doi-asserted-by":"publisher","DOI":"10.5486\/PMD.1959.6.3-4.12"},{"key":"e_1_3_2_27_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.suscom.2020.100374"},{"key":"e_1_3_2_28_2","doi-asserted-by":"publisher","DOI":"10.1109\/TNSM.2020.3023011"},{"key":"e_1_3_2_29_2","doi-asserted-by":"publisher","DOI":"10.1145\/2345156.2254096"},{"key":"e_1_3_2_30_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-79022-6_15"},{"key":"e_1_3_2_31_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-94479-7_14"},{"key":"e_1_3_2_32_2","doi-asserted-by":"publisher","DOI":"10.1017\/S1471068421000016"},{"key":"e_1_3_2_33_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-83724-1_12"},{"key":"e_1_3_2_34_2","doi-asserted-by":"publisher","DOI":"10.1109\/SOSE58276.2023.00036"},{"key":"e_1_3_2_35_2","unstructured":"Simone Gazza and Roberto Amadini. 2024. Source code. (2024). Retrieved from https:\/\/github.com\/simonegazza\/mzn-test-suite"},{"key":"e_1_3_2_36_2","unstructured":"Simone Gazza and Francisco Ponce. 2024. Parser. (2024). Retrieved from https:\/\/github.com\/FREEDA-Project\/Python-parser"},{"key":"e_1_3_2_37_2","doi-asserted-by":"publisher","DOI":"10.1007\/s42979-021-00781-8"},{"key":"e_1_3_2_38_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICPADS60453.2023.00349"},{"key":"e_1_3_2_39_2","unstructured":"Google AI. OR-Tools. (n.d.). Retrieved May 2024 from https:\/\/developers.google.com\/optimization"},{"key":"e_1_3_2_40_2","doi-asserted-by":"publisher","DOI":"10.1007\/s00607-023-01153-1"},{"key":"e_1_3_2_41_2","doi-asserted-by":"publisher","DOI":"10.1109\/JIOT.2021.3077992"},{"key":"e_1_3_2_42_2","doi-asserted-by":"publisher","DOI":"10.1007\/s00521-023-08759-8"},{"key":"e_1_3_2_43_2","doi-asserted-by":"publisher","unstructured":"Menglan Hu Hao Wang Xiaohui Xu Jianwen He Yi Hu Tianping Deng and Kai Peng. 2024. Joint optimization of microservice deployment and routing in edge via multi-objective deep reinforcement learning. IEEE Transactions on Network and Service Management 21 6 (2024) 6364\u20136381. DOI:10.1109\/TNSM.2024.3443872","DOI":"10.1109\/TNSM.2024.3443872"},{"key":"e_1_3_2_44_2","doi-asserted-by":"publisher","DOI":"10.1007\/s12532-017-0130-5"},{"key":"e_1_3_2_45_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.jpdc.2022.12.001"},{"key":"e_1_3_2_46_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-4684-2001-2_9"},{"key":"e_1_3_2_47_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-91431-8_14"},{"key":"e_1_3_2_48_2","doi-asserted-by":"publisher","DOI":"10.1109\/CCGRID.2018.00023"},{"key":"e_1_3_2_49_2","article-title":"Black software \u2013 the energy unsustainability of software systems in the 21st century","volume":"2","author":"Manner Jukka","year":"2022","unstructured":"Jukka Manner. 2022. Black software \u2013 the energy unsustainability of software systems in the 21st century. Oxford Open Energy 2, 0 (2022), 1\u20138.","journal-title":"Oxford Open Energy"},{"key":"e_1_3_2_50_2","doi-asserted-by":"publisher","DOI":"10.1109\/CLOUD60044.2023.00033"},{"key":"e_1_3_2_51_2","doi-asserted-by":"publisher","DOI":"10.5555\/2600239.2600241"},{"key":"e_1_3_2_52_2","unstructured":"MiniZinc Teams. MiniZinc Challenge 2024 - Rules. (n.d.). Retrieved May 2024 from https:\/\/www.minizinc.org\/challenge\/2024\/rules\/#complete-scoring-procedure"},{"key":"e_1_3_2_53_2","doi-asserted-by":"crossref","unstructured":"Nicholas Nethercote Peter J. Stuckey Ralph Becket Sebastian Brand Gregory J. Duck and Guido Tack. 2007. MiniZinc: Towards a standard CP modelling language. In Principles and Practice of Constraint Programming \u2013 CP 2007 Christian Bessi\u00e8re (Ed.). Springer Berlin Heidelberg Berlin Heidelberg 529\u2013543.","DOI":"10.1007\/978-3-540-74970-7_38"},{"key":"e_1_3_2_54_2","doi-asserted-by":"publisher","unstructured":"Kai Peng Liangyuan Wang Jintao He Chao Cai and Menglan Hu. 2024. Joint optimization of service deployment and request routing for microservices in mobile edge computing. IEEE Transactions on Services Computing 17 3 (2024) 1016\u20131028. DOI:10.1109\/TSC.2024.3349408","DOI":"10.1109\/TSC.2024.3349408"},{"key":"e_1_3_2_55_2","doi-asserted-by":"publisher","DOI":"10.5555\/3432601.3432616"},{"key":"e_1_3_2_56_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.procs.2020.04.152"},{"key":"e_1_3_2_57_2","unstructured":"Francisco Ponce Simone Gazza and Jacopo Soldani. 2024. YAML Model Specification. (2024). Retrieved from https:\/\/github.com\/FREEDA-Project\/YAML-model\/tree\/v0.2"},{"key":"e_1_3_2_58_2","doi-asserted-by":"publisher","DOI":"10.1145\/3659994.3660311"},{"key":"e_1_3_2_59_2","doi-asserted-by":"publisher","DOI":"10.1609\/aimag.v35i2.2539"},{"key":"e_1_3_2_60_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-031-07472-1_6"},{"key":"e_1_3_2_61_2","doi-asserted-by":"publisher","DOI":"10.1109\/IC2E59103.2023.00011"},{"key":"e_1_3_2_62_2","doi-asserted-by":"publisher","DOI":"10.1145\/3167132.3167215"},{"key":"e_1_3_2_63_2","article-title":"YAML Ain\u2019t Markup Language (YAML\u2122) Version 1.2.2","author":"Team YAML Language Development","year":"2021","unstructured":"YAML Language Development Team. 2021. YAML Ain\u2019t Markup Language (YAML\u2122) Version 1.2.2. Retrieved January, 2025 from https:\/\/yaml.org\/spec\/1.2.2\/. (Oct.2021).","journal-title":"https:\/\/yaml.org\/spec\/1.2.2\/"},{"key":"e_1_3_2_64_2","doi-asserted-by":"publisher","DOI":"10.1109\/LNET.2023.3286933"},{"key":"e_1_3_2_65_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSC.2020.3013600"}],"container-title":["ACM Transactions on Internet Technology"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3757061","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,1,16]],"date-time":"2026-01-16T05:10:48Z","timestamp":1768540248000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3757061"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2026,1,15]]},"references-count":64,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2026,2,28]]}},"alternative-id":["10.1145\/3757061"],"URL":"https:\/\/doi.org\/10.1145\/3757061","relation":{},"ISSN":["1533-5399","1557-6051"],"issn-type":[{"value":"1533-5399","type":"print"},{"value":"1557-6051","type":"electronic"}],"subject":[],"published":{"date-parts":[[2026,1,15]]},"assertion":[{"value":"2025-02-14","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2025-07-20","order":2,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2026-01-15","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}