Skip to main content
Log in

An approach to automatically detect problems in restructured deployment models based on formalizing architecture and design patterns

  • Special Issue Paper
  • Published:
SICS Software-Intensive Cyber-Physical Systems

Abstract

For the automated deployment of applications, technologies exist which can process topology-based deployment models that describes the application’s structure with its components and their relations. The topology-based deployment model of an application can be adapted for the deployment in different environments. However, the structural changes can lead to problems, which had not existed before and prevent a functional deployment. This includes security issues, communication restrictions, or incompatibilities. For example, a formerly over the internal network established insecure connection leads to security problems when using the public network after the adaptation. In order to solve problems in adapted deployment models, first the problems have to be detected. Unfortunately, detecting such problems is a highly non-trivial challenge that requires deep expertise about the involved technologies and the environment. In this paper, we present (1) an approach for detecting problems in deployment models using architecture and design patterns and (2) the automation of the detection process by formalizing the problem a pattern solves in a certain context. We validate the practical feasibility of our approach by a prototypical implementation for the automated problem detection in TOSCA topologies.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6

Similar content being viewed by others

Notes

  1. https://www.ansible.com/.

  2. https://www.cloudfoundry.org/.

  3. A comparison of different cloud modeling languages can be found in Bergmayr et al. [4].

  4. The mapping to TOSCA is based on the XML specification of TOSCA, but the concepts can also be applied to the TOSCA Simple Profile [30].

  5. https://eclipse.github.io/winery.

  6. https://github.com/saatkamp/topology-prodec.

  7. http://www.swi-prolog.org/.

References

  1. Alexander C, Ishikawa S, Silverstein M (1977) A pattern language: towns, buildings, construction. Oxford University Press, Oxford

    Google Scholar 

  2. Arnold W, Eilam T, Kalantar M, Konstantinou AV, Totok AA (2007) Pattern based SOA deployment. In: Proceedings of the fifth international conference on service-oriented computing. Springer, New York, pp 1–12

  3. Bergenti F, Poggi A (2002) Improving UML designs using automatic design pattern detection. World Scientific, Singapore, pp 771–784

    Google Scholar 

  4. Bergmayr A, Breitenbücher U, Ferry N, Rossini A, Solberg A, Wimmer M, Kappel G, Leymann F (2018) A systematic review of cloud modeling languages. ACM Comput. Surv. (CSUR) 51(1):22:1–22:38

    Article  Google Scholar 

  5. Breitenbücher U (2016) Eine musterbasierte Methode zur Automatisierung des Anwendungsmanagements. Dissertation, University of Stuttgart, Faculty 5

  6. Breitenbücher U, Binz T, Kopp O, Leymann F (2013) Pattern-based runtime management of composite cloud applications. In: Proceedings of the 3rd international conference on cloud computing and services science. SciTePress, pp 475–482

  7. Breitenbücher U, Binz T, Kopp O, Leymann F, Wettinger J (2013) Integrated cloud application provisioning: interconnecting service-centric and script-centric management technologies. In: On the move to meaningful internet systems. Springer, New York, pp 130–148

  8. Breitenbücher U, Binz T, Kopp O, Leymann F (2014) Automating cloud application management using management idioms. In: Proceedings of the 6th international conferences on pervasive patterns and applications. Xpert Publishing Services, Wilmington, pp 60–69

  9. Breitenbücher U, Binz T, Kopp O, Leymann F, Wieland M (2014) Context-aware cloud application management. In: Proceedings of the 4th international conference on cloud computing and services science. SciTePress, pp 499–509

  10. Buschmann F, Meunier R, Rohnert H, Sommerlad P, Stal M (1996) Pattern-oriented software architecture, volume 1: a system of patterns. Wiley, New York

    Google Scholar 

  11. Clocksin WF, Mellish CS (2003) Programming in prolog. Springer, New York

    Book  MATH  Google Scholar 

  12. Cortellessa V, Marco AD, Trubiani C (2014) An approach for modeling and detecting software performance antipatterns based on first-order logics. Softw. Syst. Model. 13(1):391–432

    Article  Google Scholar 

  13. Di Martino B, Esposito A (2016) A rule-based procedure for automatic recognition of design patterns in uml diagrams. Softw. Pract. Exp. 46(7):983–1007

    Article  Google Scholar 

  14. Eilam T, Kalantar M, Konstantinou A, Pacifici G, Pershing J, Agrawal A (2006) Managing the configuration complexity of distributed applications in Internet data centers. Commun. Mag. 44(3):166–177

    Article  Google Scholar 

  15. Endres C, Breitenbücher U, Falkenthal M, Kopp O, Leymann F, Wettinger J (2017) Declarative vs. imperative: two modeling patterns for the automated deployment of applications. In: Proceedings of the 9th international conference on pervasive patterns and applications. Xpert Publishing Services, Wilmington, pp 22–27

  16. Falkenthal M, Barzen J, Breitenbücher U, Fehling C, Leymann F, Hadjakos A, Hentschel F, Schulze H (2015) Leveraging pattern application via pattern refinement. In: Proceedings of the international conference on pursuit of pattern languages for societal change (epublication)

  17. Fehling C, Leymann F, Retter R, Schupeck W, Arbitter P (2014) Cloud computing patterns: fundamentals to design, build, and manage cloud applications. Springer, New York

    Book  Google Scholar 

  18. Fontana FA, Zanoni M (2011) A tool for design pattern detection and software architecture reconstruction. Inf Sci 181(7):1306–1324

    Article  Google Scholar 

  19. Gamma E, Helm R, Johnson R, Vlissides J (1994) Design patterns: elements of reusable object-oriented software. Addison-Wesley, Boston

    MATH  Google Scholar 

  20. Guth J, Leymann F (2018) Towards pattern-based rewrite and refinement of application architectures. In: Proceedings of the 12th advanced summer school on service oriented computing, IBM Research Division

  21. Haitzer T, Zdun U (2015) Semi-automatic architectural pattern identification and documentation using architectural primitives. J Syst Softw 102:35–57

    Article  Google Scholar 

  22. Hohpe G, Woolf B (2004) Enterprise integration patterns: designing, building, and deploying messaging solutions. Addison-Wesley Professional, Boston

    Google Scholar 

  23. Jamshidi P, Pahl C, Chinenyeze S, Liu X (2014) Cloud migration patterns: a multi-cloud service architecture perspective. In: Service-oriented computing—ICSOC 2014 workshops. Springer, Berlin, pp 6–19

  24. Kampffmeyer H, Zschaler S (2007) Finding the pattern you need: the design pattern intent ontology. In: International conference on model driven engineering languages and systems. Springer, New York, pp 211–225

  25. Kim DK, Khawand CE (2007) An approach to precisely specifying the problem domain of design patterns. J Vis Lang Comput 18(6):560–591

    Article  Google Scholar 

  26. Kopp O, Binz T, Breitenbücher U, Leymann F (2013) Winery—a modeling tool for TOSCA-based cloud applications. In: Proceedings of the 11th international conference on service-oriented computing. Springer, New York, pp 700–704

  27. Lim DK, Lu L (2006) Inference of design pattern instances in UML models via logic programming. In: 11th IEEE international conference on engineering of complex computer systems, IEEE, pp 10–29

  28. Meszaros G, Doble J (1997) MetaPatterns: a pattern language for pattern writing. In: Proceedings of international conference on pattern languages of program design, pp 164–200

  29. OASIS (2013) Topology and orchestration specification for cloud applications (TOSCA) Version 1.0

  30. OASIS (2016) TOSCA simple profile in YAML Version 1.0

  31. Saatkamp K, Breitenbücher U, Kopp O, Leymann F (2017) Topology splitting and matching for multi-cloud deployments. In: Proceedings of the 7th international conference on cloud computing and services science. SciTePress, pp 247–258

  32. Saatkamp K, Breitenbücher U, Kopp O, Leymann F (2018) Application scenarios for automated problem detection in TOSCA topologies by formalized patterns. In: Proceedings of the 12th advanced summer school on service oriented computing, IBM Research Division

  33. Schumacher M, Fernandez-Buglioni E, Hybertson D, Buschmann F, Sommerlad P (2006) Security patterns: integrating security and systems engineering. Wiley, New York

    Google Scholar 

  34. Strauch S, Andrikopoulos V, Breitenbücher U, Sáez SG, Kopp O, Leymann F (2013) Using patterns to move the application data layer to the cloud. In: Proceedings of the 5th international conference on pervasive patterns and applications. Xpert Publishing Services, pp 26–33

  35. Taibi T, Ngo DCL (2003) Formal specification of design patterns—a balanced approach. J Object Technol 2(4):127–140

    Article  Google Scholar 

  36. Wellhausen T, Fiesser A (2012) How to write a pattern? A rough guide for first-time pattern authors. In: Proceedings of the 16th European conference on pattern languages of programs. ACM

  37. Zdun U, Avgeriou P (2005) Modeling architectural patterns using architectural primitives. In: Proceedings of the 20th annual ACM SIGPLAN conference on object-oriented programming, systems, languages, and applications. ACM, pp 133–146

Download references

Acknowledgements

This work was partially funded by the BMWi projects IC4F (01MA17008G) and SmartOrchestra (01 MD16001F) and the German Research Foundation (DFG) Project ADDCompliance (636503).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Karoline Saatkamp.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Saatkamp, K., Breitenbücher, U., Kopp, O. et al. An approach to automatically detect problems in restructured deployment models based on formalizing architecture and design patterns. SICS Softw.-Inensiv. Cyber-Phys. Syst. 34, 85–97 (2019). https://doi.org/10.1007/s00450-019-00397-7

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00450-019-00397-7

Keywords

Navigation