The Programming and Proof System ATES

Advanced Techniques Integration into Efficient Scientific Software

  • Armand Puccetti

Part of the Research Reports ESPRIT book series (ESPRIT, volume 1)

Table of contents

  1. Front Matter
    Pages I-VIII
  2. Armand Puccetti
    Pages 1-4
  3. Armand Puccetti
    Pages 5-17
  4. Armand Puccetti
    Pages 18-50
  5. Armand Puccetti
    Pages 51-87
  6. Armand Puccetti
    Pages 88-125
  7. Armand Puccetti
    Pages 126-199
  8. Armand Puccetti
    Pages 200-257
  9. Armand Puccetti
    Pages 258-293
  10. Armand Puccetti
    Pages 294-295
  11. Back Matter
    Pages 296-341

About this book


Today, people use a large number of "systems" ranging in complexity from washing machines to international airline reservation systems. Computers are used in nearly all such systems: accuracy and security are becoming increasingly essential. The design of such computer systems should make use of development methods as systematic as those used in other engineering disciplines. A systematic development method must provide a way of writing specifications which are both precise and concise; it must also supply a way of relating design to specification. A concise specification can be achieved by restricting attention to what a system has to do: all considerations of implementation details are postponed. With computer systems, this is done by: 1) building an abstract model of the system -operations being specified by pre-and post-conditions; 2) defining languages by mapping program texts onto some collection of objects modelizing the concepts of the system to be dealt with, whose meaning is understood; 3) defining complex data objects in terms of abstractions known from mathematics. This last topic, the use of abstract data types, pervades all work on specifications and is necessary in order to apply ideas to systems of significant complexity. The use of mathematics based notations is the best way to achieve precision. 1.1 ABSTRACT DATA TYPES, PROOF TECHNIQUES From a practical point of view, a solution to these three problems consists to introduce abstract data types in the programming languages, and to consider formal proof methods.


Abstract Data Types Abstrakte Datentypen Automatisches Beweisen Datentyp Formal Specifications Formale Spezifikation Program Verification Programmverifikation Software Engineering Software-Engineering Softwareentwicklung Theorem Proving algorithms design development finite element method formal specification language model modeling programming programming language semantics software software engineering theorem proving verification

Editors and affiliations

  • Armand Puccetti
    • 1
  1. 1.CISI IngénierieRungis CedexFrance

Bibliographic information

  • DOI
  • Copyright Information Springer-Verlag Berlin Heidelberg 1991
  • Publisher Name Springer, Berlin, Heidelberg
  • eBook Packages Springer Book Archive
  • Print ISBN 978-3-540-54188-2
  • Online ISBN 978-3-642-84542-0
  • Buy this book on publisher's site