Quality attribute scenario based architectural modeling for self-adaptation supported by architecture-based reflective middleware

Reflective middleware is proposed for guaranteeing desired qualities of middleware based systems which reside in the extremely open and dynamic Internet. Current researches and practices focus on how to monitor and change the whole system through reflective mechanisms provided by middleware. However, they put little attention on why, when and what to monitor and change because it is very hard for middleware to collect enough knowledge which is usually specific to the whole system. Being an important artifact in software development, software architecture records plentiful design information, especially the considerations for quality attributes of the target system. It is a natural idea to provide reflective middleware with enough knowledge via software architecture. This paper presents a demonstration of the idea. In this demonstration, the self-adaptations can be analyzed in a quality attribute scenario based way and specified by an extended architecture description language. Such knowledge prescribed at the design phase can be used directly by an architecture based reflective middleware which then automatically adapts itself at runtime.

[1]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .

[2]  Jan Bosch,et al.  Software architecture design: evaluation and transformation , 1999, Proceedings ECBS'99. IEEE Conference and Workshop on Engineering of Computer-Based Systems.

[3]  Gang Huang,et al.  PKUAS: an architecture-based reflective component operating platform , 2004, Proceedings. 10th IEEE International Workshop on Future Trends of Distributed Computing Systems, 2004. FTDCS 2004..

[4]  Nenad Medvidovic ADLs and dynamic architecture changes , 1996, ISAW '96.

[5]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[6]  Bradley R. Schmerl,et al.  Increasing System Dependability through Architecture-Based Self-Repair , 2002, WADS.

[7]  David Garlan,et al.  Specifying and Analyzing Dynamic Software Architectures , 1998, FASE.

[8]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[9]  Gordon S. Blair,et al.  The case for reflective middleware , 2002, CACM.

[10]  Jesper Andersson Issues in Dynamic Software Architectures , 2001 .

[11]  Leonard J. Bass,et al.  Quality Attribute Design Primitives and the Attribute Driven Design Method , 2001, PFE.

[12]  Gang Huang,et al.  A Systematic Approach to Composing Heterogeneous Components , 2003 .

[13]  Paul Clements,et al.  ATAM: Method for Architecture Evaluation , 2000 .

[14]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[15]  Peyman Oreizy,et al.  Using object-oriented typing to support architectural design in the C2 style , 1996, SIGSOFT '96.

[16]  Robert L. Nord,et al.  A Life-Cycle View of Architecture Analysis and Design Methods , 2003 .

[17]  Wolfgang Emmerich,et al.  Software engineering and middleware: a roadmap , 2000, ICSE '00.

[18]  Feng Chen,et al.  ABC/ADL: An ADL Supporting Component Composition , 2002, ICFEM.

[19]  Peyman Oreizy,et al.  Architecture-based runtime software evolution , 1998, Proceedings of the 20th International Conference on Software Engineering.

[20]  Peyman Oreizy,et al.  An architecture-based approach to self-adaptive software , 1999, IEEE Intell. Syst..