scispace - formally typeset
Journal ArticleDOI

Abstraction mechanisms in CLU

TLDR
This paper provides an introduction to the abstraction mechanisms in CLU by means of programming examples, and it is shown how CLU programs may be written to use and implement abstractions.
Abstract
CLU is a new programming language designed to support the use of abstractions in program construction. Work in programming methodology has led to the realization that three kinds of abstractions—procedural, control, and especially data abstractions—are useful in the programming process. Of these, only the procedural abstraction is supported well by conventional languages, through the procedure or subroutine. CLU provides, in addition to procedures, novel linguistic mechanisms that support the use of data and control abstractions. This paper provides an introduction to the abstraction mechanisms in CLU. By means of programming examples, the utility of the three kinds of abstractions in program construction is illustrated, and it is shown how CLU programs may be written to use and implement abstractions. The CLU library, which permits incremental program development with complete type checking performed at compile time, is also discussed.

read more

Citations
More filters
Book

Distributed algorithms

Nancy Lynch
TL;DR: This book familiarizes readers with important problems, algorithms, and impossibility results in the area, and teaches readers how to reason carefully about distributed algorithms-to model them formally, devise precise specifications for their required behavior, prove their correctness, and evaluate their performance with realistic measures.
Journal ArticleDOI

Program Slicing

TL;DR: Program slicing as mentioned in this paper is a method for automatically decomposing programs by analyzing their data flow and control flow. But it is not a technique for finding statement-minimal slices, as it is in general unsolvable, but using data flow analysis is sufficient to find approximate slices.
Journal ArticleDOI

Semantic database modeling: survey, applications, and research issues

TL;DR: This paper provides a tutorial introduction to the primary components of semantic models, which are the explicit representation of objects, attributes of and relationships among objects, type constructors for building complex types, ISA relationships, and derived schema components.
Journal ArticleDOI

The design and implementation of hierarchical software systems with reusable components

TL;DR: A domain-independent model of hierarchical software system design and construction that is based on interchangeable software components and large-scale reuse that is a blueprint for achieving software component technologies in many domains is presented.
Journal ArticleDOI

The Programming Language Aspects of ThingLab, a Constraint-Oriented Simulation Laboratory

TL;DR: The programming language aspects of a graphic simulation laboratory named ThingLab, which is an object-oriented system that employs inheritance and part-whole hierarchies to describe the structure of a simulation, are presented.
References
More filters
Book

The Art of Computer Programming

TL;DR: The arrangement of this invention provides a strong vibration free hold-down mechanism while avoiding a large pressure drop to the flow of coolant fluid.
Book

Notes on structured programming

TL;DR: The final author version and the galley proof are versions of the publication after peer review that features the final layout of the paper including the volume, issue and page numbers.
Journal ArticleDOI

Proof of correctness of data representations

TL;DR: In this paper, a powerful method of simplifying the proofs of program correctness is suggested; and some new light is shed on the problem of functions with side-effects, and a new method for simplifying program correctness proofs is proposed.
Journal ArticleDOI

Program development by stepwise refinement

TL;DR: The process of successive refinement of specifications is illustrated by a short but nontrivial example, from which a number of conclusions are drawn regarding the art and the instruction of programming as discussed by the authors.
Proceedings ArticleDOI

Programming with abstract data types

TL;DR: An approach which allows the set of built-in abstractions to be augmented when the need for a new data abstraction is discovered and is an outgrowth of work on designing a language for structured programming.