Skip to main content
Log in

Preserving architectural decisions through architectural patterns

  • Published:
Automated Software Engineering Aims and scope Submit manuscript

Abstract

Architectural decisions have emerged as a means to maintain the quality of the architecture during its evolution. One of the most important decisions made by architects are those about the design approach such as the use of patterns or styles in the architecture. The structural nature of this type of decisions give them the potential to be controlled systematically. In the literature, there are some works on the automation of architectural decision violation checking. In this paper we show that these works do not allow to detect all possible architectural decision violations. To solve this problem we propose an approach which: (i) describes architectural patterns that hold the architectural decision definition, (ii) integrates architectural decisions into an architectural model and, (iii) automates the architectural decision conformance checking. The approach is implemented using Eclipse modeling framework and its accompanying technologies. Starting from well-known architectural patterns, we show that we can formalize all those related to the structural aspect. Through two evaluations, we show that our approach can be adapted to different architecture paradigms and allows to detect more violations comparing to the existing approaches.

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.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19

Similar content being viewed by others

Notes

  1. SCA is a model created by a group of industrial partners to support building applications and systems using SOA solution.

  2. Upperbound = \(-\)1 indicates that there’s no limited upper threshold for a multiplicity.

  3. http://www.eclipse.org/modeling/gmp/.

  4. The reader can find these meta-models at the same website of ADManager tool.

  5. https://www-archware.irisa.fr/files/2014/05/IRISAArchWare-2013-TR-021.pdf.

  6. We use the Sets.powerSet method in Guava library.

References

  • Allen, R.:A formal approach to software architecture. Ph.D. thesis, Carnegie Mellon, School of Computer Science (1997)

  • Avgeriou, P., Zdun, U.: Architectural patterns revisited a pattern language. In: 10th European Conference on Pattern Languages of Programs (EuroPlop 2005), Irsee, pp. 1–39 (2005)

  • Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 2nd edn. Addison-Wesley Professional, New York (2003)

    Google Scholar 

  • Beisiegel, M., Booz, D., Tibco, S., Bea, M., Sharp, C., Sap, Y.: SCA service component architecture. Assembly Model Specification (2007)

  • Bosch, J.: Design and Use of Software Architectures: Adopting and Evolving a Product-Line Approach. ACM Press/Addison-Wesley Publishing Co., New York (2000)

    Google Scholar 

  • Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M.: Pattern-Oriented Software Architecture, Volume 1: A System of Patterns. Wiley, Chichester (1996)

    Google Scholar 

  • Capilla, R., Nava, F., Pérez, S., Due Nas, J.C.: A web-based tool for managing architectural design decisions. SIGSOFT Softw. Eng. Notes 31, 20–27 (2006)

    Article  Google Scholar 

  • Capilla, R., Zimmermann, O., Zdun, U., Avgeriou, P., Küster, J.M.: An enhanced architectural knowledge metamodel linking architectural design decisions to other artifacts in the software engineering lifecycle. In: Proceedings of the 5th European Conference on Software Architecture, pp. 303–318. Springer, Berlin (2011)

  • Clements, P., Bachmann, F., Bass, L., Garlan, D., Ivers, J., Little, R., Merson, P., Nord, R., Stafford, J.: Documenting Software Architectures: Views and Beyond, 2nd edn. Addison-Wesley Professional, Boston (2010)

    Google Scholar 

  • Elaasar, M., Briand, L.: An Overview of UML Consistency Management. Carleton University, Canada, Technical Report SCE-04-18 (2004)

  • France, R.B., Kyoo Kim, D., Ghosh, S., Song, E.: A UML-based pattern specification technique. IEEE Trans. Softw. Eng. 30, 193–206 (2004)

    Article  Google Scholar 

  • Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design patterns: abstraction and reuse of object-oriented design. In: ECOOP’ 93: Object-Oriented Programming. Lecture Notes in Computer Science, pp. 406–431. Springer, Berlin (1993)

  • Garlan, D., Monroe, R.T., Wile, D.: ACME: architectural description of component-based systems. In: Foundations of Component-Based Systems, pp. 47–68 (2000)

  • Harrison, N.B., Avgeriou, P.: Leveraging architecture patterns to satisfy quality attributes. In: Proceedings of the First European Conference on Software Architecture, pp. 263–270 (2007)

  • Harrison, N.B., Avgeriou, P., Zdun, U.: Using patterns to capture architectural decisions. IEEE Softw. 24(4), 38–45 (2007)

    Article  Google Scholar 

  • Hohpe, G., Woolf, B.: Enterprise Integration Pattern. Addison-Wesley, Boston (2003)

    Google Scholar 

  • ISO/IEC/IEEE 42010:2011: Systems and Software Engineering: Architecture Description. ISO, Geneva (2011)

  • Jansen, A., Bosch, J.: Software architecture as a set of architectural design decisions. In: Proceedings of the 5th Working IEEE/IFIP Conference on Software Architecture, pp. 109–120. IEEE Computer Society (2005)

  • Jansen, A., van der Ven, J., Avgeriou, P., Hammer, D.: Tool support for architectural decisions. In: The Working IEEE/IFIP Conference on Software Architecture (WICSA, 07), pp. 4–4 (2007)

  • Könemann, P., Zimmermann, O.: Linking design decisions to design models in model-based software development. In: Proceedings of the 4th European Conference on Software Architecture, pp. 246–262. Springer, Berlin (2010)

  • Kruchten, P., Lago, P., van Vliet, H.: Building up and reasoning about architectural knowledge. In: Proceedings of the Second International Conference on Quality of Software Architectures, pp. 43–58. Springer, Berlin (2006)

  • Küster, M.: Architecture-centric modeling of design decisions for validation and traceability. In: European Conference on Software Architecture (ECSA), pp. 184–191 (2013)

  • Lucas, F.J., Molina, F., Toval, A.: A systematic review of uml model consistency management. Inf. Softw. Technol. 51(12), 1631–1645 (2009)

    Article  Google Scholar 

  • Lytra, I., Tran, H., Zdun, U.: Supporting consistency between architectural design decisions and component models through reusable architectural knowledge transformations. In: Proceedings of the 7th European Conference on Software Architecture, ECSA’13. Springer, Berlin (2013)

  • Medvidovic, N., Taylor, R.N.: A classification and comparison framework for software architecture description languages. IEEE Trans. Softw. Eng. 26, 70–93 (2000)

    Article  Google Scholar 

  • Medvidovic, N., Rosenblum, D.S., Redmiles, D.F., Robbins, J.E.: Modeling software architectures in the unified modeling language. ACM Trans. Softw. Eng. Methodol. 11, 2–57 (2002)

    Article  Google Scholar 

  • Muller, P.-A., Fleurey, F., Jézéquel, J.-M.: Weaving executability into object-oriented meta-languages. In: Proceedings of the 8th International Conference on Model Driven Engineering Languages and Systems, pp. 264–278. Springer, Genova (2005)

  • OMG: Object constraint language, OCL Version 2.0, formal/2006-05-01. Technical report, OMG (2006)

  • Miller, J., Mukerji, J.: MDA guide version 1.0.1. Technical report, Object Management Group (OMG) (2003)

  • Oquendo, F.: An architecture description language based on the higher-order typed pi-calculus for specifying dynamic and mobile software architectures. SIGSOFT Softw. Eng. Notes 29, 1–14 (2004)

    Google Scholar 

  • Savolainen, J., Kuusela, J., Mnnist, T., Nyyssnen, A.: Experiences in making architectural decisions during the development of a new base station platform. In: Babar, M.A., Gorton, I. (eds.) ECSA, Lecture Notes in Computer Science, pp. 425–432. Springer, Heidelberg (2010)

    Google Scholar 

  • Shahin, M., Liang, P., Khayyambashi, M.: Architectural design decision: existing models and tools. In: Software Architecture, 2009 European Conference on Software Architecture. WICSA/ECSA 2009, pp. 293–296 (2009)

  • Steinberg, D., Budinsky, F., Merks, E., Paternostro, M.: EMF: Eclipse Modeling Framework. Addison-Wesley Professional, Reading (2008)

    Google Scholar 

  • Tang, A., Jin, Y., Han, J.: A rationale-based architecture model for design traceability and reasoning. J. Syst. Softw. 80, 918–934 (2007)

    Article  Google Scholar 

  • That, M.T.T., Sadou, S., Oquendo, F.: Using architectural patterns to define architectural decisions. In: Joint IEEE/IFIP Working Conference on Software Architecture (WICSA) and European Conference on Software Architecture (ECSA), pp. 196–200 (2012)

  • That, M.T.T., Sadou, S., Oquendo, F., Borne, I.: Composition-centered architectural pattern description language. In: Proceedings of the 7th European Conference on Software Architecture. Springer, Heidelberg (2013)

  • Thomas, E.: SOA Design Patterns. Prentice Hall, Upper Saddle River (2009)

    Google Scholar 

  • Tibermacine, C., Fleurquin, R., Sadou, S.: Preserving architectural choices throughout the component-based software development process. In: Proceedings of the 5th Working IEEE/IFIP Conference on Software Architecture, pp. 121–130 (2005)

  • Tibermacine, C., Fleurquin, R., Sadou, S.: A family of languages for architecture constraint specification. J. Syst. Softw. 83, 815–831 (2010)

    Article  Google Scholar 

  • Tibermacine, C., Sadou, S., Dony, C., Fabresse, L.: Component-based specification of software architecture constraints. In: Proceedings of the 14th International ACM Sigsoft Symposium on Component Based Software Engineering, pp. 31–40 (2011)

  • Tyree, J., Akerman, A.: Architecture decisions: demystifying architecture. IEEE Softw. 22, 19–27 (2005)

    Article  Google Scholar 

  • Wojcik, R., Bachmann, F., Bass, L., Clements, P.C., Merson, P., Nord, R., Wood, W. G.: Attribute-Driven Design (ADD), Version 2.0. Technical report, Software Engineering Institute (2006)

  • Zalewski, A., Kijas, S., Sokolowska, D.: Capturing architecture evolution with maps of architectural decisions 2.0. In: Proceedings of the 5th European Conference on Software Architecture, pp. 83–96. Springer, Heidelberg (2011)

  • Zdun, U., Avgeriou, P., Hentrich, C., Dustdar, S.: Architecting as decision making with patterns and primitives. In: Proceedings of the 3rd International Workshop on Sharing and Reusing Architectural Knowledge, SHARK ’08, pp. 11–18. ACM, New York (2008)

  • Zimmermann, O.: Architectural decisions as reusable design assets. IEEE Softw. 28, 64–69 (2011)

    Article  Google Scholar 

  • Zimmermann, O.: Architectural decision identification in architectural patterns. In: Proceedings of the WICSA/ECSA 2012 Companion Volume, WICSA/ECSA ’12, pp. 96–103. ACM, New York (2012)

  • Zimmermann, O., Gschwind, T., Küster, J., Leymann, F., Schuster, N.:Reusable architectural decision models for enterprise application development. In: Proceedings of the Quality of Software Architectures 3rd International Conference on Software Architectures, Components, and Applications, pp. 15–32. Springer, Berlin (2007)

  • Zimmermann, O., Zdun, U., Gschwind, T., Leymann, F.: Combining pattern languages and reusable architectural decision models into a comprehensive and comprehensible design method. In: Proceedings of the Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008), pp. 157–166. IEEE Computer Society, Washington, DC (2008)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Minh Tu Ton That.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Ton That, M.T., Sadou, S., Oquendo, F. et al. Preserving architectural decisions through architectural patterns. Autom Softw Eng 23, 427–467 (2016). https://doi.org/10.1007/s10515-014-0172-0

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10515-014-0172-0

Keywords

Navigation