• DocumentCode
    780618
  • Title

    Correct architecture refinement

  • Author

    Moriconi, Mark ; Qian, Xiaolei ; Riemenschneider, R.A.

  • Author_Institution
    Comput. Sci. Lab., SRI Int., Menlo Park, CA, USA
  • Volume
    21
  • Issue
    4
  • fYear
    1995
  • fDate
    4/1/1995 12:00:00 AM
  • Firstpage
    356
  • Lastpage
    372
  • 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;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/32.385972
  • Filename
    385972