| Preface | p. VII |
| Specification Languages | p. VII |
| Structure of Book | p. XI |
| Acknowledgements | p. XII |
| References | p. XII |
| Preludium | |
| An Overview | p. 3 |
| The Book History | p. 3 |
| Formal Specification Languages | p. 6 |
| The Logics | p. 9 |
| References | p. 12 |
| The Languages | |
| Abstract State Machines for the Classroom | p. 15 |
| Intuition and Foundations of ASM | p. 16 |
| What Makes ASM so Unique? | p. 16 |
| What Kind of Algorithms Do ASM Cover? | p. 18 |
| Pseudocode Programs and Their Semantics | p. 23 |
| The Formal Framework | p. 26 |
| Signatures and Structures | p. 27 |
| Sequential Small-Step ASM Programs | p. 30 |
| Properties of Sequential Small-Step ASM Programs | p. 35 |
| Gurevich's Theorem | p. 37 |
| Extensions | p. 38 |
| Sequential Large-Step ASM Algorithms | p. 38 |
| Non-deterministic and Reactive ASM | p. 39 |
| Distributed ASM | p. 41 |
| ASM as a Specification Language | p. 42 |
| Conclusion | p. 43 |
| Acknowledgements | p. 44 |
| References | p. 44 |
| ASM Indexes | p. 46 |
| The event-B Modelling Method: Concepts and Case Studies | p. 47 |
| Introduction | p. 47 |
| The B Language | p. 50 |
| B Models | p. 62 |
| Sequential Algorithms | p. 77 |
| Combining Coordination and Refinement for Sorting | p. 93 |
| Spanning-tree Algorithms | p. 112 |
| Design of Distributed Algorithms by Refinement | p. 124 |
| Conclusion | p. 142 |
| References | p. 145 |
| Event B Indexes | p. 150 |
| A Methodological Guide to the CafeOBJ Logic | p. 153 |
| The CafeOBJ Specification Language | p. 153 |
| Data Type Specification | p. 156 |
| Transitions | p. 176 |
| Behavioural Specification | p. 190 |
| Institutional Semantics | p. 220 |
| Structured Specifications | p. 225 |
| Acknowledgement | p. 236 |
| References | p. 236 |
| CafeOBJ Indexes | p. 239 |
| Casl - the Common Algebraic Specification Language | p. 241 |
| Introduction | p. 241 |
| Institutions and Logics | p. 243 |
| Many-Sorted Basic Specifications | p. 244 |
| Subsorted Basic Specifications | p. 251 |
| Casl Language Constructs | p. 253 |
| Structured Specifications | p. 255 |
| Architectural Specifications | p. 261 |
| Refinement | p. 272 |
| Tools | p. 274 |
| Case Study | p. 275 |
| Conclusion | p. 289 |
| References | p. 290 |
| CASL Indexes | p. 294 |
| Duration Calculus | p. 299 |
| Introduction | p. 301 |
| Syntax, Semantics and Proof System | p. 306 |
| Extensions of Duration Calculus | p. 321 |
| Decidability, Undecidability and Model Checking | p. 332 |
| Some Links to Related Work | p. 334 |
| References | p. 336 |
| DC Indexes | p. 345 |
| The Logic of the RAISE Specification Language | p. 349 |
| Introduction | p. 349 |
| The RSL Logic | p. 352 |
| The Axiomatic Semantics: A Logic for Definition | p. 365 |
| The RSL Proof System: A Logic for Proof | p. 369 |
| Case Study | p. 372 |
| Conclusions | p. 393 |
| References | p. 395 |
| RAISE Indexes | p. 397 |
| The Specification Language TLA+ | p. 401 |
| Introduction | p. 401 |
| Example: A Simple Resource Allocator | p. 402 |
| TLA: The Temporal Logic of Actions | p. 409 |
| Deductive System Verification in TLA | p. 423 |
| Formalized Mathematics: The Added Value of TLA+ | p. 430 |
| The Resource Allocator Revisited | p. 434 |
| Conclusions | p. 445 |
| References | p. 446 |
| TLA+ Indexes | p. 448 |
| The Typed Logic of Partial Functions and the Vienna Development Method | p. 453 |
| Introduction | p. 453 |
| The Vienna Development Method | p. 454 |
| A Proof Framework for VDM | p. 464 |
| The Typed Logic of Partial Functions | p. 467 |
| Theories Supporting VDM-SL | p. 472 |
| Three Approaches to Supporting Logic in VDM | p. 477 |
| Conclusions and Future Directions | p. 481 |
| References | p. 482 |
| VDM Indexes | p. 485 |
| Z Logic and Its Applications | p. 489 |
| Introduction | p. 489 |
| Initial Considerations | p. 490 |
| The Specification Logic Zc | p. 498 |
| Conservative Extensions | p. 504 |
| Equational Logic | p. 509 |
| Precondition Logic | p. 509 |
| Operation Refinement | p. 511 |
| Four Equivalent Theories | p. 518 |
| The Non-lifted Totalisation | p. 526 |
| The Strictly-Lifted Totalisation | p. 531 |
| Data Refinement (Forward) | p. 533 |
| Four (Forward) Theories | p. 536 |
| Three Equivalent Theories | p. 539 |
| The Non-lifted Totalisation underlying Data Refinement | p. 545 |
| Data Refinement (Backward) | p. 548 |
| Four (Backward) Theories | p. 550 |
| Four Equivalent Theories | p. 552 |
| The Non-lifted Totalisation underlying Data Refinement | p. 557 |
| Discussion | p. 561 |
| Operation Refinement and Monotonicity in the Schema Calculus | p. 564 |
| Distributivity Properties of the Chaotic Completion | p. 577 |
| Conclusions | p. 588 |
| Acknowledgements | p. 588 |
| References | p. 589 |
| Postludium | |
| Reviews | p. 599 |
| ASM | p. 599 |
| On B and event-B | p. 602 |
| Formal Methods and CafeOBJ | p. 604 |
| A View of the CASL | p. 607 |
| Duration Calculus | p. 609 |
| RAISE in Perspective | p. 611 |
| VDM "Postludium" | p. 614 |
| The Specification Language TLA+ | p. 616 |
| Z Logic and Its Applications | p. 620 |
| Closing | p. 623 |
| Table of Contents provided by Publisher. All Rights Reserved. |