Accession Number : ADA297528

Title :   Formal Foundations for the Specification of Software Architecture.

Descriptive Note : Doctoral thesis,

Corporate Author : AIR FORCE INST OF TECH WRIGHT-PATTERSON AFB OH SCHOOL OF ENGINEERING

Personal Author(s) : Gerken, Mark J.

PDF Url : ADA297528

Report Date : MAR 1995

Pagination or Media Count : 327

Abstract : This investigation establishes a formal foundation for software architecture that allows for the specification of large, non-trivial software systems using well founded, consistency preserving construction techniques. Two fundamental problems were addressed: how to define and express architectures formally using the concept of theories, and how architecture theories can be practically applied in specification construction. The initial stages of this investigation sought to establish a formal, mathematical relationship between functional specifications of behavior and specifications defining system structure. Experimental results lead to the conclusion that architectures defining the structure of functional operations can be defined using functional logic, but more complex architectures require a separate process logic. A process logic based on Hoare's Communicating Sequential Processes (CSP) was selected for representing and reasoning about system structure and was used in the definition of a process-based specification development system. Specifically, CSP was used to define a category of process-based specifications and specification morphisms. This allowed well-founded specification construction techniques such as specification morphisms, colimits, and interpretations to be applied to the construction of consistent software architecture. Architecture theories expressed in terms of functional and process-based specifications were defined, and translations between these architecture theories were investigated. A feasibility analysis on an image processing application demonstrated that architecture theories can be used to develop specifications for large, non-trivial applications. (KAR) P. 24

Descriptors :   *SOFTWARE ENGINEERING, *SPECIFICATIONS, *COMPUTER ARCHITECTURE, IMAGE PROCESSING, REASONING, THEORY, SEQUENCES, CONSISTENCY, CONSTRUCTION, FEASIBILITY STUDIES, IMAGES, OPERATION, MATHEMATICS, TRANSLATIONS, BEHAVIOR, LOGIC, MENTAL ABILITY.

Subject Categories : Computer Programming and Software

Distribution Statement : APPROVED FOR PUBLIC RELEASE