Quality attribute tradeoff through adaptive architectures at runtime

  • Authors:
  • Jie Yang;Gang Huang;Wenhui Zhu;Xiaofeng Cui;Hong Mei

  • Affiliations:
  • School of Electronics Engineering and Computer Science, Peking University, Beijing 100871, China and IBM China Research Laboratory, Beijing 100193, P.R.China;School of Electronics Engineering and Computer Science, Peking University, Beijing 100871, China and Key Laboratory of High Confidence Software Technologies, Ministry of Education, Beijing 100871, ...;School of Electronics Engineering and Computer Science, Peking University, Beijing 100871, China and Key Laboratory of High Confidence Software Technologies, Ministry of Education, Beijing 100871, ...;School of Electronics Engineering and Computer Science, Peking University, Beijing 100871, China and Key Laboratory of High Confidence Software Technologies, Ministry of Education, Beijing 100871, ...;School of Electronics Engineering and Computer Science, Peking University, Beijing 100871, China and Key Laboratory of High Confidence Software Technologies, Ministry of Education, Beijing 100871, ...

  • Venue:
  • Journal of Systems and Software
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Quality attributes, e.g. performance and reliability, become more and more important for the development of software systems. One of the critical issues on quality assurance is how to make good enough tradeoffs between quality attributes that interfere with each other. Some architecture-based quality design and analysis methods are proposed to make tradeoffs at design time. However, many quality attributes depend on runtime contexts; it may be difficult and even impossible to make tradeoffs between them at design time. In this paper, we use an adaptive architecture model to capture candidate strategies for different quality attributes; the tradeoff, i.e. which strategies are more appropriate and thus applied, is postponed to runtime. The contribution of our approach is threefold. First, it makes use of existing architecture-based quality design and analysis methods to identify why and where quality attribute tradeoffs are necessary. Second, a traditional architecture description language is extended to support the modeling of an adaptive architecture, which records strategies for different quality attributes under different conditions. Third, a reflective middleware is used to monitor the runtime system, collect required information to determine appropriate strategies, and adapt the application's architecture to achieve expected quality attributes. This approach is demonstrated on J2EE.