|
![]() |
|||
|
||||
OverviewAn overview of the use of formal object-oriented methods: it covers how and where they should be introduced into the development process, how they can be introduced selectively for critical parts of an application, and how to incorporate them effectively into existing developmental practices. The text is illustrated, both with tutorial and self-assessment exercises and with examples of industrial applications from the reactive systems domain. This study should be of interest to academic and industrial researchers, software engineering practitioners and consultants, and aims to provide reading material for students learning Z++ and VDM++. Full Product DetailsAuthor: Kevin LanoPublisher: Springer-Verlag Berlin and Heidelberg GmbH & Co. KG Imprint: Springer-Verlag Berlin and Heidelberg GmbH & Co. K Edition: Softcover reprint of the original 1st ed. 1995 Dimensions: Width: 15.50cm , Height: 2.30cm , Length: 23.50cm Weight: 0.730kg ISBN: 9783540199786ISBN 10: 3540199780 Pages: 422 Publication Date: 25 October 1995 Audience: College/higher education , Professional and scholarly , Undergraduate , Postgraduate, Research & Scholarly Format: Paperback Publisher's Status: Active Availability: Out of stock ![]() The supplier is temporarily out of stock of this item. It will be ordered for you on backorder and shipped when it becomes available. Table of Contents1 Introduction.- 1.1 Why is Mathematics Useful?.- 1.2 Formal Methods in Software Development.- 1.3 Formal Methods and Object-orientation.- 1.4 Z++.- 1.5 VDM++.- 1.6 Adding Formality to Diagrammatic Methods.- 1.7 Problems in Object-oriented Development.- 2 The Software Development Process.- 2.1 Formal Object-oriented Development.- 2.2 Example Development: Shapes and Points.- 2.3 The Layered Development Paradigm.- 2.4 Development Example in VDM++.- 3 From Analysis to Formal Specification.- 3.1 Formalisation of Object Models.- 3.2 Aggregation.- 3.3 Alternative Approaches.- 3.4 Formalisation of Dynamic Models.- 3.5 The Booch Method.- 3.6 Specification Construction Principles.- 3.7 Animation.- 4 Specification Notations and Techniques.- 4.1 Attributes and Data Structures.- 4.2 Operations.- 4.3 Inheritance.- 4.4 Subtyping.- 4.5 Class Composition.- 4.6 Object Identity.- 4.7 Dynamic Behaviour.- 4.8 Complex Data Types.- 4.9 VDM++.- 5 Design and Refinement.- 5.1 Design Approaches.- 5.2 Refinement.- 5.3 Subtyping, Composition and Refinement.- 5.4 VDM++.- 6 Proof Methods and Techniques.- 6.1 Safety Reasoning - Monitor and Gate.- 6.2 Liveness Reasoning - Dining Philosophers.- 6.3 Internal Consistency Proofs.- 6.4 Refinement and Subtyping Proofs.- 6.5 Object Identity.- 6.6 Reasoning About Concurrent Object Execution.- 6.7 Synchronisation Refinement Proofs.- 6.8 General Refinement Proof Techniques.- 7 Concurrent and Real-time Behaviour.- 7.1 Extended Harel Statecharts.- 7.2 Specifying Reactive System Properties.- 8 Implementation and Code Generation.- 8.1 Translation into Procedural Languages.- 8.2 Introducing Concurrency in Implementations.- 8.3 Implementation Case Study: Personnel System.- 8.4 Testing.- 9 Case Studies.- 9.1 Invoice System.- 9.2 Expedited Data Queue.- 9.3 Fire Control.- 9.4 Specification of Reactive Systems.- 9.5 Mine Pump Control.- A.1 Mathematical Notation.- A.2 Z Notation.- B.4 The Semantics of Procedural Statements.- B.5 Tool Support.- C Exercise Answers.- D Task Analysis.ReviewsAuthor InformationTab Content 6Author Website:Countries AvailableAll regions |