Abstract
In recent years, the software architecture community has proposed to use architectural design decisions (ADDs) for capturing the design rationale and the architectural knowledge (AK). As software systems evolve both ADDs and architectural designs need to be documented and maintained. This is a tedious and time-consuming task because of the lack of systematic and automated support for bridging between ADDs and designs. As a result, decisions and designs become inconsistent over time. We propose to alleviate this problem by introducing an AK transformation language supporting reusable AK transformations from pattern-based ADDs to component-and-connector models. In addition, we devise reusable consistency checking rules for verifying the consistency between decisions and designs. Through the use of model-driven transformations, as well as reusable, pattern-based decision models, we ensure the reusability of our approach. We apply our approach in an industrial case study and show that it offers high reusability, is largely automated and scalable, and can deal with the complexity of large numbers of recurring 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
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: Crnkovic, I., Gruhn, V., Book, M. (eds.) ECSA 2011. LNCS, vol. 6903, pp. 303–318. Springer, Heidelberg (2011)
Choi, Y., Choi, H., Oh, M.: An architectural design decision-centric approach to architectural evolution. In: 11th Int’l Conf. on Advanced Communication Technology (ICACT), Gangwon-Do, South Korea, pp. 417–422. IEEE Press (2009)
Clements, P., Garlan, D., Bass, L., Stafford, J., Nord, R., Ivers, J., Little, R.: Documenting Software Architectures: Views and Beyond. Pearson Education (2002)
Dermeval, D., Pimentel, J., Silva, C.T.L.L., Castro, J., Santos, E., Guedes, G., Lucena, M., Finkelstein, A.: STREAM-ADD - Supporting the Documentation of Architectural Design Decisions in an Architecture Derivation Process. In: 36th Annual IEEE Computer Software and Applications Conf. (COMPSAC), Izmir, Turkey, pp. 602–611. IEEE Comp. Soc. (2012)
Grunbacher, P., Egyed, A., Medvidovic, N.: Reconciling Software Requirements and Architectures with Intermediate Models. Softw. Syst. Model. 3(3), 235–253 (2003)
Harrison, N.B., Avgeriou, P., Zdun, U.: Using Patterns to Capture Architectural Decisions. IEEE Softw. 24(4), 38–45 (2007)
ISO: ISO/IEC CD1 42010, Systems and software engineering — Architecture description (2010)
Jansen, A., Bosch, J.: Software Architecture as a Set of Architectural Design Decisions. In: 5th Working IEEE/IFIP Conf. on Software Architecture (WICSA), Pittsburgh, PA, USA, pp. 109–120. IEEE Comp. Soc. (2005)
Kaindl, H., Falb, J.: Can We Transform Requirements into Architecture? In: 3rd Int’l Conf. on Software Engineering Advances (ICSEA), Sliema, Malta, pp. 91–96. IEEE (2008)
Könemann, P., Zimmermann, O.: Linking Design Decisions to Design Models in Model-Based Software Development. In: Babar, M.A., Gorton, I. (eds.) ECSA 2010. LNCS, vol. 6285, pp. 246–262. Springer, Heidelberg (2010)
Kruchten, P., Capilla, R., Dueñas, J.C.: The Decision View’s Role in Software Architecture Practice. IEEE Softw. 26(2), 36–42 (2009)
van Lamsweerde, A.: From System Goals to Software Architecture. In: Bernardo, M., Inverardi, P. (eds.) SFM 2003. LNCS, vol. 2804, pp. 25–43. Springer, Heidelberg (2003)
Lee, L., Kruchten, P.: Capturing Software Architectural Design Decisions. In: 2007 Canadian Conf. on Electrical and Computer Engineering, pp. 686–689. IEEE Comp. Soc. (2007)
Loughran, N., Sánchez, P., Garcia, A., Fuentes, L.: Language Support for Managing Variability in Architectural Models. In: Pautasso, C., Tanter, É. (eds.) SC 2008. LNCS, vol. 4954, pp. 36–51. Springer, Heidelberg (2008)
Lytra, I., Sobernig, S., Zdun, U.: Architectural Decision Making for Service-Based Platform Integration: A Qualitative Multi-Method Study. In: Joint 10th Working IEEE/IFIP Conf. on Software Architecture & 6th European Conf. on Software Architecture (WICSA/ECSA), IEEE Comp. Soc., Helsinki (2012)
Lytra, I., Tran, H., Zdun, U.: Constraint-based consistency checking between design decisions and component models for supporting software architecture evolution. In: 16th European Conf. on Software Maintenance and Reengineering (CSMR), Szeged, Hungary, pp. 287–296. Springer (2012)
MacLean, A., Young, R., Bellotti, V., Moran, T.: Questions, Options, and Criteria: Elements of Design Space Analysis. Human-Computer Interaction 6, 201–2502 (1991)
Mehta, N.R., Medvidovic, N.: Composing architectural styles from architectural primitives. In: 9th European Software Engineering Conf. held jointly with 11th ACM SIGSOFT Int’l Symposium on Foundations of Software Engineering (ESEC/FSE-11), Helsinki, Finland, pp. 347–350. ACM (2003)
Mirakhorli, M., Cleland-Huang, J.: Using tactic traceability information models to reduce the risk of architectural degradation during system maintenance. In: 27th IEEE Int’l Conf. on Software Maintenance (ICSM), Williamsburg, VA, USA, pp. 123–132. IEEE (2011)
Pérez-MartÃnez, J.E., Sierra-Alonso, A.: From Analysis Model to Software Architecture: A PIM2PIM Mapping. In: Rensink, A., Warmer, J. (eds.) ECMDA-FA 2006. LNCS, vol. 4066, pp. 25–39. Springer, Heidelberg (2006)
Shahin, M., Liang, P., Khayyambashi, M.R.: Architectural design decision: Existing models and tools. In: Joint Working IEEE/IFIP Conf. on Software Architecture and European Conf. on Software Architecture (WICSA/ECSA), Cambridge, UK, pp. 293–296. IEEE (2009)
Tran, H., Zdun, U., Dustdar, S.: View-based and Model-driven Approach for Reducing the Development Complexity in Process-Driven SOA. In: Int’l Conf. Business Process and Services Computing (BPSC). LNI, pp. 105–124 (2007)
Tyree, J., Akerman, A.: Architecture Decisions: Demystifying Architecture. IEEE Softw. 22(2), 19–27 (2005)
Zdun, U., Avgeriou, P.: Modeling Architectural Patterns Using Architectural Primitives. In: 20th ACM Conf. on Object-Oriented Programming, Systems, Languages & Applications (OOPSLA), pp. 133–146. ACM Press (2005)
Zimmermann, O., Gschwind, T., Küster, J., 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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Lytra, I., Tran, H., Zdun, U. (2013). Supporting Consistency between Architectural Design Decisions and Component Models through Reusable Architectural Knowledge Transformations. In: Drira, K. (eds) Software Architecture. ECSA 2013. Lecture Notes in Computer Science, vol 7957. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-39031-9_20
Download citation
DOI: https://doi.org/10.1007/978-3-642-39031-9_20
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-39030-2
Online ISBN: 978-3-642-39031-9
eBook Packages: Computer ScienceComputer Science (R0)