Vol 9 No.1

Exploiting Patterns and Tool Support for Reusable and Automated Change Support for Software Architectures

ABSTRACT Lehman’s law of continuing change implies that software must continually evolve to accommodate frequently changing requirements in existing systems. Also, maintainability as an attribute of system quality requires that changes are to be systematically implemented in existing software throughout its lifecycle. To support a continuous software evolution, the primary challenges include (i) enhancing reuse of recurring changes; and (ii) decreasing the efforts for change implementation. We propose change patterns and demonstrate their applicability as reusable solutions to recurring problems of architectural change implementation. Tool support can empower the role of a designer/architect by facilitating them to avoid labourious tasks and executing complex and large number of changes in an automated way. Recently, change patterns as well as tool support have been exploited for architecture evolution, however; there is no research to unify pattern-driven (reusable) and toolsupported (automated) evolution that is the contribution of this paper. By exploiting patterns with tool support we demonstrate the evolution of a peerto-peer system towards client-server architecture. Evaluation results suggest that: (i) patterns promote reuse but lack fine-granular change implementation, and (ii) tool supports automation but user intervention is required to customize architecture change management.

Authors
Aakash Ahmad
  • Organization : School of Electrical Engineering and Computer Science.National University of Sciences and Technology (Pakistan)
  • Email : aakash.ahmad@seecs.edu.pk
Read More
Claus Pahl
Read More
Fawad Khaliq
Read More
Onaiza Maqbool
  • Organization : Department of Computer Science.Quaid-i-Azam University (Pakistan)
  • Email : onaiza@qau.edu.pk
Read More
Pooyan Jamshidi
Read More