Title
Adaptable architecture generation for embedded systems
Abstract
Architecture generation is the first step in the design of software systems. Many of the qualities that the final software system possesses are usually decided at the architecture development stage itself. Thus, if the final system should be usable, testable, secure, high performance, mobile and adaptable, then these qualities or non-functional requirements (NFRs) should be engineered into the architecture itself. In particular, recently adaptability is emerging as an important attribute required by almost all software systems. Briefly, adaptability is the ability of a software system to accommodate changes in its environment. Embedded systems are usually constrained both in hardware and software. Current adaptable architecture development methods for embedded systems are usually manual and ad hoc--there are almost no comprehensive systematic approaches to consider NFRs at the architecture development stage. While there are several examples of approaches to generate architectures based on functional requirements, we believe that there are very few techniques that consider NFRs such as adaptability during the process of architecture generation. In this paper we present an automated design method that helps develop adaptable architectures for embedded systems by developing a tool called Software Architecture Adaptability Assistant (SA3). SA3 helps the developer during the process of software architecture development by selecting the architectural constituents such as components, connections, patterns, constraints, styles, and rationales that best fit the adaptability requirements for the architecture. The developer can then complete the architecture from the constituents chosen by the tool. SA3 uses the knowledge base properties of the NFR Framework in order to help automatically generate the architectural constituents. The NFR Framework provides a systematic method to consider NFRs, in particular their synergies and conflicts. We validated the architectures generated by SA3 in a type of embedded system called the vocabulary evolution system (VES) by implementing the codes from the generated architectures in the VES and confirming that the resulting system satisfied the requirements for adaptability. A VES responds to external commands through an interface such as ethernet and the vocabulary of these commands changes with time. The validation process also led to the discovery of some of the shortcomings of our automated design method.
Year
DOI
Venue
2004
10.1016/S0164-1212(03)00009-8
Journal of Systems and Software
Keywords
Field
DocType
software system,adaptable architecture,non-functional requirements,automated design method,current adaptable architecture development,software architecture,adaptable architecture generation,software architecture development,knowledge base,architectural constituent,adaptability,architecture development stage,architecture generation,nfr framework,embedded system,satisfiability,non functional requirement,functional requirement,software systems,non functional requirements
Systems engineering,Computer science,Real-time computing,Systems architecture,Enterprise architecture framework,Database-centric architecture,Applications architecture,Software engineering,Software architecture description,Multilayered architecture,Software architecture,Reference architecture,Embedded system
Journal
Volume
Issue
ISSN
71
3
The Journal of Systems & Software
Citations 
PageRank 
References 
10
0.76
28
Authors
2
Name
Order
Citations
PageRank
Lawrence Chung123636.31
Nary Subramanian210615.38