Modularity in Non-Procedural Languages through Abstract Data Types.

Abstract

This dissertation presents abstract data types as a means of introducing modularity in non-procedural languages. Non-procedural languages based on equational specifications have been proposed in recent years to improve programmer productivity reliability. Issues of structured programming (i.e. disciplined use of the control structure) have no meaning in the context of these languages because these are devoid of any control structure. Statements in a specification can be given in any order; the sequence of execution is determined after an analysis of the specification. Modularity, however, still remains an important issue in the context of these languages, as it allows specifications to be written and processed independently. Abstract data types are proposed as a means of introducing modularity. Notion of module for the specification of abstract data types is introduced and its denotational semantics is given. Nopal, a non-procedural language for the specification of testing of electrical circuits, has been chosen in which abstract data types are introduced for modularity. The abstract data types also allow specification of virtual devices in testing.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Aug 31, 1980
Accession Number
ADA095546

Entities

People

  • Rajeev Sangal

Organizations

  • Moore School of Electrical Engineering

Tags

Communities of Interest

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

DTIC Thesaurus Topics

  • Abstracts
  • Automatic Programming
  • Computer Programming
  • Computers
  • Content Addressable Memory
  • Electrical Engineering
  • Engineering
  • Failure Mode And Effect Analysis
  • High Level Languages
  • Information Science
  • Information Systems
  • Language
  • Plastic Explosives
  • Procedural Programming Language
  • Programming Languages
  • Structured Programming
  • Test Equipment

Fields of Study

  • Computer science
  • Engineering
  • Geography

Readers

  • Computational Linguistics
  • Software Engineering