Advertisement

Formal Methods and Object Technology

  • S. J. Goldsack
  • S. J. H. Kent

Table of contents

  1. Front Matter
    Pages i-xviii
  2. Introduction

    1. Front Matter
      Pages 1-1
    2. S. J. Goldsack, S. J. H. Kent
      Pages 3-16
    3. S. J. Goldsack, S. J. H. Kent
      Pages 17-29
  3. Formal Methods in Object Technology

    1. Front Matter
      Pages 31-31
    2. S. J. Goldsack, S. J. H. Kent
      Pages 33-46
    3. S. J. Goldsack, S. J. H. Kent
      Pages 47-59
  4. Object Technology in Formal Methods

    1. Front Matter
      Pages 61-61
    2. S. J. Goldsack, S. J. H. Kent
      Pages 86-112
  5. Formal Foundations of Object Technology

    1. Front Matter
      Pages 181-181
    2. S. J. Goldsack, S. J. H. Kent
      Pages 183-204
    3. S. J. Goldsack, S. J. H. Kent
      Pages 205-226
    4. S. J. Goldsack, S. J. H. Kent
      Pages 227-261
    5. S. J. Goldsack, S. J. H. Kent
      Pages 262-286
    6. S. J. Goldsack, S. J. H. Kent
      Pages 287-301
    7. S. J. Goldsack, S. J. H. Kent
      Pages 302-316
    8. S. J. Goldsack, S. J. H. Kent
      Pages 317-335
  6. Back Matter
    Pages 336-368

About this book

Introduction

Rationale Software engineering aims to develop software by using approaches which en­ able large and complex program suites to be developed in a systematic way. However, it is well known that it is difficult to obtain the level of assurance of correctness required for safety critical software using old fashioned program­ ming techniques. The level of safety required becomes particularly high in software which is to function without a break for long periods of time, since the software cannot be restarted and errors can accumulate. Consequently programming for mission critical systems, for example, needs to address the requirements of correctness with particular care. In the search for techniques for making software cheaper and more reliable, two important but largely independent influences have been visible in recent years. These are: • Object Technology • Formal Methods First, it has become evident that objects are, and will remain an important concept in software. Experimental languages of the 1970's introduced various concepts of package, cluster, module, etc. giving concrete expression to the importance of modularity and encapsulation, the construction of software com­ ponents hiding their state representations and algorithmic mechanisms from users, exporting only those features (mainly the procedure calling mechanisms) which were needed in order to use the objects. This gives the software com­ ponents a level of abstraction, separating the view of what a module does for the system from the details of how it does them.

Keywords

C++ programming language Eiffel Objective-C concurrency development formal method formal methods logic object programming semantics software software development software engineering verification

Editors and affiliations

  • S. J. Goldsack
    • 1
  • S. J. H. Kent
    • 2
  1. 1.Department of Computing, Technology and MedicineImperial College of ScienceLondonUK
  2. 2.Department of ComputingUniversity of BrightonBrightonUK

Bibliographic information