Cart
Free US shipping over $10
Proud to be B-Corp

Formal Specification Nimal Nissanke

Formal Specification By Nimal Nissanke

Formal Specification by Nimal Nissanke


$77.19
Condition - New
Only 2 left

Summary

Formal Specification provides the reader with a practical and versatile approach to constructing program specifications. It includes both model-based (Z/VDM) and algebraic (CLEAR) paradigms of specification and emphasizes the range of languages and approaches available.

Formal Specification Summary

Formal Specification: Techniques and Applications by Nimal Nissanke

Formal Specification provides the reader with a practical and versatile approach to constructing program specifications. It includes both model-based (Z/VDM) and algebraic (CLEAR) paradigms of specification and emphasizes the range of languages and approaches available. Its main advantage over other specification books is that is offers an unrivaled breadth of coverage of the area, encompassing all the recent important advances.

Table of Contents

1. Introduction.- 1.1 Specification and Correctness.- 1.2 Specification as a Contract.- 1.3 Specification as a Design Aid.- 1.4 Specification as a Human Endeavour.- 1.5 Specification as Abstraction.- 1.6 Modularity in Specifications.- 1.7 Benefits Beyond Precision.- 1.8 Formal Specification as an Emerging Technology.- 1.9 Specification Techniques.- 2. Schema Language.- 2.1 Introduction.- 2.2 Type Definitions in Z.- 2.2.1 Generic Types.- 2.2.2 Free (Enumerated) Types.- 2.2.3 Types Defined by Schemas.- 2.3 Mathematical Definitions in Z.- 2.3.1 Schema.- 2.3.2 Axiomatic Definitions.- 2.3.3 Generic Definitions.- 2.4 Presentation of Schemas.- 2.5 Schema Manipulation.- 2.5.1 Schema Extension.- 2.5.2 Merging Schemas.- 2.5.3 Schema Negation.- 2.6 Significance of Schemas.- 2.6.1 Schemas Instead of Declarations.- 2.6.2 Schemas and Mathematical Relations.- 2.6.3 Bindings.- 2.6.4 Schemas as Sets.- 2.6.5 Schemas as Types.- 2.6.6 In Lambda Notation.- 2.6.7 Schemas in Predicate Logic Formulae.- 2.7 Some Naming Conventions.- 2.7.1 Schema Decoration.- 2.7.2 Explicit Renaming of Components.- 2.7.3 Dot Notation.- 2.8 Hiding and Projection of Components.- 2.9 Notation for Specification of Systems.- 2.9.1 General.- 2.9.2 Types of Operations.- 2.9.3 Naming Conventions.- 2.9.4 Some Common Abbreviations.- 2.10 Schema Composition.- 2.11 Pre and Post Conditions.- 2.12 Promotion.- Exercises.- 3. An Approach to Specification.- 3.1 Introduction.- 3.2 An Initial Understanding.- 3.2.1 Identification of the Objects of Discourse and Operations.- 3.3 Abstraction and Modularisation.- 3.3.1 Abstraction.- 3.3.2 Modularisation.- 3.4 Flight Journey.- 3.5 Flight Accommodation.- 3.6 Definition of Flight.- 3.6.1 Definition of Flight State.- 3.6.2 Initialisation of Flight State.- 3.7 Operations on Flight.- 3.7.1 Passenger Details.- 3.7.2 An Auxiliary Definition.- 3.7.3 Messages.- 3.7.4 Operation of Booking a Seat.- 3.7.5 Operation of Cancelling a Booking.- 3.7.6 Query Operation on Seat Availability.- 3.8 An Airline.- 3.8.1 Abstract Representation.- 3.8.2 Initialisation.- 3.8.3 Shared Auxiliary Specifications.- 3.8.4 Airline Operations.- Concluding Remarks.- Exercises.- 4. Specification for Fun.- 4.1 Games as Systems.- 4.2 Musical Chairs.- 4.2.1 The Problem Description.- 4.2.2 A Mathematical Description.- 4.3 Snakes and Ladders.- 4.3.1 The Problem Description.- 4.3.2 The Preliminaries.- 4.3.3 Some Notes on Decomposition.- 4.3.4 A Simple Game.- 4.3.5 The Full Game.- 4.3.6 An Illustration.- Exercises.- 5. A Specification for Clocks.- 5.1 Representation of Time.- 5.1.1 Notions of Time.- 5.1.2 Real Time.- 5.1.3 Points and Intervals of Time.- 5.1.4 Clock Time.- 5.2 A Mathematical Definition of Clocks.- 5.2.1 Clock Mechanism.- 5.3 Clock Utilities.- 5.3.1 Idealised Clock with Utilities.- 5.4 Operations and Transitions.- 5.4.1 Initialisation and Resetting.- 5.4.2 Clock Advancement.- 5.4.3 The Functioning of the Alarm.- 5.5 Intervals in Real Time.- Concluding Remarks.- Exercises.- 6. Reasoning About Specifications.- 6.1 Introduction.- 6.2 Kinds of Internal Consistency.- 6.3 Consistency of the General State.- 6.4 Initialisation Consistency.- 6.5 Consistency of Operations.- 6.5.1 Forms of Operation Inconsistency.- 6.5.2 Proof of Operational Aspects.- 6.5.3 Proofs Obligatory on Specification Grounds.- 6.5.4 An Illustration.- Exercises.- 7. Specification of a Network Protocol.- 7.1 Introduction.- 7.2 OSI Reference Model.- 7.3 Some Preliminaries.- 7.4 Application Layer.- 7.5 Presentation Layer.- 7.5.1 Refinement of the Data Type Message.- 7.5.2 Proofs on Verification.- 7.6 Session Layer.- 7.7 Transport Layer.- 7.8 Selected Proofs.- 7.8.1 Proof of Reflexivity.- 7.8.2 Proof of Symmetry.- 7.8.3 Proof of Transitivity.- 7.9 Bibliographical Notes.- Exercises.- 8. Object Oriented Specification.- 8.1 Object Orientation in the Narrow Sense.- 8.2 Object Orientation in the Wider Sense.- 8.3 What are Objects?.- 8.4 Some Object Oriented Concepts.- 8.4.1 Software Reuse.- 8.4.2 Inheritance.- 8.4.3 Overloading, Genericity and Polymorphism.- 8.5 Abstract Data Types and Classes.- 8.6 Representation of Classes.- 8.7 Object Oriented Specification Languages.- 8.7.1 An Object Oriented Syntax in Z Style.- 8.8 Object Oriented Version of Sequences.- 8.9 Text Processing.- 8.9.1 A Character Set.- 8.9.2 Textual Objects.- 8.9.3 Text as Scripts.- 8.9.4 Text as Documents.- 8.9.5 Text as Dialogue.- 8.9.6 Text Windows.- Exercises.- 9. Specification of Safety.- 9.1 Introduction.- 9.2 Specification Framework.- 9.2.1 Changes in States as Time Histories.- 9.2.2 Representation of Equipments.- 9.2.3 A Classification of Safety Requirements.- 9.2.4 Specification of Safety Requirements.- 9.3 Description of System State and Behaviour.- 9.3.1 Tracks.- 9.3.2 Signals.- 9.3.3 Points.- 9.3.4 Subroutes.- 9.3.5 Routes.- 9.4 System Behaviour in the Presence of Failures.- 9.4.1 Behavioural Specification of Sensors.- 9.4.2 Behavioural Specification of the Controller.- 9.4.3 Behavioural Specification of Signals.- 9.4.4 Behavioural Specification of Points.- 9.4.5 Behavioural Specification of Tracks.- 9.5 Preventing and Averting Failures.- 9.5.1 Low to High Risk State Transitions.- 9.5.2 High to Low Risk State Transitions.- Concluding Remarks.- Exercises.- 10. An Overview of VDM.- 10.1 Standard Mathematical Notation.- 10.1.1 A General Comment.- 10.1.2 Logic.- 10.1.3 Types.- 10.1.4 Sets and Relations.- 10.1.5 Mathematical Functions.- 10.2 Specification of State Based Systems.- 10.2.1 Specification Structure.- 10.2.2 A Comparison with Z.- 10.3 Composite Objects.- 10.4 Musical Chairs - An Example.- 10.4.1 State Model.- 10.4.2 Initialization.- 10.4.3 Other Operations.- 10.4.4 Execution Order of Operations.- 10.4.5 VDM Specification of Musical Chairs.- 10.5 An Indexed Filing System - A Case Study.- 10.5.1 An Informal Description of Requirements.- 10.5.2 System Organization.- 10.5.3 Model of Individual Files.- 10.5.4 VDM Specification of Indexed Files.- 10.5.5 Model of the Module Interface.- 10.5.6 Model of the Filing System.- 10.5.7 VDM Specification of the Indexed Filing System.- Exercises.- 11. Algebraic Approach to Specification.- 11.1 Introduction.- 11.2 A Preliminary Comparison.- 11.2.1 Model Oriented Approach.- 11.2.2 Algebraic Approach.- 11.3 Algebraic Notions.- 11.3.1 Some Basic Algebras.- 11.3.2 Homogeneous Algebras.- 11.3.3 Heterogeneous Algebras.- 11.3.4 Type Algebras.- 11.4 Many-sorted Algebra.- 11.4.1 Signatures.- 11.4.2 Signature Associated Algebra.- 11.4.3 Subalgebras.- 11.5 Homomorphisms.- 11.5.1 Characterisation of Homomorphism.- 11.6 Term Algebras.- 11.6.1 Well Formed Terms.- 11.6.2 Natural Numbers as a Homogeneous Data Type.- 11.6.3 Heterogeneous (Many-Sorted) Abstract Data Types.- 11.7 Equations.- 11.7.1 Variables.- 11.7.2 Algebras and Equations.- 11.7.3 Other Related Terminology.- 11.7.4 Equational Deduction.- 11.8 Initial Algebras.- 11.8.1 The Motivation for Initial Algebras.- 11.8.2 The Definition of Initiality.- 11.9 Terminal Algebras.- 11.9.1 The Motivation for Terminal Algebras.- 11.9.2 Reasoning About Inequalities.- 11.10Bibliographical Notes.- 12. Algebraic Specification in CLEAR.- 12.1 Data Types and Systems.- 12.2 Views of Specifications.- 12.3 An Introduction to CLEAR.- 12.3.1 Sorts, Operators, Terms and Equations.- 12.3.2 Simple Theories.- 12.3.3 Complex Theories.- 12.3.4 Parameterised Theories.- 12.3.5 Meta Theories.- 12.3.6 Base Theories.- 12.3.7 Specifications.- 12.4 A Case Study: A Filing System.- 12.4.1 Some Basic Specifications.- 12.4.2 A General Specification for Various Kinds of Object.- 12.4.3 Maps.- 12.4.4 Sequences.- 12.4.5 Indexed Files.- 12.4.6 Sequential Files.- 12.4.7 File System.- 12.5 Bibliographical Notes.- Exercises.- A. Exercises on Reading Formal Specifications.- A.1 Exercise - A Simple Text Editor.- A.2 Let's Play A Game of Cards.- A.3 Unix Filing System.- B. Exercises on Writing Formal Specifications.- B.1 A Catalogue Shop.- B.2 Know Your Place if You Succeed in Politics!.- B.3 Traffic Lights.- B.4 A Vending Machine.- B.5 A Bank.- B.6 A Flight Reservation Service for an Airline.- B.7 A Hospital Register.- C. The Mathematical Notation.- References.

Additional information

NPB9781852330026
9781852330026
1852330023
Formal Specification: Techniques and Applications by Nimal Nissanke
New
Paperback
Springer London Ltd
1999-07-27
295
N/A
Book picture is for illustrative purposes only, actual binding, cover or edition may vary.
This is a new book - be the first to read this copy. With untouched pages and a perfect binding, your brand new copy is ready to be opened for the first time

Customer Reviews - Formal Specification