Abstract types defined as classes of variables

@inproceedings{Parnas1976AbstractTD,
  title={Abstract types defined as classes of variables},
  author={David Lorge Parnas and John E. Shore and David M. Weiss},
  booktitle={Conference on Data: Abstraction, Definition and Structure},
  year={1976}
}
The concept of “type” has been used without a precise definition in discussions about programming languages for 20 years. Before the concept of user defined data types was introduced, a definition was not necessary for discussions of specific programming languages. The meaning of the term was implicit in the small list of possible types supported by the language. There was even enough similarity between different languages so that this form of definition allowed discussions of languages in… 

In Search of Types

This essay explores various concepts lurking behind distinct uses of this word, highlighting two traditions in which the word came into use largely independently: engineering traditions on the one hand, and those of symbolic logic on the other.

An Abstract Type for Statistics Collection in Simula

The purposes of this paper are to demonstrate the application of the concepts of data abstraction to a common problem, and to provide a portable facility for statistics collection that may make the use of SIMULA more attractive.

Name management in the construction of large programs. [Modular decomposition, programmed in PL/I for IBM 360/65]

A framework emphasizing the management of names during the program construction process and an implementation model defining the effect of these constructs on the naming structure of the resulting language are presented.

Abstracting linked data structures using incremental records

The implementation of an abstract data type "list" using the techniques currently available in some modern programming languages is not as easy as it seems on first glance, and a solution is proposed which avoids them.

On Language Interfaces

The benefits of language interfaces in the context of software language engineering are discussed and particular usages that address current challenges in language development are elaborate.

Using assertions about traces to write abstract specifications for software modules

Although the module is a simple one, the early specifications contained design flaws that were not detected in spite of the involvement of several persons in a series of discussions about the module, so the method introduced in this paper is easily recognized.

Where are the data?

  • J. Reich
  • Computer Science
    Nature Structural &Molecular Biology
  • 2016
It is argued that the proposed data concept matches the concept of characteristics (Merkmale) of the automation industry and is mathematically conceptualized as typed information based on the two concepts of information and computable functionality.

Testing the polymorphic relationships of object-oriented programs

This thesis extends previous work to account for the compositional relationships found in object-oriented programs and produces a proof of concept tool that demonstrates the practicality and effectiveness of the coupling-based analysis and testing techniques.

A fault model for subtype inheritance and polymorphism

This paper presents a model for the appearance and realization of OO faults and defines and discusses specific categories of inheritance and polymorphic faults, which can be used to support empirical investigations of object-oriented testing techniques, to inspire further research into object- oriented testing and analysis, and to help improve design and development of object.

GRACE TECHNICAL REPORTS Proceedings of the Sixth Asian Workshop on Foundations of Software

This talk presents an approach that can be applied to all of the problems of software development and allows designers to use the same notation throughout and to check on the correctness of the results at the end of each design phase.

References

SHOWING 1-10 OF 23 REFERENCES

The treatment of data types in EL1

The EL1 language contains a number of features specifically designed to simultaneously satisfy both natural problem-oriented notation and efficient implementation, in a context that allows efficient compiled code and compact data representation.

Programming with abstract data types

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.

Revised report on the algorithmic languageAlgol 60

A complete defining description of the international algorithmic languageAlgol 60, a language suitable for expressing a large class of numerical processes in a form sufficiently concise for direct automatic translation into the language of programmed automatic computers is given.

Revised report on the algorithm language ALGOL 60

a survey of the basic coustituents arid fcuturcs of the language is given, and the formal notation, by which the syntactic structure is defined, is esplaincd. The sccnnd chapter lists all the basic

Report of Algorithmic Language ALGOL 68

Working Group 2.1 on ALGOL of the International Federation for Information Processing has discussed the development of “ALGOL X”, a successor to ALGol 60 since 1963, and invited written descriptions of the language based on the previous discussions.

A technique for software module specification with examples

This paper presents an approach to writing specifications for parts of software systems sufficiently precise and complete that other pieces of software can be written to interact with the piece specified without additional information.

On the criteria to be used in decomposing systems into modules

This paper discusses modularization as a mechanism for improving the flexibility and comprehensibility of a system while allowing the shortening of its development time. The effectiveness of a

Notes on structured programming

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.