skip to main content
10.1145/3603166.3632143acmconferencesArticle/Chapter ViewAbstractPublication PagesuccConference Proceedingsconference-collections
research-article

Enhancing Deployment Variability Management by Pruning Elements in Deployment Models

Published: 04 April 2024 Publication History

Abstract

Since applications often need to be deployed in different variants, deployment technologies, such as Ansible and Terraform, support modeling variability. Unfortunately, applications typically need the combination of multiple deployment technologies, which have proprietary and non-interoperable variability concepts. Therefore, variable deployment models have been introduced to model deployment variability across different technologies by assigning variability conditions to elements to specify their presence. However, the manual modeling of these conditions is repetitive, error-prone, and time-consuming. In this paper, we propose to reduce the modeling effort by a pruning concept, i.e., the automated removal of elements due to consistency issues and semantic aspects. To validate the practical feasibility, we implemented a prototype based on Open-TOSCA Vintner. Moreover, we present a case study that shows that the number of conditions to be modeled is significantly decreased.

References

[1]
Sofia Ananieva, Matthias Kowal, Thomas Thüm, and Ina Schaefer. 2016. Implicit Constraints in Partial Feature Models. In Proceedings of the 7th International Workshop on Feature-Oriented Software Development (FOSD 2016). ACM, 18--27.
[2]
Wesley K. G. Assunção, Roberto E. Lopez-Herrejon, Lukas Linsbauer, Silvia R. Vergilio, and Alexander Egyed. 2017. Reengineering legacy applications into software product lines: a systematic mapping. Empirical Software Engineering 22, 6 (Feb. 2017), 2972--3016.
[3]
Quentin Boucher, Andreas Classen, Patrick Heymans, Arnaud Bourdoux, and Laurent Demonceau. 2010. Tag and Prune: A Pragmatic Approach to Software Product Line Implementation. In Proceedings of the 25th IEEE/ACM International Conference on Automated Software Engineering (ASE '10). ACM, 333--336.
[4]
Matthias Clauß and Intershop Jena. 2001. Modeling variability with UML. In GCSE 2001 Young Researchers Workshop. Springer.
[5]
Krzysztof Czarnecki and Michał Antkiewicz. 2005. Mapping Features to Models: A Template Approach Based on Superimposed Variants. In Generative Programming and Component Engineering. Springer, Berlin, Heidelberg, 422--437.
[6]
Josh Dehlinger and Robyn R. Lutz. 2004. Software Fault Tree Analysis for Product Lines. In Eighth IEEE International Symposium on High Assurance Systems Engineering, 2004. Proceedings. 12--21.
[7]
Liliana Dobrica and Eila Niemelä. 2007. Modeling Variability in the Software Product Line Architecture of Distributed Services. In Proceedings of the 2007 International Conference on Software Engineering Research & Practice, SERP. CSREA Press, 269--275.
[8]
Liliana Dobrica and Eila Niemelä. 2008. A UML-Based Variability Specification For Product Line Architecture Views. In Proceedings of the Third International Conference on Software and Data Technologies. SciTePress.
[9]
D Faust and C Verhoef. 2003. Software product line migration and deployment. Software: Practice and Experience 33, 10 (2003), 933--955.
[10]
José A. Galindo, David Benavides, Pablo Trinidad, Antonio-Manuel Gutiérrez-Fernández, and Antonio Ruiz-Cortés. 2018. Automated analysis of feature models: Quo vadis? Computing 101, 5 (Aug. 2018), 387--433.
[11]
Iris Groher and Markus Voelter. 2007. Expressing Feature-Based Variability in Structural Models. In In Workshop on Managing Variability for Software Product Lines.
[12]
Lukas Harzenetter, Uwe Breitenbücher, Michael Falkenthal, Jasmin Guth, and Frank Leymann. 2020. Pattern-based Deployment Models Revisited: Automated Pattern-driven Deployment Configuration. In Proceedings of the Twelfth International Conference on Pervasive Patterns and Applications (PATTERNS 2020). Xpert Publishing Services, 40--49.
[13]
Edson A Oliveira Junior, Itana Maria de Souza Gimenes, and José Carlos Maldonado. 2010. Systematic Management of Variability in UML-based Software Product Lines. J. Univers. Comput. Sci. 16, 17 (2010), 2374--2393.
[14]
Kyo C Kang, Sholom G Cohen, James A Hess, William E Novak, and A Spencer Peterson. 1990. Feature-oriented domain analysis (FODA) feasibility study. Technical Report. Carnegie-Mellon Univ Pittsburgh Pa Software Engineering Inst.
[15]
Sander Knape. 2015. Dynamic Automated Selection and Deployment of Software Components within a Heterogeneous Multi-Platform Environment. Master's thesis. Utrecht University.
[16]
Birgit Korherr and Beate List. 2007. A UML 2 Profile for Variability Models and their Dependency to Business Processes. In 18th International Workshop on Database and Expert Systems Applications (DEXA 2007). 829--834.
[17]
Sebastian Krieter, Jacob Krüger, Thomas Leich, and Gunter Saake. 2023. VariantInc: Automatically Pruning and Integrating Versioned Software Variants. In Proceedings of the 27th ACM International Systems and Software Product Line Conference - Volume A (Tokyo, Japan) (SPLC '23). ACM, 129--140.
[18]
Ralph Mietzner. 2010. A Method and Implementation to Define and Provision Variable Composite Applications, and its Usage in Cloud Computing. Ph. D. Dissertation. University of Stuttgart.
[19]
OASIS. 2020. TOSCA Simple Profile in YAML Version 1.3. Organization for the Advancement of Structured Information Standards (OASIS).
[20]
David Oppenheimer. 2003. The importance of understanding distributed system configuration. In Proceedings of the 2003 Conference on Human Factors in Computer Systems workshop.
[21]
David Oppenheimer, Archana Ganapathi, and David A Patterson. 2003. Why do Internet services fail, and what can be done about it?. In 4th Usenix Symposium on Internet Technologies and Systems (USITS 03).
[22]
Andreas Pleuss, Benedikt Hauptmann, Deepak Dhungana, and Goetz Botterweck. 2012. User Interface Engineering for Software Product Lines: The Dilemma between Automation and Usability. In Proceedings of the 4th ACM SIGCHI Symposium on Engineering Interactive Computing Systems (Copenhagen, Denmark) (EICS '12). Association for Computing Machinery, New York, NY, USA, 25--34.
[23]
Klaus Pohl, Günter Böckle, and Frank van der Linden. 2005. Software Product Line Engineering. Springer Berlin Heidelberg.
[24]
Klaus Pohl and Andreas Metzger. 2018. Software Product Lines. Springer International Publishing, Cham, 185--201.
[25]
Clément Quinton, Daniel Romero, and Laurence Duchien. 2014. Automated Selection and Configuration of Cloud Environments Using Software Product Lines Principles. In 7th International Conference on Cloud Computing. IEEE.
[26]
Jacopo Soldani et al. 2022. Tailoring Technology-Agnostic Deployment Models to Production-Ready Deployment Technologies. In Cloud Computing and Services Science. Springer.
[27]
Jacopo Soldani, Tobias Binz, Uwe Breitenbücher, Frank Leymann, and Antonio Brogi. 2015. ToscaMart: A method for adapting and reusing cloud applications. Journal of Systems and Software 113 (Dec. 2015), 395--406.
[28]
Gustavo Sousa, Walter Rudametkin, and Laurence Duchien. 2016. Automated Setup of Multi-cloud Environments for Microservices Applications. In 2016 IEEE 9th International Conference on Cloud Computing (CLOUD). IEEE, 327--334.
[29]
Miles Stötzner, Steffen Becker, Uwe Breitenbücher, Képes Kálmán, and Frank Leymann. 2022. Modeling Different Deployment Variants of a Composite Application in a Single Declarative Deployment Model. Algorithms 15, 10 (Oct. 2022).
[30]
Miles Stötzner, Uwe Breitenbücher, Robin D. Pesl, and Steffen Becker. 2023. Managing the Variability of Component Implementations and Their Deployment Configurations Across Heterogeneous Deployment Technologies. In Cooperative Information Systems. Springer Nature Switzerland, 61--78.
[31]
Chang-ai Sun, Rowan Rossing, Marco Sinnema, Pavel Bulanov, and Marco Aiello. 2010. Modeling and managing the variability of Web service-based systems. Journal of Systems and Software 83, 3 (2010), 502--516.
[32]
Paul Temple, José A. Galindo, Mathieu Acher, and Jean-Marc Jézéquel. 2016. Using Machine Learning to Infer Constraints for Product Lines. In Proceedings of the 20th International Systems and Software Product Line Conference (Beijing, China) (SPLC '16). ACM, 209--218.
[33]
Markus Voelter and Iris Groher. 2007. Product Line Implementation using Aspect-Oriented and Model-Driven Software Development. In 11th International Software Product Line Conference (SPLC 2007). IEEE, 233--242.
[34]
Alexander Von Rhein, Alexander Grebhahn, Sven Apel, Norbert Siegmund, Dirk Beyer, and Thorsten Berger. 2015. Presence-Condition Simplification in Highly Configurable Systems. In 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, Vol. 1. IEEE, 178--188.
[35]
Andrzej Węsowski. 2004. Automatic Generation of Program Families by Model Restrictions. In Software Product Lines, Robert L. Nord (Ed.). Springer, 73--89.
[36]
Michael Wurster et al. 2019. The EDMM Modeling and Transformation System. In Service-Oriented Computing - ICSOC 2019 Workshops. Springer.
[37]
Michael Wurster et al. 2019. The Essential Deployment Metamodel: A Systematic Review of Deployment Automation Technologies. SICS Software-Intensive Cyber-Physical Systems 35 (Aug. 2019), 63--75.
[38]
Michael Wurster et al. 2021. Automating the Deployment of Distributed Applications by Combining Multiple Deployment Technologies. In Proceedings of the 11th International Conference on Cloud Computing and Services Science. SciTePress.
[39]
Tewfik Ziadi, Loïc Hélouët, and Jean-Marc Jézéquel. 2004. Towards a UML Profile for Software Product Lines. In Software Product-Family Engineering. Springer.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
UCC '23: Proceedings of the IEEE/ACM 16th International Conference on Utility and Cloud Computing
December 2023
502 pages
ISBN:9798400702341
DOI:10.1145/3603166
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 04 April 2024

Check for updates

Badges

Author Tags

  1. pruning
  2. deployment models
  3. variability management
  4. TOSCA

Qualifiers

  • Research-article

Funding Sources

  • Bundesministerium für Wirtschaft und Klimaschutz

Conference

UCC '23
Sponsor:

Acceptance Rates

Overall Acceptance Rate 38 of 125 submissions, 30%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 42
    Total Downloads
  • Downloads (Last 12 months)42
  • Downloads (Last 6 weeks)2
Reflects downloads up to 06 Jan 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media