A Classification of Formal Specifications for Dynamic Software Architectures (2004)
| Citations: | 1 - 0 self |
BibTeX
@MISC{Bradbury04aclassification,
author = {Jeremy S. Bradbury and James R. Cordy and Juergen Dingel and Michel Wermelinger},
title = {A Classification of Formal Specifications for Dynamic Software Architectures},
year = {2004}
}
OpenURL
Abstract
Architectural change is defined as the addition and removal of components and connectors. Dynamic software architectures are those architectures that modify their architecture and enact the modifications during the system's execution. This behavior is most commonly known as run-time evolution or dynamism. As dynamic software architecture use becomes more widespread, it is important to gain a better understanding of the foundations of this type of software evolutionary change and be able to classify formalisms, approaches and tools. Current evaluations in the areas of software architecture and evolutionary change have made strides in classification but are not sufficient to evaluate dynamic software architectures. A dedicated comparison of dynamic software architectures and architectural formalisms is necessary in order to gain a deeper understanding of run-time evolution. In this paper we present a set of classification criteria for the comparison of dynamic software architectures based on: change type, change process, and change infrastructure. We demonstrate the use of the criteria by classifying formal specifications of dynamic software architectures based on graphs, process algebras, logic, and other formalisms. Specifically, we survey and classify 14 formal specification approaches.







