Title :
Correct architecture refinement
Author :
Moriconi, Mark ; Qian, Xiaolei ; Riemenschneider, R.A.
Author_Institution :
Comput. Sci. Lab., SRI Int., Menlo Park, CA, USA
fDate :
4/1/1995 12:00:00 AM
Abstract :
A method is presented for the stepwise refinement of an abstract architecture into a relatively correct lower-level architecture that is intended to implement it. A refinement step involves the application of a predefined refinement pattern that provides a routine solution to a standard architectural design problem. A pattern contains an abstract architecture schema and a more detailed schema intended to implement it. The two schemas usually contain very different architectural concepts (from different architectural styles). Once a refinement pattern is proven correct, instances of it can be used without proof in developing specific architectures. Individual refinements are compositional, permitting incremental development and local reasoning. A special correctness criterion is defined for the domain of software architecture, as well as an accompanying proof technique. A useful syntactic form of correct composition is defined. The main points are illustrated by means of familiar architectures for a compiler. A prototype implementation of the method has been used successfully in a real application
Keywords :
program compilers; program verification; software engineering; abstract architecture schema; architectural styles; compiler; compositional refinements; correct architecture refinement; correct composition; correctness criterion; formal methods; hierarchy; incremental development; local reasoning; predefined refinement pattern; proof technique; relatively correct lower-level architecture; software architecture; standard architectural design problem; stepwise refinement; syntactic form; Application software; Computer architecture; Computer science; Concrete; Data engineering; Integrated circuit synthesis; Prototypes; Software architecture; Software prototyping; Software systems;
Journal_Title :
Software Engineering, IEEE Transactions on