SA(3) - a tool for supporting adaptable software architecture generation for embedded systems
Adaptability is emerging as an important attribute or nonfunctional requirement (NFR) for embedded systems. Intuitively, adaptability is the ability of a software system to accommodate changes in its environment. However, in order for the embedded system to be adaptable its architecture, the first step in the development, should itself be adaptable. It will be helpful if the generation of this architecture could be automated. In this paper, we describe a tool called the Software Architecture Adaptability Assistant (SA(3)) that helps generate adaptable architectures. SA(3) uses the properties of the NFR Framework, in particular its knowledge base properties, to create a catalog of various constituents of architecture such as components and connections, and then searches the catalog to find adaptable constituents for the architecture. In this paper, we describe the theory behind SA(3) and then describe the tool itself We then demonstrate the architecture generation capability of the tool for embedded systems. We also discuss why these architectures are adaptable as well as point out directions for further improvement. (C) 2002 Elsevier Science B.V. All rights reserved.
adaptability software architecture nonfunctional requirements nfr framework knowledge base