Title :
Knowledge-based software architectures: acquisition, specification, and verification
Author :
Tsai, Jeffrey J P ; Liu, Alan ; Juan, Eric ; Sahay, Avinash
Author_Institution :
Dept. of Electr. Eng. & Comput. Sci., Illinois Univ., Chicago, IL, USA
Abstract :
The concept of knowledge-based software architecture has recently emerged as a new way to improve our ability to effectively construct and maintain complex, large-scale software systems. Under this new paradigm, software engineers are able to do evolutionary design of complex systems through architecture specification, design rationale capture, architecture validation and verification, and architecture transformation. This paper surveys some of the important techniques that have been developed to support these activities. In particular, we are interested in knowledge/requirements acquisition and analysis. We survey some tools that use the knowledge-based approach to solve these problems. We also discuss various software architecture styles, architecture description languages (ADLs) and features of ADLs that help build better software systems. We then compare various ADLs based on these features. The efficient methods that were developed for verification, validation and high assurance of architectures are also discussed. Based on our survey results, we give a basis for comparing the various knowledge-based systems and list these comparisons in the form of a table
Keywords :
computer aided software engineering; formal specification; formal verification; knowledge acquisition; knowledge based systems; large-scale systems; reviews; software architecture; specification languages; architecture description languages; architecture specification; architecture transformation; architecture validation; architecture verification; assurance; complex large-scale software systems; compositional verification; design rationale capture; evolutionary design; formal specification; formal verification; knowledge acquisition; knowledge-based software architectures; requirements acquisition; requirements analysis; software architecture styles; survey; Application software; Computer architecture; Design engineering; Hardware; Large-scale systems; Power engineering computing; Software architecture; Software design; Software maintenance; Software systems;
Journal_Title :
Knowledge and Data Engineering, IEEE Transactions on