{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,12]],"date-time":"2025-11-12T14:17:13Z","timestamp":1762957033964,"version":"build-2065373602"},"reference-count":89,"publisher":"MDPI AG","issue":"10","license":[{"start":{"date-parts":[[2022,10,19]],"date-time":"2022-10-19T00:00:00Z","timestamp":1666137600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"DOI":"10.13039\/501100006360","name":"German Federal Ministry for Economic Affairs and Climate Action","doi-asserted-by":"publisher","award":["19S21002"],"award-info":[{"award-number":["19S21002"]}],"id":[{"id":"10.13039\/501100006360","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Algorithms"],"abstract":"<jats:p>For automating the deployment of composite applications, typically, declarative deployment models are used. Depending on the context, the deployment of an application has to fulfill different requirements, such as costs and elasticity. As a consequence, one and the same application, i.e., its components, and their dependencies, often need to be deployed in different variants. If each different variant of a deployment is described using an individual deployment model, it quickly results in a large number of models, which are error prone to maintain. Deployment technologies, such as Terraform or Ansible, support conditional components and dependencies which allow modeling different deployment variants of a composite application in a single deployment model. However, there are deployment technologies, such as TOSCA and Docker Compose, which do not support such conditional elements. To address this, we extend the Essential Deployment Metamodel (EDMM) by conditional components and dependencies. EDMM is a declarative deployment model which can be mapped to several deployment technologies including Terraform, Ansible, TOSCA, and Docker Compose. Preprocessing such an extended model, i.e., conditional elements are evaluated and either preserved or removed, generates an EDMM conform model. As a result, conditional elements can be integrated on top of existing deployment technologies that are unaware of such concepts. We evaluate this by implementing a preprocessor for TOSCA, called OpenTOSCA Vintner, which employs the open-source TOSCA orchestrators xOpera and Unfurl to execute the generated TOSCA conform models.<\/jats:p>","DOI":"10.3390\/a15100382","type":"journal-article","created":{"date-parts":[[2022,10,19]],"date-time":"2022-10-19T02:54:25Z","timestamp":1666148065000},"page":"382","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":3,"title":["Modeling Different Deployment Variants of a Composite Application in a Single Declarative Deployment Model"],"prefix":"10.3390","volume":"15","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-1538-5516","authenticated-orcid":false,"given":"Miles","family":"St\u00f6tzner","sequence":"first","affiliation":[{"name":"Institute of Software Engineering, University of Stuttgart, 70569 Stuttgart, Germany"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-4532-1460","authenticated-orcid":false,"given":"Steffen","family":"Becker","sequence":"additional","affiliation":[{"name":"Institute of Software Engineering, University of Stuttgart, 70569 Stuttgart, Germany"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-8816-5541","authenticated-orcid":false,"given":"Uwe","family":"Breitenb\u00fccher","sequence":"additional","affiliation":[{"name":"Institute of Architecture of Application Systems, University of Stuttgart, 70569 Stuttgart, Germany"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-1392-9789","authenticated-orcid":false,"given":"K\u00e1lm\u00e1n","family":"K\u00e9pes","sequence":"additional","affiliation":[{"name":"Institute of Architecture of Application Systems, University of Stuttgart, 70569 Stuttgart, Germany"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-9123-259X","authenticated-orcid":false,"given":"Frank","family":"Leymann","sequence":"additional","affiliation":[{"name":"Institute of Architecture of Application Systems, University of Stuttgart, 70569 Stuttgart, Germany"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"1968","published-online":{"date-parts":[[2022,10,19]]},"reference":[{"key":"ref_1","first-page":"63","article-title":"The Essential Deployment Metamodel: A Systematic Review of Deployment Automation Technologies","volume":"35","author":"Wurster","year":"2019","journal-title":"SICS Softw.-Intensive Cyber-Phys. Syst."},{"key":"ref_2","unstructured":"Endres, C., Breitenb\u00fccher, U., Falkenthal, M., Kopp, O., Leymann, F., and Wettinger, J. (2017, January 19\u201323). Declarative vs. Imperative: Two Modeling Patterns for the Automated Deployment of Applications. Proceedings of the 9th International Conference on Pervasive Patterns and Applications (PATTERNS 2017), Athens, Greece."},{"key":"ref_3","unstructured":"(2022, October 16). Google Cloud Functions. Available online: https:\/\/cloud.google.com\/functions."},{"key":"ref_4","unstructured":"OASIS (2022, October 16). TOSCA Simple Profile in YAML Version 1.3; Organization for the Advancement of Structured Information Standards (OASIS): 2020. Available online: https:\/\/docs.oasis-open.org\/tosca\/TOSCA-Simple-Profile-YAML\/v1.3\/os\/TOSCA-Simple-Profile-YAML-v1.3-os.html."},{"key":"ref_5","unstructured":"(2022, October 16). Google Cloud App Engine. Available online: https:\/\/cloud.google.com\/appengine."},{"key":"ref_6","unstructured":"(2022, October 16). Google Cloud SQL. Available online: https:\/\/cloud.google.com\/sql."},{"key":"ref_7","unstructured":"(2022, October 16). Terraform. Available online: https:\/\/terraform.io."},{"key":"ref_8","unstructured":"(2022, October 16). Puppet. Available online: https:\/\/puppet.com."},{"key":"ref_9","unstructured":"(2022, October 16). Kubernetes. Available online: https:\/\/kubernetes.io."},{"key":"ref_10","unstructured":"(2022, October 16). Ansible. Available online: https:\/\/ansible.com."},{"key":"ref_11","doi-asserted-by":"crossref","unstructured":"Wurster, M., Breitenb\u00fccher, U., Brogi, A., Falazi, G., Harzenetter, L., Leymann, F., Soldani, J., and Yussupov, V. (2019, January 28\u201331). The EDMM Modeling and Transformation System. Proceedings of the Service-Oriented Computing\u2014ICSOC 2019 Workshops, Toulouse, France.","DOI":"10.1007\/978-3-030-45989-5_26"},{"key":"ref_12","unstructured":"(2022, October 16). OpenTOSCA Vintner. Available online: https:\/\/github.com\/opentosca\/opentosca-vintner."},{"key":"ref_13","unstructured":"(2022, October 16). xOpera. Available online: https:\/\/github.com\/xlab-si\/xopera-opera."},{"key":"ref_14","unstructured":"(2022, October 16). Unfurl. Available online: https:\/\/github.com\/onecommons\/unfurl."},{"key":"ref_15","doi-asserted-by":"crossref","unstructured":"Wurster, M., Breitenb\u00fccher, U., Harzenetter, L., Leymann, F., Soldani, J., and Yussupov, V. (2020, January 7\u20139). TOSCA Light: Bridging the Gap between the TOSCA Specification and Production-ready Deployment Technologies. Proceedings of the 10th International Conference on Cloud Computing and Services Science (CLOSER 2020), Prague, Czech Republic.","DOI":"10.5220\/0009794302160226"},{"key":"ref_16","doi-asserted-by":"crossref","unstructured":"Binz, T., Breitenb\u00fccher, U., Kopp, O., and Leymann, F. (2014). TOSCA: Portable Automated Deployment and Management of Cloud Applications. Advanced Web Services, Springer.","DOI":"10.1007\/978-1-4614-7535-4_22"},{"key":"ref_17","doi-asserted-by":"crossref","first-page":"80","DOI":"10.1109\/MIC.2012.43","article-title":"Portable Cloud Services Using TOSCA","volume":"16","author":"Binz","year":"2012","journal-title":"IEEE Internet Comput."},{"key":"ref_18","unstructured":"(2022, October 16). Windows-Subsystem for Linux. Available online: https:\/\/learn.microsoft.com\/en-us\/windows\/wsl."},{"key":"ref_19","doi-asserted-by":"crossref","unstructured":"Pohl, K., B\u00f6ckle, G., and van der Linden, F. (2005). Software Product Line Engineering, Springer.","DOI":"10.1007\/3-540-28901-1"},{"key":"ref_20","doi-asserted-by":"crossref","unstructured":"Pohl, K., and Metzger, A. (2006, January 20\u201328). Variability Management in Software Product Line Engineering. Proceedings of the 28th International Conference on Software Engineering, ICSE \u201906, Shanghai, China.","DOI":"10.1145\/1134285.1134499"},{"key":"ref_21","doi-asserted-by":"crossref","unstructured":"Pohl, K., and Metzger, A. (2018). Software Product Lines. The Essence of Software Engineering, Springer International Publishing.","DOI":"10.1007\/978-3-319-73897-0_11"},{"key":"ref_22","first-page":"5","article-title":"Software product line engineering with feature models","volume":"78","author":"Beuche","year":"2007","journal-title":"Overload J."},{"key":"ref_23","doi-asserted-by":"crossref","unstructured":"Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., and Peterson, A.S. (1990). Feature-Oriented Domain Analysis (FODA) Feasibility Study, Carnegie Mellon University, Software Engineering Institute. Technical Report.","DOI":"10.21236\/ADA235785"},{"key":"ref_24","unstructured":"Groher, I., and Voelter, M. (2007, January 4\u201310). Expressing feature-based variability in structural models. Proceedings of the Workshop on Managing Variability for Software Product Lines, Kyoto, Japan."},{"key":"ref_25","doi-asserted-by":"crossref","unstructured":"Czarnecki, K., Antkiewicz, M., Kim, C.H.P., Lau, S., and Pietroszek, K. (2005, January 16\u201320). Model-Driven Software Product Lines. Proceedings of the Companion to the 20th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA \u201905, San Diego, CA, USA.","DOI":"10.1145\/1094855.1094896"},{"key":"ref_26","doi-asserted-by":"crossref","unstructured":"Gl\u00fcck, R., and Lowry, M. (2005). Mapping Features to Models: A Template Approach Based on Superimposed Variants. Generative Programming and Component Engineering, Springer.","DOI":"10.1007\/11561347"},{"key":"ref_27","doi-asserted-by":"crossref","unstructured":"van der Linden, F.J. (2004). Towards a UML Profile for Software Product Lines. Software Product-Family Engineering, Springer.","DOI":"10.1007\/978-3-540-28630-1_7"},{"key":"ref_28","unstructured":"Clau\u00df, M., and Jena, I. (2001). Modeling variability with UML. GCSE 2001 Young Researchers Workshop, Springer."},{"key":"ref_29","doi-asserted-by":"crossref","unstructured":"Razavian, M., and Khosravi, R. (2008, January 7\u20138). Modeling Variability in Business Process Models Using UML. Proceedings of the Fifth International Conference on Information Technology: New Generations (ITNG 2008), Las Vegas, NV, USA.","DOI":"10.1109\/ITNG.2008.132"},{"key":"ref_30","first-page":"2374","article-title":"Systematic Management of Variability in UML-based Software Product Lines","volume":"16","author":"Junior","year":"2010","journal-title":"J. Univers. Comput. Sci."},{"key":"ref_31","doi-asserted-by":"crossref","unstructured":"Korherr, B., and List, B. (2007, January 3\u20137). A UML 2 Profile for Variability Models and their Dependency to Business Processes. Proceedings of the 18th International Workshop on Database and Expert Systems Applications (DEXA 2007), Regensburg, Germany.","DOI":"10.1109\/DEXA.2007.96"},{"key":"ref_32","first-page":"285","article-title":"Extending the UML for modeling variability for system families","volume":"12","author":"Robak","year":"2002","journal-title":"Int. J. Appl. Math. Comput. Sci"},{"key":"ref_33","doi-asserted-by":"crossref","first-page":"1","DOI":"10.5381\/jot.2021.20.3.a4","article-title":"Automatic Generation of Configuration Files: An Experience Report from the Railway Domain","volume":"20","author":"Ferko","year":"2021","journal-title":"J. Object Technol."},{"key":"ref_34","unstructured":"(2022, October 16). The C Preprocessor: ConditionalsExpress\u2014Node.js Web Application Framework. Available online: https:\/\/gcc.gnu.org\/onlinedocs\/gcc-3.0.2\/cpp_4.html."},{"key":"ref_35","unstructured":"(2022, October 16). Munge\u2014Simple Java Preprocessor. Available online: https:\/\/github.com\/sonatype\/munge-maven-plugin."},{"key":"ref_36","unstructured":"(2022, October 16). Antenna\u2014An Ant-to-End Solution For Wireless Java. Available online: http:\/\/antenna.sourceforge.net."},{"key":"ref_37","doi-asserted-by":"crossref","first-page":"179","DOI":"10.1145\/2364412.2364442","article-title":"Exploiting Software Product Lines to Develop Cloud Computing Applications","volume":"Volume 2","author":"Cavalcante","year":"2012","journal-title":"Proceedings of the 16th International Software Product Line Conference, SPLC \u201912"},{"key":"ref_38","unstructured":"Lee, K.C.A., Segarra, M.T., and Guelec, S. (2014, January 7\u20139). A deployment-oriented development process based on context variability modeling. Proceedings of the 2014 2nd International Conference on Model-Driven Engineering and Software Development (MODELSWARD), Lisbon, Portugal."},{"key":"ref_39","unstructured":"Weyns, D., Mirandola, R., and Crnkovic, I. (2015). Using Feature Models for Distributed Deployment in Extended Smart Home Architecture. Software Architecture, Springer International Publishing."},{"key":"ref_40","doi-asserted-by":"crossref","unstructured":"Jamshidi, P., and Pahl, C. (2015). Orthogonal Variability Modeling to Support Multi-cloud Application Configuration. Communications in Computer and Information Science, Springer International Publishing.","DOI":"10.1007\/978-3-319-14886-1_23"},{"key":"ref_41","doi-asserted-by":"crossref","unstructured":"Kumara, I.P., Ariz, M., Baruwal Chhetri, M., Mohammadi, M., Heuvel, W.J.V.D., and Tamburri, D.A.A. (2022). FOCloud: Feature Model Guided Performance Prediction and Explanation for Deployment Configurable Cloud Applications. IEEE Trans. Serv. Comput.","DOI":"10.1109\/SERVICES55459.2022.00032"},{"key":"ref_42","doi-asserted-by":"crossref","unstructured":"Saller, K., Lochau, M., and Reimund, I. (2013, January 26\u201330). Context-Aware DSPLs: Model-Based Runtime Adaptation for Resource-Constrained Systems. Proceedings of the 17th International Software Product Line Conference Co-Located Workshops, SPLC \u201913 Workshops, Tokyo, Japan.","DOI":"10.1145\/2499777.2500716"},{"key":"ref_43","doi-asserted-by":"crossref","unstructured":"Hochgeschwender, N., Gherardi, L., Shakhirmardanov, A., Kraetzschmar, G.K., Brugali, D., and Bruyninckx, H. (2013, January 3\u20137). A model-based approach to software deployment in robotics. Proceedings of the 2013 IEEE\/RSJ International Conference on Intelligent Robots and Systems, Tokyo, Japan.","DOI":"10.1109\/IROS.2013.6696915"},{"key":"ref_44","doi-asserted-by":"crossref","unstructured":"Dearle, A., and Eisenbach, S. (2005). Modelling Deployment Using Feature Descriptions and State Models for Component-Based Software Product Families. Component Deployment, Springer.","DOI":"10.1007\/11590712"},{"key":"ref_45","doi-asserted-by":"crossref","unstructured":"Mietzner, R., and Leymann, F. (2010, January 13\u201315). A Self-Service Portal for Service-Based Applications. Proceedings of the IEEE International Conference on Service-Oriented Computing and Applications (SOCA 2010), Perth, Australia.","DOI":"10.1109\/SOCA.2010.5707165"},{"key":"ref_46","unstructured":"Mietzner, R. (2010). A Method and Implementation to Define and Provision Variable Composite Applications, and Its Usage in Cloud Computing. [Ph.D. Thesis, Universit\u00e4t Stuttgart, Fakult\u00e4t Informatik, Elektrotechnik und Informationstechnik]."},{"key":"ref_47","unstructured":"Society, I.C. (2009, January 1\u20134). Combining Different Multi-Tenancy Patterns in Service-Oriented Applications. Proceedings of the 13th IEEE Enterprise Distributed Object Conference (EDOC 2009), Auckland, New Zealand."},{"key":"ref_48","doi-asserted-by":"crossref","first-page":"59","DOI":"10.1080\/17517575.2010.492950","article-title":"Horizontal and Vertical Combination of Multi-Tenancy Patterns in Service-Oriented Applications","volume":"5","author":"Mietzner","year":"2010","journal-title":"Enterp. Inf. Syst."},{"key":"ref_49","doi-asserted-by":"crossref","unstructured":"Mietzner, R., Fehling, C., Karastoyanova, D., and Leymann, F. (2010, January 13\u201315). Combining horizontal and vertical composition of services. Proceedings of the IEEE International Conference on Service Oriented Computing and Applications (SOCA 2010), Perth, Australia.","DOI":"10.1109\/SOCA.2010.5707142"},{"key":"ref_50","doi-asserted-by":"crossref","unstructured":"Koetter, F., Kochanowski, M., Renner, T., Fehling, C., and Leymann, F. (2013, January 16\u201318). Unifying Compliance Management in Adaptive Environments through Variability Descriptors (Short Paper). Proceedings of the 6th IEEE International Conference on Service Oriented Computing and Applications (SOCA), Koloa, HI, USA.","DOI":"10.1109\/SOCA.2013.23"},{"key":"ref_51","doi-asserted-by":"crossref","unstructured":"Koetter, F., Kintz, M., Kochanowski, M., Fehling, C., Gildein, P., Leymann, F., and Weisbecker, A. (2016, January 23\u201325). Unified Compliance Modeling and Management using Compliance Descriptors. Proceedings of the 6th International Conference on Cloud Computing and Services Science\u2014Volume 2: CLOSER, INSTICC, Rome, Italy.","DOI":"10.5220\/0005754501590170"},{"key":"ref_52","doi-asserted-by":"crossref","unstructured":"Mietzner, R., and Leymann, F. (2008, January 8\u201311). Generation of BPEL Customization Processes for SaaS Applications from Variability Descriptors. Proceedings of the International Conference on Services Computing, Industry Track, SCC, Honolulu, HI, USA.","DOI":"10.1109\/SCC.2008.85"},{"key":"ref_53","doi-asserted-by":"crossref","unstructured":"Mietzner, R., Unger, T., and Leymann, F. (2009, January 1\u20136). Cafe: A Generic Configurable Customizable Composite Cloud Application Framework. Proceedings of the On the Move to Meaningful Internet Systems: OTM 2009 (CoopIS 2009), Vilamoura, Portugal.","DOI":"10.1007\/978-3-642-05148-7_24"},{"key":"ref_54","doi-asserted-by":"crossref","unstructured":"Fehling, C., Leymann, F., and Mietzner, R. (2010, January 5\u201310). A Framework for Optimized Distribution of Tenants in Cloud Applications. Proceedings of the 2010 IEEE International Conference on Cloud Computing (CLOUD 2010), Miami, FL, USA.","DOI":"10.1109\/CLOUD.2010.33"},{"key":"ref_55","doi-asserted-by":"crossref","unstructured":"Mietzner, R., and Leymann, F. (2008, January 6\u201311). Towards Provisioning the Cloud: On the Usage of Multi-Granularity Flows and Services to Realize a Unified Provisioning Infrastructure for SaaS Applications. Proceedings of the International Congress on Services (SERVICES 2008), Honolulu, HI, USA.","DOI":"10.1109\/SERVICES-1.2008.36"},{"key":"ref_56","first-page":"188","article-title":"Composite as a Service: Cloud Application Structures, Provisioning, and Management","volume":"53","author":"Fehling","year":"2011","journal-title":"It Inf. Technol."},{"key":"ref_57","doi-asserted-by":"crossref","unstructured":"De Paoli, F., Pimentel, E., and Zavattaro, G. (2012). A Model-Driven Approach for Virtual Machine Image Provisioning in Cloud Computing. Service-Oriented and Cloud Computing, Springer.","DOI":"10.1007\/978-3-642-33427-6"},{"key":"ref_58","doi-asserted-by":"crossref","unstructured":"Quinton, C., Romero, D., and Duchien, L. (2014, January 2\u201327). Automated Selection and Configuration of Cloud Environments Using Software Product Lines Principles. Proceedings of the 2014 IEEE 7th International Conference on Cloud Computing, Anchorage, AK, USA.","DOI":"10.1109\/CLOUD.2014.29"},{"key":"ref_59","doi-asserted-by":"crossref","unstructured":"Gui, N., De Florio, V., Sun, H., and Blondia, C. (2008, January 1\u20135). A Framework for Adaptive Real-Time Applications: The Declarative Real-Time OSGi Component Model. Proceedings of the 7th Workshop on Reflective and Adaptive Middleware, ARM \u201908, Leuven, Belgium.","DOI":"10.1145\/1462716.1462722"},{"key":"ref_60","unstructured":"Anthony, R.J., Chen, D., Pelc, M., Persson, M., and Torngren, M. (2009). Context-aware adaptation in DySCAS. Electron. Commun. EASST, 19."},{"key":"ref_61","doi-asserted-by":"crossref","unstructured":"Alkhabbas, F., Murturi, I., Spalazzese, R., Davidsson, P., and Dustdar, S. (2020, January 16\u201320). A Goal-Driven Approach for Deploying Self-Adaptive IoT Systems. Proceedings of the 2020 IEEE International Conference on Software Architecture (ICSA), Salvador, Brazil.","DOI":"10.1109\/ICSA47634.2020.00022"},{"key":"ref_62","doi-asserted-by":"crossref","first-page":"41","DOI":"10.1109\/MC.2003.1160055","article-title":"The vision of autonomic computing","volume":"36","author":"Kephart","year":"2003","journal-title":"Computer"},{"key":"ref_63","doi-asserted-by":"crossref","first-page":"224","DOI":"10.1016\/j.jnca.2006.12.002","article-title":"CADeComp: Context-aware deployment of component-based applications","volume":"31","author":"Ayed","year":"2008","journal-title":"J. Netw. Comput. Appl."},{"key":"ref_64","unstructured":"Ayed, D., Taconet, C., Bernard, G., and Berbers, Y. (2006, January 26\u201329). An Adaptation Methodology for the Deployment of Mobile Component-based Applications. Proceedings of the 2006 ACS\/IEEE International Conference on Pervasive Services, Lyon, France."},{"key":"ref_65","doi-asserted-by":"crossref","first-page":"693","DOI":"10.1007\/s10922-020-09531-2","article-title":"Configurable Deployment Descriptor Model in NFV","volume":"28","author":"Atoui","year":"2020","journal-title":"J. Netw. Syst. Manag."},{"key":"ref_66","first-page":"1","article-title":"Utility-Based Decision Making for Migrating Cloud-Based Applications","volume":"18","author":"Andrikopoulos","year":"2018","journal-title":"ACM Trans. Internet Technol."},{"key":"ref_67","unstructured":"Margaria, T., and Steffen, B. (2014). Deployment Variability in Delta-Oriented Models. Leveraging Applications of Formal Methods, Verification and Validation. Technologies for Mastering Change, Springer."},{"key":"ref_68","unstructured":"(2022, October 16). The ABS Modeling Language. Available online: https:\/\/abs-models.org."},{"key":"ref_69","first-page":"77","article-title":"Delta-oriented programming of software product lines","volume":"Volume 6287","author":"Schaefer","year":"2010","journal-title":"Lecture Notes in Computer Science (Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)"},{"key":"ref_70","doi-asserted-by":"crossref","unstructured":"Schaefer, I., and Damiani, F. (2010, January 10). Pure Delta-Oriented Programming. Proceedings of the 2nd International Workshop on Feature-Oriented Software Development, FOSD \u201910, Eindhoven, The Netherlands.","DOI":"10.1145\/1868688.1868696"},{"key":"ref_71","doi-asserted-by":"crossref","first-page":"107","DOI":"10.1145\/1327452.1327492","article-title":"MapReduce","volume":"51","author":"Dean","year":"2008","journal-title":"Commun. ACM"},{"key":"ref_72","unstructured":"Kraetzschmar, G.K., Shakhimardanov, A., Paulus, J., Hochgeschwender, N., and Reckhaus, M. (2010). Best Practice in Robotics. Deliverable D-2.2: Specifications of Architectures, Modules, Modularity, and Interfaces for the BROCTE Software Platform and Robot Control Architecture Workbench, Bonn-Rhine-Sieg University."},{"key":"ref_73","doi-asserted-by":"crossref","unstructured":"Breitenb\u00fccher, U., Binz, T., Kopp, O., Leymann, F., and Wieland, M. (2015). Context-Aware Provisioning and Management of Cloud Applications. Cloud Computing and Services Science, Springer. Communications in Computer and Information Science.","DOI":"10.1007\/978-3-319-25414-2_10"},{"key":"ref_74","unstructured":"(2022, October 16). Terraform\u2014The Count Meta-Argument. Available online: https:\/\/terraform.io\/language\/meta-arguments\/count."},{"key":"ref_75","unstructured":"(2022, October 16). Ansible\u2014Conditionals. Available online: https:\/\/docs.ansible.com\/ansible\/6\/user_guide\/playbooks_conditionals.html."},{"key":"ref_76","unstructured":"(2022, October 16). Jinja2. Available online: https:\/\/jinja.palletsprojects.com."},{"key":"ref_77","doi-asserted-by":"crossref","unstructured":"Harzenetter, L., Breitenb\u00fccher, U., Falkenthal, M., Guth, J., Krieger, C., and Leymann, F. (2018, January 17\u201320). Pattern-based Deployment Models and Their Automatic Execution. Proceedings of the 11th IEEE\/ACM International Conference on Utility and Cloud Computing (UCC 2018). IEEE Computer Society, Zurich, Switzerland.","DOI":"10.1109\/UCC.2018.00013"},{"key":"ref_78","unstructured":"Harzenetter, L., Breitenb\u00fccher, U., Falkenthal, M., Guth, J., and Leymann, F. (2020, January 25\u201329). Pattern-based Deployment Models Revisited: Automated Pattern-driven Deployment Configuration. Proceedings of the Twelfth International Conference on Pervasive Patterns and Applications (PATTERNS 2020), Nice, France."},{"key":"ref_79","unstructured":"Knape, S. (2015). Dynamic Automated Selection and Deployment of Software Components within a Heterogeneous Multi-Platform Environment. [Master\u2019s Thesis, Utrecht University]."},{"key":"ref_80","first-page":"247","article-title":"Automatic Topology Completion of TOSCA-based Cloud Applications","volume":"Volume 232","author":"Hirmer","year":"2014","journal-title":"Proceedings des CloudCycle14 Workshops auf der 44. Jahrestagung der Gesellschaft f\u00fcr Informatik e.V. (GI)"},{"key":"ref_81","doi-asserted-by":"crossref","unstructured":"Saatkamp, K., Breitenb\u00fccher, U., Leymann, F., and Wurster, M. (2017, January 4\u20136). Generic Driver Injection for Automated IoT Application Deployments. Proceedings of the 19th International Conference on Information Integration and Web-based Applications & Services, Salzburg, Austria.","DOI":"10.1145\/3151759.3151789"},{"key":"ref_82","doi-asserted-by":"crossref","unstructured":"Saatkamp, K., Breitenb\u00fccher, U., Kopp, O., and Leymann, F. (2017, January 24\u201326). Topology Splitting and Matching for Multi-Cloud Deployments. Proceedings of the 7th International Conference on Cloud Computing and Services Science (CLOSER 2017), Porto, Portugal.","DOI":"10.5220\/0006371002750286"},{"key":"ref_83","doi-asserted-by":"crossref","unstructured":"Kuroda, T., Kuwahara, T., Maruyama, T., Satoda, K., Shimonishi, H., Osaki, T., and Matsuda, K. (2019, January 9\u201314). Weaver: A Novel Configuration Designer for IT\/NW Services in Heterogeneous Environments. Proceedings of the 2019 IEEE Global Communications Conference (GLOBECOM), Big Island, HI, USA.","DOI":"10.1109\/GLOBECOM38437.2019.9014133"},{"key":"ref_84","doi-asserted-by":"crossref","unstructured":"Inzinger, C., Nastic, S., Sehic, S., V\u00f6gler, M., Li, F., and Dustdar, S. (2014, January 7\u201311). MADCAT: A Methodology for Architecture and Deployment of Cloud Application Topologies. Proceedings of the 2014 IEEE 8th International Symposium on Service Oriented System Engineering, Oxford, UK.","DOI":"10.1109\/SOSE.2014.9"},{"key":"ref_85","unstructured":"(2022, October 16). Go Templating Engine. Available online: https:\/\/pkg.go.dev\/text\/template."},{"key":"ref_86","unstructured":"(2022, October 16). Helm. Available online: https:\/\/helm.sh."},{"key":"ref_87","unstructured":"(2022, October 16). Embedded JavaScript Templating. Available online: https:\/\/ejs.co."},{"key":"ref_88","unstructured":"(2022, October 16). Pug. Available online: https:\/\/pugjs.org."},{"key":"ref_89","unstructured":"(2022, October 16). Express. Available online: https:\/\/expressjs.com."}],"container-title":["Algorithms"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/1999-4893\/15\/10\/382\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,11]],"date-time":"2025-10-11T00:56:59Z","timestamp":1760144219000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/1999-4893\/15\/10\/382"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022,10,19]]},"references-count":89,"journal-issue":{"issue":"10","published-online":{"date-parts":[[2022,10]]}},"alternative-id":["a15100382"],"URL":"https:\/\/doi.org\/10.3390\/a15100382","relation":{},"ISSN":["1999-4893"],"issn-type":[{"type":"electronic","value":"1999-4893"}],"subject":[],"published":{"date-parts":[[2022,10,19]]}}}