Abstract
Stakeholders have to face requirements in increasing number and complexity, and the link between these requirements and design artifacts is primordial. Agile design methods and documentation techniques have emerged in the past years in order to trace the decision process and the rationale sustaining a software model. The present work proposes an integrated framework combining system requirement definitions, component-based models and model transformations. Architecturally significant requirements are explicitly linked to software architecture elements and iteratively refined or implemented by model transformations. Any transformation must be documented, even briefly, and the framework retains the transformations tree. This way, the iterative decision and design processes are completely documented for future reference or modification, i.e., designers can (i) see the mapping between a system requirement and its implementation in the architecture model, (ii) explore design alternatives or apply structural modifications without losing previous versions of the model, and finally (iii) at least understand partially the reasons why the model is how it is.
This paper is an updated version of A DSL for Stepwise Design of SA [7].
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 1.
The reader is encouraged to refer to this paper for a more complete discussion.
- 2.
Xtext is a toolset designed to build configurable textual editors for Domain Specific Languages as Eclipse plugins on top of the Eclipse Modeling Framework. See www.eclipse.org/Xtext and www.eclipse.org/modeling/emf.
- 3.
For a complete view of the relations between model constructs, please refer to [6].
- 4.
References
Alexander, I.F., Stevens, R.: Writing Better Requirements. Addison-Wesley (2002)
de Boer, R.C., van Vliet, H.: On the similarity between requirements and architecture. J. Syst. Softw. 82(3), 544–550 (2009)
Bosch, J., Molin, P.: Software architecture design: Evaluation and transformation. In: IEEE International Conference on the Engineering of Computer-Based Systems, p. 410 (1999)
Chen, L., Ali Babar, M., Nuseibeh, B.: Characterizing architecturally significant requirements. Softw. IEEE 30(2), 38–45 (2013)
Gilson, F., Englebert, V.: Rationale, decisions and alternatives traceability for architecture design. In: Proceeding of the 5th European Conference on Software Architecture, Companion volume, p. 4. ACM (2011)
Gilson, F., Englebert, V.: Towards handling architecture design, variability and evolution with model transformations. In: Proceeding of the 5th Workshop on Variability Modeling of Software-Intensive Systems, pp. 39–48. ACM (2011)
Gilson, F., Englebert, V.: A domain specific language for stepwise design of software architectures. In: Proceeding of the 2nd International Conference on Model-Driven Engineering and Software Development (MODELSWARD 2014), pp. 67–78. SciTePress (2014)
van Heesch, U., Avgeriou, P., Hilliard, R.: A documentation framework for architecture decisions. J. Syst. Softw. 85(4), 795–820 (2012)
van Heesch, U., Avgeriou, P., Tang, A.: Does decision documentation help junior designers rationalize their decisions? a comparative multiple-case study. J. Syst. Softw. 86(6), 1545–1565 (2013)
Hofmeister, C., Kruchten, P., Nord, R.L., Obbink, H., Ran, A., America, P.: A general model of software architecture design derived from five industrial approaches. J. Syst. Softw. 80(1), 106–126 (2007)
Jansen, A., Avgeriou, P., van der Ven, J.S.: Enriching software architecture documentation. J. Syst. Softw. 82, 1232–1248 (2009)
Jansen, A., Bosch, J.: Software architecture as a set of architectural design decisions. In: Proceeding of the 5th Working IEEE/IFIP Conference on Software Architecture, pp. 109–120. IEEE Computer Society, Washington, DC (2005)
Kazman, R., Klein, M., Clements, P.: ATAM: method for architecture evaluation. Technical report CMU/SEI-2000-TR-004, SEI, Carnegie Mellon University (2000)
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)
Malek, S., Medvidovic, N., Mikic-Rakic, M.: An extensible framework for improving a distributed software system’s deployment architecture. IEEE Trans. Softw. Eng. 38(1), 73–100 (2012)
Matinlassi, M.: Quality-driven software architecture model transformation: Towards automation. Ph.D. thesis, ESPOO: VTT technical Research Centre of Finland, vTT Publications 608 (2006)
Mavin, A., Wilkinson, P.: Big ears (the return of “easy approach to requirements engineering”). In: Proceeding of the 18th IEEE International Requirements Engineering Conference, pp. 277–282 (2010)
Object Management Group: OMG Systems Modeling Language (OMG SysMLTM), version 1.3, June 2012. oMG Formal document number: formal/2012-06-01
Perovich, D., Bastarríca, M.C., Rojas, C.: Model-driven approach to software architecture design. In: ICSE Workshop on Sharing and Reusing Architectural Knowledge, pp. 1–8 (2009)
Rutle, A., Rossini, A., Lamo, Y., Wolter, U.: A category-theoretical approach to the formalisation of version control in MDE. In: Chechik, M., Wirsing, M. (eds.) FASE 2009. LNCS, vol. 5503, pp. 64–78. Springer, Heidelberg (2009)
Tang, A., Ali Babar, M., Gorton, I., Han, J.: A survey of architecture design rationale. J. Syst. Softw. 79(12), 1792–1804 (2006)
Tang, A., Jin, Y., Han, J.: A rationale-based architecture model for design traceability and reasoning. J. Syst. Softw. 80(6), 918–934 (2007)
Tekinerdogan, B., Özturk, K., Dogru, A.: Modeling and reasoning about design alternatives of software as a service architectures. In: Proceeding of the 9th Working IEEE/IFIP Conference on Software Architecture, pp. 312–319 (2011)
Tyree, J., Akerman, A.: Architecture decisions: demystifying architecture. IEEE Softw. 22, 19–27 (2005)
Watkins, R., Neal, M.: Why and How of requirements tracing. IEEE Softw. 11, 104–106 (1994)
Zimmermann, O., Koehler, J., Leymann, F., Polley, R., Schuster, N.: Managing architectural decision models with dependency relations, integrity constraints, and production rules. J. Syst. Softw. 82(8), 1249–1267 (2009)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this paper
Cite this paper
Gilson, F., Englebert, V. (2015). Transformation-Wise Design of Software Architectures. In: Hammoudi, S., Pires, L., Filipe, J., das Neves, R. (eds) Model-Driven Engineering and Software Development. MODELSWARD 2014. Communications in Computer and Information Science, vol 506. Springer, Cham. https://doi.org/10.1007/978-3-319-25156-1_4
Download citation
DOI: https://doi.org/10.1007/978-3-319-25156-1_4
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-25155-4
Online ISBN: 978-3-319-25156-1
eBook Packages: Computer ScienceComputer Science (R0)