Advertisement

On the algebraic properties of concrete solution aggregation

  • Michael FalkenthalEmail author
  • Uwe Breitenbücher
  • Johanna Barzen
  • Frank Leymann
Special Issue Paper
  • 3 Downloads

Abstract

Pattern languages are a pervasive means in many domains to capture proven solutions for recurring problems in an abstract manner. To improve reusability, they abstract from implementation details such as specific technologies or environments. However, while this abstraction provides a significant benefit as patterns can be applied to solve different manifestations of the general problem, this also leads to time-consuming efforts when patterns have to be applied as concrete solutions have to be elaborated and implemented over and over again. Moreover, as patterns are intended to be applied in combination with other patterns, the individual concrete solutions have to be aggregated into an overall solution, too. However, this immensely increases necessary expertise, required effort, and complexity. Therefore, we present a systematic approach that allows to (i) reuse and (ii) combine already developed concrete solutions on the basis of selected sequences of patterns. We establish the theory of solution algebras, which perceive concrete solutions and aggregation operators as mathematical objects. Thereby, domain-specific operators allow to combine and aggregate concrete solutions of patterns, which we validate in several different domains.

Keywords

Pattern language Solution aggregation Solution algebra Aggregation operator Pattern application 

Notes

Acknowledgements

This work was partially funded by the Project SePiA.Pro (01MD16013F) supported by the German Federal Ministry for Economic Affairs and Energy.

References

  1. 1.
    Alexander C, Ishikawa S, Silverstein M (1977) A pattern language: towns, buildings, construction. Oxford University Press, OxfordGoogle Scholar
  2. 2.
    Bayley I, Zhu H (2008) Specifying behavioural features of design patterns in first order logic. In: Proceedings of the international computer software and applications conference, pp 203–210Google Scholar
  3. 3.
    Breitenbücher U, Binz T, Kopp O, Leymann F (2013) Pattern-based runtime management of composite cloud applications. In: Proceedings of the 3\({{\rm rd}}\) international conference on cloud computing and services science, SciTePress, pp 475–482Google Scholar
  4. 4.
    Buschmann F, Meunier R, Rohnert H, Sommerlad P, Stal M (1996) Pattern-oriented software architecture, volume 1: a system of patterns. Wiley, HobokenGoogle Scholar
  5. 5.
    Di Martino B, Esposito A (2013) Towards a common semantic representation of design and cloud patterns. In: Proceedings of the 15\({{\rm th}}\) international conference on information integration and web-based applications and services, ACM, pp 385–389Google Scholar
  6. 6.
    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–1007Google Scholar
  7. 7.
    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 9\({{\rm th}}\) international conferences on pervasive patterns and applications, XPS, pp 22–27Google Scholar
  8. 8.
    Falkenthal M, Leymann F (2017) Easing pattern application by means of solution languages. In: Proceedings of the 9\({{\rm th}}\) international conferences on pervasive patterns and applications, XPS, pp 58–64Google Scholar
  9. 9.
    Falkenthal M, Jugel D, Zimmermann A, Reiners R, Reimann W, Pretz M (2012) Maturity assessments of service-oriented enterprise architectures with iterative pattern refinement. In: Lecture notes in informatics-informatik, pp 1095–1101Google Scholar
  10. 10.
    Falkenthal M, Barzen J, Breitenbücher U, Fehling C, Leymann F (2014a) Efficient pattern application: validating the concept of solution implementations in different domains. Int J Adv Softw 7(3&4):710–726Google Scholar
  11. 11.
    Falkenthal M, Barzen J, Breitenbücher U, Fehling C, Leymann F (2014b) From pattern languages to solution implementations. In: Proceedings of the 6\({{\rm th}}\) international conferences on pervasive patterns and applications, XPS, pp 12–21Google Scholar
  12. 12.
    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, epubli, BerlinGoogle Scholar
  13. 13.
    Falkenthal M, Barzen J, Breitenbücher U, Leymann F (2017) Solution languages: easing pattern composition in different domains. Int J Adv Softw 10(3&4):263–274Google Scholar
  14. 14.
    Fehling C, Leymann F, Retter R, Schupeck W, Arbitter P (2014) Cloud computing patterns: fundamentals to design, build, and manage cloud applications. Springer, BerlinCrossRefGoogle Scholar
  15. 15.
    Fehling C, Barzen J, Falkenthal M, Leymann F (2015) PatternPedia collaborative pattern identification and authoring. In: Proceedings of pursuit of pattern languages for societal change. The workshop 2014, pp 252–284Google Scholar
  16. 16.
    Furukawazono T, Studies I, Seshimo S, Studies I, Muramatsu D, Iba T (2013) Survival language: a pattern language for surviving earthquakes. In: Proceedings of the 20\({{\rm th}}\) conference on pattern languages of programs, ACM, p 30Google Scholar
  17. 17.
    Gamma E, Helm R, Johnson R, Vlissides J (1994) Design patterns: elements of reusable object-oriented software. Addison-Wesley, BostonzbMATHGoogle Scholar
  18. 18.
    Hohpe G, Woolf B (2004) Enterprise integration patterns: designing, building, and deploying messaging solutions. Addison-Wesley, BostonGoogle Scholar
  19. 19.
    Iba T, Miyake T (2010) Learning patterns: a pattern language for creative learners II. In: Proceedings of the 1\({{\rm st}}\) Asian conference on pattern languages of programs, ACM, pp I-41–I-58Google Scholar
  20. 20.
    Meszaros G, Doble J (1997) Pattern languages of program design 3. In: Chap A pattern language for pattern writing, Addison-Wesley, Boston, pp 529–574Google Scholar
  21. 21.
    Mikkonen T (1998) Formalizing design patterns. In: International conference on software engineering, pp 115–124Google Scholar
  22. 22.
    OASIS (2015) TOSCA Simple profile in YAML version 1.0. Organization for the Advancement of Structured Information Standards (OASIS)Google Scholar
  23. 23.
    Reinfurt L, Breitenbücher U, Falkenthal M, Leymann F, Riegg A (2016) Internet of things patterns. In: Proceedings of the 21\({{\rm st}}\) European conference on pattern languages of programs, ACMGoogle Scholar
  24. 24.
    Reinfurt L, Breitenbücher U, Falkenthal M, Leymann F, Riegg A (2017) Internet of things patterns for devices. In: Proceedings of the 9\({{\rm th}}\) international conferences on pervasive patterns and applications, XPSGoogle Scholar
  25. 25.
    Saatkamp K, Breitenbücher U, Képes K, Leymann F, Zimmermann M (2017) OpenTOSCA injector: vertical and horizontal topology model injection. In: Service-oriented computing-ICSOC 2017 workshops, Springer, BerlinGoogle Scholar
  26. 26.
    Schumm D, Barzen J, Leymann F, Ellrich L (2012) A pattern language for costumes in films. In: Proceedings of the 17\({{\rm th}}\) European conference on pattern languages of programs, ACM, pp C4-1–C4-30Google Scholar
  27. 27.
    Zdun U (2007) Systematic pattern selection using pattern language grammars and design space analysis. Softw: Pract Exp 37(9):983–1016Google Scholar
  28. 28.
    Zdun U, Avgeriou P (2005) Modeling architectural patterns using architectural primitives. In: Proceedings of the 20\({{\rm th}}\) annual ACM SIGPLAN conference on object-oriented programming, systems, languages, and applications, ACM, pp 133–146Google Scholar
  29. 29.
    Zdun U, Avgeriou P, Hentrich C, Dustdar S (2008) Architecting as decision making with patterns and primitives. In: Proceedings of the 3\({{\rm rd}}\) international workshop on sharing and reusing architectural knowledge, ACM, pp 11–18Google Scholar
  30. 30.
    Zhu H, Bayley I (2010) Laws of pattern composition. In: Formal methods and software engineering. ICFEM 2010. Lecture notes in computer science, vol 6447. Springer, Berlin, pp 630–645Google Scholar
  31. 31.
    Zhu H, Bayley I (2013) An algebra of design patterns. Trans Softw Eng Methodol 22(3):23Google Scholar

Copyright information

© Springer-Verlag GmbH Germany, part of Springer Nature 2019

Authors and Affiliations

  • Michael Falkenthal
    • 1
    Email author
  • Uwe Breitenbücher
    • 1
  • Johanna Barzen
    • 1
  • Frank Leymann
    • 1
  1. 1.Institute of Architecture of Application SystemsUniversity of StuttgartStuttgartGermany

Personalised recommendations