Abstract
Software architects create and consume many interrelated artifacts during the architecting process. These artifacts may represent functional and nonfunctional requirements, architectural patterns, infrastructure topology units, code, and deployment descriptors as well as architecturally significant design decisions. Design decisions have to be linked to chunks of architecture description in order to achieve a fine-grained control when a design is modified. Moreover, it is imperative to identify quickly the key decisions affected by a runtime change that are critical for a system’s mission. This paper extends previous work on architectural knowledge with a metamodel for architectural decision capturing and sharing to: (i) create and maintain fine-grained dependency links between the entities during decision identification, making, and enforcement, (ii) keep track of the evolution of the decisions, and (iii) support runtime decisions.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 2nd edn. Addison-Wesley, Reading (2003)
Bosch, J.: Software Architecture: The Next Step. In: Oquendo, F., Warboys, B.C., Morrison, R. (eds.) EWSA 2004. LNCS, vol. 3047, pp. 194–199. Springer, Heidelberg (2004)
Kruchten, P., Capilla, R., Dueñas, J.C.: The Decision’s View Role in Software Architecture Practice. IEEE Software 26(2), 36–42 (2009)
Zimmermann, O., Koehler, J., Leymann, F., Polley, R., Schuster, N.: Managing Architectural Decision Models with Dependency Relations, Integrity Constraints, and Production Rules. Journal of Systems and Software 82(8), 1249–1267 (2009)
Capilla, R., Nava, F., Pérez, S., Dueñas, J.C.: Web-based Tool for Managing Architectural Design Decisions (SHARK’066). ACM SIGDOFT Software Engineering Notes 31(5) (2006)
Jansen, A., de Vries, T., Avgeriou, P., van Veelen, M.: Sharing the Architectural Knowledge of Quantitative Analysis. In: Proceedings of the Quality of Software-Architectures (QoSA), pp. 220–234 (2008)
Zimmermann, O., Gschwind, T., Küster, J.M., Leymann, F., Schuster, N.: Reusable Architectural Decision Models for Enterprise Application Development. In: Overhage, S., Ren, X.-M., Reussner, R., Stafford, J.A. (eds.) QoSA 2007. LNCS, vol. 4880, pp. 15–32. Springer, Heidelberg (2008)
Bosch, J.: Design and use of Software Architecture: Adopting and Evolving a Product-Line Approach. Addison-Wesley, Reading (2000)
Pohl, K., Böckle, G., Linden, F.v.d.: Software Product Line Engineering: Foundations, Principles, and Techniques. Springer, Heidelberg (2005)
Liang, P., Jansen, A., Avgeriou, P.: Collaborative Software Architecting through Architectural Knowledge Sharing. In: Finkelstein, A., Grundy, J., van der Hoek, A., Mistrík, I., Whitehead, J. (eds.) Collaborative Software Engineering (CoSE), pp. 343–368. Springer, Heidelberg (2010)
Liang, P., Avgeriou, P.: Tools and Technologies for Architecture Knowledge Management. In: Software Architecture Knowledge Management: Theory and Practice, pp. 91–111. Springer, Heidelberg (2009)
Zimmermann, O., Doubrovski, V., Grundler, J., Hogg, K.: Service-Oriented Architecture and Business Process Choreography in an Order Management Scenario. In: ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2005). ACM Press, New York (2005)
Hentrich, C., Zdun, U.: Patterns for Process-Oriented Integration in Service-Oriented Architectures. In: Proceedings of 11th European Conference on Pattern Languages of Programs (EuroPLoP 2006), Irsee, Germany, pp. 1–45 (July 2006)
Tang, A., Avgeriou, P., Jansen, A., Capilla, R., Babar, M.A.: A Comparative Study of Architecture Knowledge Management Tools. Journal of Systems and Software 83(3), 352–370 (2010)
Tyree, J., Akerman, A.: Architecture Decisions: Demystifying Architecture. IEEE Software 22 (2005)
Kruchten, P., Lago, P., van Vliet, H.: Building Up and Reasoning About Architectural Knowledge. In: Hofmeister, C., Crnković, I., Reussner, R. (eds.) QoSA 2006. LNCS, vol. 4214, pp. 43–58. Springer, Heidelberg (2006)
Navarro, E., Cuesta, C.E.: Automating the trace of architectural design decisions and rationales using a MDD approach. In: Morrison, R., Balasubramaniam, D., Falkner, K. (eds.) ECSA 2008. LNCS, vol. 5292, pp. 114–130. Springer, Heidelberg (2008)
Lee, K., Kang, K.C.: Feature dependency analysis for product line component design. In: Dannenberg, R.B., Krueger, C. (eds.) ICOIN 2004 and ICSR 2004. LNCS, vol. 3107, pp. 69–85. Springer, Heidelberg (2004)
Capilla, R., Ali Babar, M.: On the role of architectural design decisions in software product line engineering. In: Morrison, R., Balasubramaniam, D., Falkner, K. (eds.) ECSA 2008. LNCS, vol. 5292, pp. 241–255. Springer, Heidelberg (2008)
Hallsteeinsen, S., Hinchey, M., Park, S., Schmid, K.: Dynamic Software Product Lines. IEEE Computer 41(4), 93–95 (2008)
Goedicke, M., Köllmann, C., Zdun, U.: Designing Runtime Variation Points in Product Line Architectures: three cases. Science of Computer Programming 53(3), 353–380 (2004)
Lago, P., Muccini, H., van Vliet, H.: A scoped approach to traceability management. Journal of Systems and Software 82(1), 168–182 (2009)
Sangal, N., Jordan, E., Sinha, V., Jackson, D.: Using Dependency Models to Manage Complex Software Architecture. In: OOPSLA 2005, pp. 167–176 (2005)
Mäder, P., Gotel, O., Philippow, I.: Enabling Automated Traceability Maintenance through the Upkeep of Traceability Relations. In: Paige, R.F., Hartman, A., Rensink, A. (eds.) ECMDA-FA 2009. LNCS, vol. 5562, pp. 174–189. Springer, Heidelberg (2009)
Cleland-Huang, J., Chang, C.: Event-Based Traceability for Managing Evolutionary Change. IEEE Transactions on Software Engineering 29(9) (September 2003)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Capilla, R., Zimmermann, O., Zdun, U., Avgeriou, P., Küster, J.M. (2011). An Enhanced Architectural Knowledge Metamodel Linking Architectural Design Decisions to other Artifacts in the Software Engineering Lifecycle. In: Crnkovic, I., Gruhn, V., Book, M. (eds) Software Architecture. ECSA 2011. Lecture Notes in Computer Science, vol 6903. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-23798-0_33
Download citation
DOI: https://doi.org/10.1007/978-3-642-23798-0_33
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-23797-3
Online ISBN: 978-3-642-23798-0
eBook Packages: Computer ScienceComputer Science (R0)