Creating and Manipulating Formalized Software Architectures to Support a Domain-Oriented Application Composition System

Abstract

This research investigated technology which enables sophisticated users to specify, generate, and maintain application software in domain-oriented terms. To realize this new technology, a development environment, called Architect, was designed and implemented. Using canonical formal specifications of domain objects, Architect rapidly composes these specifications into a software application and executes a prototype of that application as a means to demonstrate its correctness before any programming language specific code is generated. Architect depends upon the existence of a formal object base (or domain model) which was investigated by another student in related research. The research described in this thesis relied on the concept of a software architecture, which was a key to Architect's successful implementation. Various software architectures were evaluated and the Object-Connection-Update (OCU) model, developed by the Software Engineering Institute, was selected. The Software Refinery environment was used to implement the composition process which encompasses connecting specified domain objects into a composed application, performing semantic analysis on the composed application, and, if no errors are discovered, simulating the execution of the application. Architect was validated using both artificial and realistic domains and was found to be a solid foundation upon which to build a full-scale application composition system.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Dec 01, 1992
Accession Number
ADA258900

Entities

People

  • Cynthia G. Anderson

Organizations

  • Air Force Institute of Technology

Tags

Communities of Interest

  • C4I
  • Energy and Power Technologies
  • Materials and Manufacturing Processes
  • Space

DTIC Thesaurus Topics

  • Application Software
  • Computer Program Documentation
  • Computer Program Reliability
  • Computer Programming
  • Computer Programs
  • Computers
  • Control Systems
  • Engineering
  • Formal Languages
  • Information Systems
  • Language
  • Logic Gates
  • Operating Systems
  • Programming Languages
  • Software Design
  • Software Development
  • Test And Evaluation

Fields of Study

  • Computer science
  • Engineering

Readers

  • Database Systems and Applications
  • Software Engineering.