Transformational Implementation: An Example.

Abstract

Program Manipulation Systems have been proposed as an alternative programming paradigm in which the PROCESSES of design and implementation are themselves the subject of study. These processes are captured and recorded to provide documentation of the program, the basis for its validation, and the framework within which future maintenance will occur. This extension of the conventional programming paradigm to include the development of the program as a computer processable object in addition to the program itself is quite profound. A key insight of the Program Manipulation approach is that transformations provide a sufficient basis for the design and implementation processes. Each development decision can be represented as a transformation applied to the program. Thus, a development if merely a linear sequence of transformations applied to the PROGRAM resulting from the previous stage of development. Each stage of the development corresponds to the transformation of a program treated as a specification into another treated as an implementation. Thus, development is an iterative (or sometimes a recursive) process of successive refinement in which a specification is gradually transformed into an implementation. This implies that the original specification of the program is itself a program (so that it can be transformed). To be a program, the specification language must have a formal semantics (thus precluding pseudo-code type languages) so that validity of transformations and of the development process is a meaningful concept. (Author)

Open PDF

Document Details

Document Type
Technical Report
Publication Date
May 01, 1981
Accession Number
ADA101994

Entities

People

  • Robert Balzer

Organizations

  • University of Southern California

Tags

Communities of Interest

  • Materials and Manufacturing Processes

DTIC Thesaurus Topics

  • Abstracts
  • Algorithms
  • Artificial Intelligence
  • Classification
  • Computer Languages
  • Computer Programming
  • Computer Programs
  • Computers
  • Engineering
  • Environment
  • Information Processing
  • Information Science
  • Language
  • Programming Languages
  • Security
  • Software Development

Fields of Study

  • Computer science
  • Engineering

Readers

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