Exploring Quality-Aware Architectural Transformations at Run-Time: The ENIA Case
Adapting software systems at run-time is a key issue, especially when these systems consist of components used as intermediary for human-computer interaction. In this sense, model transformation techniques have a widespread acceptance as a mechanism for adapting and evolving the software architecture of such systems. However, existing model transformations often focus on functional requirements, and quality attributes are only manually considered after the transformations are done. This paper aims to improve the quality of adaptations and evolutions in component-based software systems by taking into account quality attributes within the model transformation process. To this end, we present a quality-aware transformation process using software architecture metrics to select among many alternative model transformations. Such metrics evaluate the quality attributes of an architecture. We validate the presented quality-aware transformation process in ENIA, a geographic information system whose user interfaces are based on coarse-grained components and need to be adapted at run-time.
KeywordsQuality-driven model transformation Component-based software Architecture configuration Architecture metrics
This work was funded by the Spanish MINECO and the Andalusian Government under TIN2013-41576-R and P10-TIC-6114 projects.
- 1.ACG: ENIA Poject - Development of an intelligent web agent of environmental information. http://acg.ual.es/projects/enia/
- 3.Ameller, D., Franch, X., Cabot, J.: Dealing with non-functional requirements in model-driven development. In: RE 2010, pp. 189–198. IEEE (2010)Google Scholar
- 4.Bencomo, N., Blair, G.: Using architecture models to support the generation and operation of component-based adaptive systems. In: Cheng, B.H.C., de Lemos, R., Giese, H., Inverardi, P., Magee, J. (eds.) Software Engineering for Self-Adaptive Systems. LNCS, vol. 5525, pp. 183–200. Springer, Heidelberg (2009)CrossRefGoogle Scholar
- 5.Boehm, B.: Architecture-based quality attribute synergies and conflicts. In: SAM 2015, pp. 29–34. IEEE Press (2015)Google Scholar
- 7.Carriere, J., Kazman, R., Ozkaya, I.: A cost-benefit framework for making architectural decisions in a business context. In: ICSE 2010, pp. 149–157. IEEE (2010)Google Scholar
- 11.Daniel, F., Matera, M.: Mashups - Concepts Models and Architectures. Springer, Heidelberg (2014)Google Scholar
- 13.ISO/IEC: ISO/IEC 25000. Systems and software engineering - Systems and software Quality Requirements and Evaluation (SQuaRE) - Guide to SQuaRE (2014)Google Scholar
- 14.Loniewsli, G., Borde, E., Blouin, D., Insfran, E.: An automated approach for architectural model transformations. In: Escalona, M.J., Aragón, G., Linger, H., Lang, M., Barry, C., Schneider, C. (eds.) Information System Development: Improving Enterprise Communication, pp. 295–306. Springer, Switzerland (2014)Google Scholar
- 16.Ozkaya, I., Nord, R.L., Koziolek, H., Avgeriou, P.: Second international workshop on software architecture and metrics. In: ICSE 2015, pp. 999–1000. IEEE Press (2015)Google Scholar
- 19.Stevanetic, S., Javed, M.A., Zdun, U.: Empirical evaluation of the understandability of architectural component diagrams. In: WICSA 2014 Companion, pp. 4:1–4:8. ACM, New York (2014)Google Scholar
- 22.Zimmermann, O.: Metrics for architectural synthesis and evaluation: requirements and compilation by viewpoint: an industrial experience report. In: SAM 2015, pp. 8–14. IEEE Press (2015)Google Scholar