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

Automated detection of design patterns in declarative deployment models

Published: 17 December 2021 Publication History

Abstract

In recent years, many different deployment automation technologies have been developed to automatically deploy cloud applications. Most of these technologies employ declarative deployment models to describe the deployment of a cloud application by modeling its components, their configurations as well as the relations between them. However, while modeling the deployment of cloud applications declaratively is intuitive, declarative deployment models quickly become complex as they often contain detailed information about the application's components and their configurations. As a result, immense technical expertise is typically required to understand the semantics of a declarative deployment model, i. e., what gets deployed and how the components behave. In this paper, we present an approach that automatically detects design patterns in declarative deployment models. This eases understanding the semantics of deployment models as only the abstract and high-level semantics of the detected patterns must be known instead of technical details about components, relations, and configurations. We demonstrate an open-source implementation based on the Topology and Orchestration Specification for Cloud Applications (TOSCA) and the graphical open-source modeling tool Winery. In addition, we present a detailed case study showing how our approach can be applied in practice using the presented prototype.

References

[1]
Christopher Alexander, Sara Ishikawa, and Murray Silverstein. 1977. A Pattern Language: Towns, Buildings, Construction. Oxford University Press.
[2]
William Arnold, Tamar Eilam, Michael Kalantar, Alexander V. Konstantinou, and Alexander A. Totok. 2007. Pattern Based SOA Deployment. In ICSOC 2007. Springer, 1--12.
[3]
William Arnold, Tamar Eilam, Michael Kalantar, Alexander V. Konstantinou, and Alexander A. Totok. 2008. Automatic Realization of SOA Deployment Patterns in Distributed Environments. In ICSOC 2008. Springer, 162--179.
[4]
Alexander Bergmayr, Uwe Breitenbücher, Nicolas Ferry, Alessandro Rossini, Arnor Solberg, Manuel Wimmer, Gerti Kappel, and Frank Leymann. 2018. A Systematic Review of Cloud Modeling Languages. ACM Computing Surveys (CSUR) 51, 1 (Feb. 2018), 1--38.
[5]
Nemania Borovits, Indika Kumara, Parvathy Krishnan, Stefano Dalla Palma, Dario Di Nucci, Fabio Palomba, Damian A. Tamburri, and Willem-Jan van den Heuvel. 2020. DeepIaC: Deep Learning-Based Linguistic Anti-Pattern Detection in IaC (MaLTeSQuE 2020). Association for Computing Machinery, NY, USA, 7--12.
[6]
Uwe Breitenbücher, Christian Endres, Kálmán Képes, Oliver Kopp, Frank Leymann, Sebastian Wagner, Johannes Wettinger, and Michael Zimmermann. 2016. The OpenTOSCA Ecosystem - Concepts & Tools. European Space project on Smart Systems, Big Data, Future Internet - Towards Serving the Grand Societal Challenges - Volume 1: EPS Rome 2016 (Dec. 2016), 112--130.
[7]
Uwe Breitenbücher, Kálmán Képes, Frank Leymann, and Michael Wurster. 2017. Declarative vs. Imperative: How to Model the Automated Deployment of IoT Applications?. In Proceedings of the 11th Advanced Summer School on Service Oriented Computing. IBM Research Division, 18--27.
[8]
S. Jeromy Carrière and Rick Kazman. 1998. The perils of reconstructing architectures. In ISAW '98. ACM Press, New York, New York, USA, 13--16.
[9]
Beniamino Di Martino, Giuseppina Cretella, and Antonio Esposito. 2017. Cloud services composition through cloud patterns: a semantic-based approach. Soft Computing 21, 16 (2017), 4557--4570.
[10]
T. Eilam, M.H. Kalantar, A.V. Konstantinou, G. Pacifici, J. Pershing, and A. Agrawal. 2006. Managing the configuration complexity of distributed applications in Internet data centers. Communications Magazine 44, 3 (March 2006), 166--177.
[11]
Christian Endres, Uwe Breitenbücher, Michael Falkenthal, Oliver Kopp, Frank Leymann, and Johannes Wettinger. 2017. Declarative vs. Imperative: Two Modeling Patterns for the Automated Deployment of Applications. In PATTERNS 2017. Xpert Publishing Services, 22--27.
[12]
Michael Falkenthal, Johanna Barzen, Uwe Breitenbücher, Christoph Fehling, and Frank Leymann. 2014. Efficient Pattern Application: Validating the Concept of Solution Implementations in Different Domains. International Journal On Advances in Software 7, 3&4 (Dec. 2014), 710--726.
[13]
Michael Falkenthal, Johanna Barzen, Uwe Breitenbücher, Christoph Fehling, and Frank Leymann. 2014. From Pattern Languages to Solution Implementations. In PATTERNS 2014. Xpert Publishing Services, 12--21.
[14]
Michael Falkenthal, Johanna Barzen, Uwe Breitenbücher, Christoph Fehling, Frank Leymann, Aristotelis Hadjakos, Frank Hentschel, and Heizo Schulze. 2015. Leveraging Pattern Application via Pattern Refinement. In PURPLSOC 2015. epubli.
[15]
Christoph Fehling, Frank Leymann, Ralph Retter, Walter Schupeck, and Peter Arbitter. 2014. Cloud Computing Patterns: Fundamentals to Design, Build, and Manage Cloud Applications. Springer. 367 pages.
[16]
Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. 1994. Design Patterns: Elements of Reusable Object-oriented Software. Addison-Wesley.
[17]
Daniel Guamán, Jennifer Pérez, Jessica Diaz, and Carlos E. Cuesta. 2020. Towards a reference process for software architecture reconstruction. IET Software 14, 6 (dec 2020), 592--606.
[18]
Jason Hallstrom and Neelam Soundarajan. 2009. Reusing patterns through design refinement. In International Conference on Software Reuse. Springer, 225--235.
[19]
Lukas Harzenetter. 2021. Video: Automated Detection of Design Patterns in Declarative Deployment Models. https://vimeo.com/543231040 2021-04-30.
[20]
Lukas Harzenetter, Tobias Binz, Uwe Breitenbücher, Frank Leymann, and Michael Wurster. 2021. Automated Generation of Management Workflows for Running Applications by Deriving and Enriching Instance Models. In CLOSER 2021. SciTePress, 99--110.
[21]
Lukas Harzenetter, Uwe Breitenbücher, Michael Falkenthal, Jasmin Guth, Christoph Krieger, and Frank Leymann. 2018. Pattern-based Deployment Models and Their Automatic Execution. In UCC 2018. IEEE, 41--52.
[22]
Lukas Harzenetter, Uwe Breitenbücher, Michael Falkenthal, Jasmin Guth, and Frank Leymann. 2020. Pattern-based Deployment Models Revisited: Automated Pattern-driven Deployment Configuration. In PATTERNS 2020. Xpert Publishing Services, 40--49.
[23]
Gregor Hohpe and Bobby Woolf. 2004. Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions. Addison-Wesley.
[24]
Rick Kazman and S. Jeromy Carriere. 1998. View extraction and view fusion in architectural understanding. In International Conference on Software Reuse.
[25]
Oliver Kopp, Tobias Binz, Uwe Breitenbücher, and Frank Leymann. 2013. Winery --- A Modeling Tool for TOSCA-based Cloud Applications. In ICSOC 2013. Springer, 700--704.
[26]
Christoph Krieger, Uwe Breitenbücher, Kálmán Képes, and Frank Leymann. 2018. An Approach to Automatically Check the Compliance of Declarative Deployment Models. In SummerSoC 2018. IBM Research Division, 76--89.
[27]
Philippe B Kruchten. 1995. The 4+ 1 view model of architecture. IEEE software 12, 6 (1995), 42--50.
[28]
Indika Kumara, Zoe Vasileiou, Georgios Meditskos, Damian A Tamburri, Willem-Jan Van Den Heuvel, Anastasios Karakostas, Stefanos Vrochidis, and Ioannis Kompatsiaris. 2020. Towards Semantic Detection of Smells in Cloud Infrastructure Code. In Proceedings of the 10th International Conference on Web 1ntelligence, Mining and Semantics. 63--67.
[29]
Sebastian Lehrig. 2018. Efficiently Conducting Quality-of-Service Analyses by Templating Architectural Knowledge. Dissertation. University of Stuttgart, Faculty of Computer Science, Electrical Engineering, and Information Technology.
[30]
Frank Leymann and Johanna Barzen. 2021. Pattern Atlas. Lecture Notes in Computer Science 12521 (April 2021), 67--76.
[31]
Kief Morris. 2016. Infrastructure as code: managing servers in the cloud.
[32]
OASIS. 2013. Topology and Orchestration Specification for Cloud Applications (TOSCA) Version 1.0. Organization for the Advancement of Structured Information Standards (OASIS).
[33]
OASIS. 2020. TOSCA Simple Profile in YAML Version 1.3. Organization for the Advancement of Structured Information Standards (OASIS).
[34]
David Oppenheimer. 2003. The importance of understanding distributed system configuration. In CHI 2003. ACM.
[35]
Karoline Saatkamp, Uwe Breitenbücher, Michael Falkenthal, Lukas Harzenetter, and Frank Leymann. 2019. An Approach to Determine & Apply Solutions to Solve Detected Problems in Restructured Deployment Models Using First-Order Logic. In CLOSER 2019. SciTePress, 495--506.
[36]
Karoline Saatkamp, Uwe Breitenbücher, Oliver Kopp, and Frank Leymann. 2018. Application Scenarios for Automated Problem Detection in TOSCA Topologies by Formalized Patterns. In SummerSOC 2018. IBM Research Division, 43--53.
[37]
Karoline Saatkamp, Uwe Breitenbücher, Oliver Kopp, and Frank Leymann. 2019. An approach to automatically detect problems in restructured deployment models based on formalizing architecture and design patterns. SICS Software-Intensive Cyber-Physical Systems (Feb. 2019), 1--13.
[38]
Markus Schumacher, Eduardo Fernandez-Buglioni, Duane Hybertson, Frank Buschmann, and Peter Sommerlad. 2006. Security Patterns: Integrating Security and Systems Engineering. John Wiley & Sons, Inc. 565 pages.
[39]
Andy Schürr. 1995. Specification of graph translators with triple graph grammars. In Graph-Theoretic Concepts in Computer Science. Springer, 151--163.
[40]
Steve Strauch, Uwe Breitenbücher, Oliver Kopp, Frank Leymann, and Tobias Unger. 2012. Cloud Data Patterns for Confidentiality. In CLOSER 2012. SciTePress, 387--394.
[41]
Manuela Weigold, Johanna Barzen, Uwe Breitenbücher, Michael Falkenthal, Frank Leymann, and Karoline Wild. 2020. Pattern Views: Concept and Tooling of Interconnected Pattern Languages. In SummerSOC 2020. Springer International Publishing, 86--103.
[42]
Karoline Wild, Uwe Breitenbücher, Lukas Harzenetter, Frank Leymann, Daniel Vietz, and Michael Zimmermann. 2020. TOSCA4QC: Two Modeling Styles for TOSCA to Automate the Deployment and Orchestration of Quantum Applications. In EDOC 2020. IEEE, 125--134.
[43]
Michael Wurster, Uwe Breitenbücher, Antonio Brogi, Ghareeb Falazi, Lukas Harzenetter, Frank Leymann, Jacopo Soldani, and Vladimir Yussupov. 2019. The EDMM Modeling and Transformation System. In Service-Oriented Computing --- ICSOC 2019 Workshops. Springer.
[44]
Michael Wurster, Uwe Breitenbücher, Michael Falkenthal, Christoph Krieger, Frank Leymann, Karoline Saatkamp, and Jacopo Soldani. 2019. The Essential Deployment Metamodel: A Systematic Review of Deployment Automation Technologies. Software-Intensive Cyber-Physical Systems 35 (Aug. 2019), 63--75.
[45]
Michael Wurster, Uwe Breitenbücher, Lukas Harzenetter, Frank Leymann, Jacopo Soldani, and Vladimir Yussupov. 2020. TOSCA Light: Bridging the Gap between the TOSCA Specification and Production-ready Deployment Technologies. In CLOSER 2020. SciTePress, 216--226.
[46]
Vladimir Yussupov, Jacopo Soldani, Uwe Breitenbücher, Antonio Brogi, and Frank Leymann. [n.d.]. From Serverful to Serverless: A Spectrum of Patterns for Hosting Application Components. In CLOSER 2021. SciTePress. to appear.
[47]
Vladimir Yussupov, Jacopo Soldani, Uwe Breitenbücher, Antonio Brogi, and Frank Leymann. 2021. FaaSten your decisions: A classification framework and technology review of Function-as-a-Service platforms. Journal of Systems and Software 175 (May 2021).
[48]
Michael Zimmermann, Uwe Breitenbücher, Christoph Krieger, and Frank Leymann. 2018. Deployment Enforcement Rules for TOSCA-based Applications. In SECURWARE 2018. Xpert Publishing Services, 114--121.

Cited By

View all
  • (2022)Serverless or Serverful? A Pattern-Based Approach for Exploring Hosting AlternativesService-Oriented Computing10.1007/978-3-031-18304-1_3(45-67)Online publication date: 1-Oct-2022

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
UCC '21: Proceedings of the 14th IEEE/ACM International Conference on Utility and Cloud Computing
December 2021
214 pages
ISBN:9781450385640
DOI:10.1145/3468737
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

In-Cooperation

  • CIMPA: International Center for Pure and Applied Mathematics

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 17 December 2021

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. TOSCA
  2. declarative deployment models
  3. design patterns
  4. eclipse winery
  5. pattern detection

Qualifiers

  • Research-article

Funding Sources

  • German Research Foundation (DFG) project SustainLife
  • Federal Ministry for Economic Affairs and Energy (BMWi) project PlanQK
  • German Research Foundation (DFG) project IAC²

Conference

UCC '21
Sponsor:

Acceptance Rates

UCC '21 Paper Acceptance Rate 21 of 62 submissions, 34%;
Overall Acceptance Rate 38 of 125 submissions, 30%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)25
  • Downloads (Last 6 weeks)3
Reflects downloads up to 25 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2022)Serverless or Serverful? A Pattern-Based Approach for Exploring Hosting AlternativesService-Oriented Computing10.1007/978-3-031-18304-1_3(45-67)Online publication date: 1-Oct-2022

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media