Evolution Taxonomy for Software Architecture Evolution

Noureddine Gasmallah, Abdelkrim Amirat, Mourad Oussalah

Abstract

Nowadays, architects are facing the challenge of proliferation of stakeholder requirements for preserving and ensuring the effectiveness of the software, by using software evolution as a key solution. Hence, in terms of landscaping evolution space there is a great need to define the thinking on which efforts to deal with this issue have been based. In this paper, we propose a framework for software architecture evolution taxonomy based on four structural dimensions. This framework could both position existing evolution models in the field and highlight gray areas for the future. Mapping over framework dimensions, a set of quality factors and an investigation including 67 studies are performed to assess the proposals. The results contain a number of relevant findings, including the need to improve software architecture evolution by accommodating predictable changes as well as promoting the emergence of operating mechanisms.

References

  1. Ahmad, A., Jamshidi, P., and Pahl, C. (2014). Classification and comparison of architecture evolution reuse knowledgea systematic review. Journal of Software: Evolution and Process, 26(7):654-691.
  2. Amirat, A., Menasria, A., and Gasmallah, N. (2011). Evolution framework for software architecture using graph transformation approach.
  3. Bengtsson, P., Lassing, N., Bosch, J., and van Vliet, H. (2004). Architecture-level modifiability analysis (alma). Journal Syst.and Software, 69(1):129-147.
  4. Bézivin, J. (2003). La transformation de modéles. INRIAATLAS & Universit de Nantes, 2003. Ecole dEt dInformatique CEA EDF INRIA 2, cours #6.
  5. Breivold, H. P., Crnkovic, I., and Larsson, M. (2012). A systematic review of software architecture evolution research. Information and Software Technology, 54(1):16-40.
  6. Brooks, R. A. (1989). A robot that walks; emergent behaviors from a carefully evolved network. Neural computation, 1(2):253-262.
  7. Buckley, J., Mens, T., Zenger, M., Rashid, A., and Kniesel, G. (2005). Towards a taxonomy of software change. Journal of Software Maintenance and Evolution: Research and Practice, 17(5):309-332.
  8. Chaki, S., Diaz-Pace, A., Garlan, D., Gurfinkel, A., and Ozkaya, I. (2009). Towards engineered architecture evolution. In Proceedings of the 2009 ICSE Workshop on Modeling in Software Engineering, pages 1- 6. IEEE Computer Society.
  9. Cicchetti, A., Di Ruscio, D., Eramo, R., and Pierantonio, A. (2008). Automating co-evolution in model-driven engineering. In Enterprise Distributed Object Computing Conference, 2008. EDOC'08. 12th International IEEE, pages 222-231. IEEE.
  10. Engel, A. and Browning, T. R. (2008). Designing systems for adaptability by means of architecture options. Systems Engineering, 11(2):125-146.
  11. Engels, G. and Heckel, R. (2000). Graph transformation as a conceptual and formal framework for system modeling and model evolution. In Automata, Languages and Programming, pages 127-150. Springer.
  12. Garlan, D., Barnes, J. M., Schmerl, B., and Celiku, O. (2009). Evolution styles: Foundations and tool support for software architecture evolution. In Software Architecture, 2009 & European Conference on Software Architecture. WICSA/ECSA 2009. Joint Working IEEE/IFIP Conference on, pages 131-140. IEEE.
  13. Gottlob, G., Schrefl, M., and Röck, B. (1996). Extending object-oriented systems with roles. ACM Transactions on Information Systems (TOIS), 14(3):268-296.
  14. Herrmannsdoerfer, M., Benz, S., and Juergens, E. (2009). Cope-automating coupled evolution of metamodels and models. In ECOOP 2009-Object-Oriented Programming, pages 52-76. Springer.
  15. Jazayeri, M. (2005). Species evolve, individuals age. In Principles of Software Evolution, Eighth International Workshop on, pages 3-9. IEEE.
  16. Le Goaer, O., Tamzalit, D., and Oussalah, M. (2010). Evolution styles to capitalize evolution expertise within software architectures. In SEKE 2010, pages toappear.
  17. Mens, T. and Van Gorp, P. (2006). A taxonomy of model transformation. Electronic Notes in Theoretical Computer Science, 152:125-142.
  18. Oreizy, P., Gorlick, M. M., Taylor, R. N., Heimbigner, D., Johnson, G., Medvidovic, N., Quilici, A., Rosenblum, D. S., and Wolf, A. L. (1999). An architecture-based approach to self-adaptive software. IEEE Intelligent Systems, 14(3):54-62.
  19. Oussalah, M. et al. (1999). Génie objet: analyse et conception de l'évolution. Hermès Science publications.
  20. Oussalah, M. et al. (2014). Architectures logicielles : Principes, techniques et outils. Hermes Science Publications (12 fvrier 2014).
  21. Oussalah, M., Sadou, N., and Tamzalit, D. (2006). Saev: A model to face evolution problem in software architecture. In Proceedings of the International ERCIM Workshop on Software Evolution, pages 137-146.
  22. Perry, D. E. and Wolf, A. L. (1992). Foundations for the study of software architecture. ACM SIGSOFT Software Engineering Notes, 17(4):40-52.
  23. Swanson, E. B. (1976). The dimensions of maintenance. In Proceedings of the 2nd international conference on Software engineering, pages 492-497. IEEE Computer Society Press.
  24. Vroom, V. H. (1964). Work and motivation. new york: John willey & sons.
  25. Wermelinger, M. and Fiadeiro, J. L. (2002). A graph transformation approach to software architecture reconfiguration. Science of Computer Programming, 44(2):133-155.
  26. Williams, B. J. and Carver, J. C. (2010). Characterizing software architecture changes: A systematic review. Information and Software Technology, 52(1):31-51.
  27. Wohlin, C., Runeson, P., Höst, M., Ohlsson, M. C., Regnell, B., and Wesslén, A. (2012). Experimentation in software engineering. Springer Science & Business Media.
  28. Zhao, C., Kong, J., Dong, J., and Zhang, K. (2007). Pattern-based design evolution using graph transformation. Journal of Visual Languages & Computing, 18(4):378-398.
Download


Paper Citation


in Harvard Style

Gasmallah N., Amirat A. and Oussalah M. (2016). Evolution Taxonomy for Software Architecture Evolution . In Proceedings of the 11th International Conference on Evaluation of Novel Software Approaches to Software Engineering - Volume 1: ENASE, ISBN 978-989-758-189-2, pages 124-131. DOI: 10.5220/0005775701240131


in Bibtex Style

@conference{enase16,
author={Noureddine Gasmallah and Abdelkrim Amirat and Mourad Oussalah},
title={Evolution Taxonomy for Software Architecture Evolution},
booktitle={Proceedings of the 11th International Conference on Evaluation of Novel Software Approaches to Software Engineering - Volume 1: ENASE,},
year={2016},
pages={124-131},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0005775701240131},
isbn={978-989-758-189-2},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 11th International Conference on Evaluation of Novel Software Approaches to Software Engineering - Volume 1: ENASE,
TI - Evolution Taxonomy for Software Architecture Evolution
SN - 978-989-758-189-2
AU - Gasmallah N.
AU - Amirat A.
AU - Oussalah M.
PY - 2016
SP - 124
EP - 131
DO - 10.5220/0005775701240131