Computer Aided Evolutionary Design for Software Engineering.

Abstract

This memorandum reports on a partially implemented interactive computer aided-design tool for software engineering. A distinguishing characteristic of this project is its concern for the evolutionary character of software systems. It draws a distinction between algorithms and systems, centering its attention on support for the system designer. Although verification has played a large role in recent research, this perspective suggests that the complexity and evolutionary nature of software systems require a number of additional techniques. Managing of complexity is a fundamental issue in all engineering disciplines. The authors identify three major techniques used in mature engineering fields which seem applicable to the engineering of software systems: incremental modelling; multiple and almost hierachical decomposition; and analysis by inspection. Along these lines they have (1) Constructed a plan library to aid in analysis by inspection (the analysis of a program based on identifying standard algorithms and methods in it); (2) Identified a small set of plan building methods which can be used to decompose a softwre system into loosely coupled subsystems; (3) Developed the technique of temporal abstraction which makes it possible to model a program from a viewpoint which clearly separates the actions of generations and consumers of data; and (4) Developed a dependency-based reasoning system uniquely suited to incremental and evolutionary program analysis. These methods are substantially language independent and have been applied to programs written in several commonly used languages.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jan 01, 1979
Accession Number
ADA078060

Entities

People

  • Charles Rich
  • Howard Elliot Shrobe
  • Richard C. Waters

Organizations

  • Massachusetts Institute of Technology

Tags

Communities of Interest

  • Autonomy
  • Cyber
  • Energy and Power Technologies
  • Materials and Manufacturing Processes

DTIC Thesaurus Topics

  • Artificial Intelligence
  • Circuit Analysis
  • Circuits
  • Computer Programming
  • Computer Science
  • Computers
  • Debugging
  • Diagrams
  • Engineering
  • Engineers
  • Hash Tables
  • Information Processing
  • Language
  • Mechanical Engineering
  • Military Research
  • Programming Languages
  • Software Development

Fields of Study

  • Computer science
  • Engineering

Readers

  • Distributed Systems and Data Platform Development
  • Software Engineering.
  • Theoretical Analysis.