Skip to main content
Log in

On the algebraic properties of concrete solution aggregation

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

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.

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
Fig. 7

Similar content being viewed by others

Notes

  1. https://aws.amazon.com/.

  2. https://azure.microsoft.com.

  3. https://aws.amazon.com/cloudformation/.

  4. https://aws.amazon.com/ec2/.

  5. https://aws.amazon.com/sqs/.

  6. https://aws.amazon.com/cloudwatch/.

References

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

    Google Scholar 

  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–210

  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–482

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

  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–389

  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–1007

    Google Scholar 

  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–27

  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–64

  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–1101

  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–726

    Google Scholar 

  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–21

  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, Berlin

  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–274

    Google Scholar 

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

    Book  Google Scholar 

  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–284

  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 30

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

    MATH  Google Scholar 

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

    Google Scholar 

  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-58

  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–574

  21. Mikkonen T (1998) Formalizing design patterns. In: International conference on software engineering, pp 115–124

  22. OASIS (2015) TOSCA Simple profile in YAML version 1.0. Organization for the Advancement of Structured Information Standards (OASIS)

  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, ACM

  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, XPS

  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, Berlin

  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-30

  27. Zdun U (2007) Systematic pattern selection using pattern language grammars and design space analysis. Softw: Pract Exp 37(9):983–1016

    Google Scholar 

  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–146

  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–18

  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–645

  31. Zhu H, Bayley I (2013) An algebra of design patterns. Trans Softw Eng Methodol 22(3):23

    Google Scholar 

Download references

Acknowledgements

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

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Michael Falkenthal.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Falkenthal, M., Breitenbücher, U., Barzen, J. et al. On the algebraic properties of concrete solution aggregation. SICS Softw.-Inensiv. Cyber-Phys. Syst. 34, 117–128 (2019). https://doi.org/10.1007/s00450-019-00400-1

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00450-019-00400-1

Keywords

Navigation