Formal Foundations for the Specification of Software Architecture.

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

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Mar 01, 1995
Accession Number
ADA297528

Entities

People

  • Mark J. Gerken

Organizations

  • Air Force Institute of Technology

Tags

Communities of Interest

  • C4I
  • Energy and Power Technologies
  • Engineered Resilient Systems
  • Space

DTIC Thesaurus Topics

  • Artificial Intelligence
  • Automata
  • Automata Theory
  • Automatic Programming
  • Command And Control
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Geometric Forms
  • Image Processing
  • Operating Systems
  • Programming Languages
  • Reasoning
  • Software Design
  • Software Development
  • Two Dimensional

Fields of Study

  • Computer science
  • Engineering

Readers

  • Database Systems and Applications
  • Mathematical Modeling and Probability Theory.
  • Systems Analysis and Design