Computer Aided Evolutionary Design for Software Engineering
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...
Gespeichert in:
Hauptverfasser: | , , |
---|---|
Format: | Report |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | 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. |
---|