Nissanke | Formal Specification | E-Book | www.sack.de
E-Book

E-Book, Englisch, 295 Seiten, eBook

Nissanke Formal Specification

Techniques and Applications
1999
ISBN: 978-1-4471-0791-0
Verlag: Springer
Format: PDF
Kopierschutz: 1 - PDF Watermark

Techniques and Applications

E-Book, Englisch, 295 Seiten, eBook

ISBN: 978-1-4471-0791-0
Verlag: Springer
Format: PDF
Kopierschutz: 1 - PDF Watermark



Formal Specification is a textbook for 2nd/3rd year undergraduate and postgraduate courses in Formal Methods which offers a practical and versatile approach to constructing specifications. It covers both model-based and algebraic approaches and emphasises the range of languages and approaches which are available. Mathematical principles are explained using examples from everyday life (like card games), in order to "demystify" them and make them more comprehensible. It includes: unrivalled coverage of the topic including all important, recent advances lots of exercises with model answers case studies to guide students through the main principles margin notes to identify key points. Readers of this book do not have to be fully competent in formal specification - it is written to be accessible to any student who wants to learn about the topic.
Nissanke Formal Specification jetzt bestellen!

Zielgruppe


Professional/practitioner


Autoren/Hrsg.


Weitere Infos & Material


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.



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.