Alphard: Form and Content
Springer-Verlag New York Inc.
978-0-387-90663-8 (ISBN)
Alphard is a design for a programming system that supports the abstraction and verification techniques required by modern program'ming methodology. During the language design process, we were concerned simultaneously with problems of methodology, correctness, and efficiency. Methodological concerns are addressed through facilities for defining new, task·specific abstractions that capture complex notions in terms of their intended properties, without explicating them in terms of specific low· level implementations. Techniques for verifying certain properties of these programs address the correctness concerns. Finally, the language has been designed to permit compilation to efficient object code. Although a compiler was not implemented, the research shed light on specification issues and on programming methodology. an abstraction, specifying its behavior Alphard language constructs allow a programmer to isolate publicly while localizing knowledge about its implementation. The verification of such an abstraction consists of showing that its implementation behaves in accordance with the public specification. Given such a verification, the abstraction may be used with confidence to construct higher·level, more abstract, programs. The most common kind of abstraction in Alphard corresponds to what is now called an abstract data type. An abstract data type comprises a set of values for elements of the type and a set of operations on those values. A new language construct, the form, provides a way to encapsulate the definitions of data structures and operations in such a way that only public information could be accessed by the rest of the program.
Publication History.- — History and Overview.- Prelude — The Alphard form and Verification Issues.- I — Abstraction and Verification in Alphard: Introduction to Language and Methodology.- II — Remarks on the Impact of Program Verification on Language Design.- First Interlude — Inadequacy of Simple Encapsulation.- III — Abstraction and Verification in Alphard: Iteration and Generators.- IV — Achieving Quality Software: Reflections on the Aims and Objectives of Alphard.- Second Interlude — Larger Examples.- V — Abstraction and Verification in Alphard: Design and Verification of a Tree Handler.- VI — Abstraction and Verification in Alphard: A Symbol Table Example.- Third Interlude — Language Evolution.- VII — An Informal Definition of Alphard.- Fourth Interlude — Generality and Generic Definitions.- VIII — An Alphard Specification of a Correct and Efficient Transformation on Data Structures.- Fifth Interlude — Validating and Extending the Concepts.- IX — Validating the Utility of Abstraction Techniques.- X — Toward Relaxing Assumptions in Languages and Their Implementations.- Postlude — Reflections and Open Problems.
Zusatzinfo | 321 p. |
---|---|
Verlagsort | New York, NY |
Sprache | englisch |
Maße | 210 x 280 mm |
Themenwelt | Mathematik / Informatik ► Informatik ► Programmiersprachen / -werkzeuge |
Informatik ► Theorie / Studium ► Compilerbau | |
ISBN-10 | 0-387-90663-0 / 0387906630 |
ISBN-13 | 978-0-387-90663-8 / 9780387906638 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich