Software Engineering 1

Abstraction and Modelling

  • Dines Bjørner

Table of contents

  1. Front Matter
    Pages I-XXXIX
  2. Opening

    1. Front Matter
      Pages 1-1
    2. Pages 3-42
  3. Discrete Mathematics

    1. Front Matter
      Pages 43-43
    2. Pages 45-54
    3. Pages 55-61
    4. Pages 63-70
    5. Pages 71-85
    6. Pages 87-108
    7. Pages 109-125
    8. Pages 127-140
    9. Pages 141-199
  4. Simple RSL

    1. Front Matter
      Pages 201-204
    2. Pages 263-293
    3. Pages 295-319
    4. Pages 321-347
    5. Pages 349-392
  5. Specification Types

    1. Front Matter
      Pages 411-411
    2. Pages 413-425
  6. Specification Programming

  7. And So On!

    1. Front Matter
      Pages 555-555
    2. Pages 557-560
  8. Back Matter
    Pages 561-711

About this book


The art, craft, discipline, logic, practice, and science of developing large-scale software products needs a believable, professional base. The textbooks in this three-volume set combine informal, engineeringly sound practice with the rigour of formal, mathematics-based approaches.

Volume 1 covers the basic principles and techniques of formal methods abstraction and modelling. First this book provides a sound, but simple basis of insight into discrete mathematics: numbers, sets, Cartesians, types, functions, the Lambda Calculus, algebras, and mathematical logic. Then it trains its readers in basic property- and model-oriented specification principles and techniques. The model-oriented concepts that are common to such specification languages as B, VDM-SL, and Z are explained here using the RAISE specification language (RSL). This book then covers the basic principles of applicative (functional), imperative, and concurrent (parallel) specification programming. Finally, the volume contains a comprehensive glossary of software engineering, and extensive indexes and references.

These volumes are suitable for self-study by practicing software engineers and for use in university undergraduate and graduate courses on software engineering. Lecturers will be supported with a comprehensive guide to designing modules based on the textbooks, with solutions to many of the exercises presented, and with a complete set of lecture slides.


design formal method lambda calculus logic modeling programming software engineering

Authors and affiliations

  • Dines Bjørner
    • 1
  1. 1.Computer Science and EngineeringInformatics and Mathematical ModellingKgs. LyngbyDenmark

Bibliographic information