Formal approaches to computing and information technology
CONTENTS NOTE
Text of Note
1. Specification and Design.- 1.1 An Analogy.- 1.2 The Development Life-Cycle.- 1.3 The Transformational Approach.- 1.4 Silver Bullets.- No Silver Bullet: Essence and Accidents of Software Engineering.- Biting the Silver Bullet: Toward a Brighter Future for System Development.- 2. Structured Methods.- 2.1 Structured Notations.- 2.2 The Jackson Approach.- Methodology: The Experts Speak.- An Overview of JSD.- 3. Formal Methods.- 3.1 What are Formal Methods?.- 3.2 Formal Specification Languages.- 3.3 Deductive Apparatus.- 3.4 Myths of Formal Methods.- 3.5 Which Formal Method?.- Seven Myths of Formal Methods.- Seven More Myths of Formal Methods.- A Specifier's Introduction to Formal Methods.- An Overview of Some Formal Methods for Program Design.- Ten Commandments of Formal Methods.- 4. Object-Orientation.- 4.1 The Object Paradigm.- 4.2 Modularization.- 4.3 Information Hiding.- 4.4 Classes.- 4.5 Genericity and Polymorphism.- 4.6 Object-Oriented Design.- Object-Oriented Development.- Object-Oriented and Conventional Analysis and Design Methodologies:Comparison and Critique.- 5. Concurrent and Distributed Systems.- 5.1 Concurrent Systems.- 5.2 Distributed Systems.- 5.3 Models of Computation.- 5.4 Naming Considerations.- 5.5 Inter-Process Communication.- 5.6 Consistency Issues.- 5.7 Heterogeneity and Transparency.- 5.8 Security and Protection.- 5.9 Language Support.- 5.10 Distributed Operating Systems.- Communicating Sequential Processes.- A Simple Approach to Specifying Concurrent Systems.- 6. Real-Time and Safety-Critical Systems.- 6.1 Real-Time Systems.- 6.2 Safety-Critical Systems.- 6.3 Formal Methods for Safety-Critical Systems.- 6.4 Standards.- 6.5 Legislation.- 6.6 Education and Professional Issues.- 6.7 Technology Transfer.- Formal Methods for the Specification and Design of Real-Time Safety-Critical Systems.- Experience with Formal Methods in Critical Systems.- Regulatory Case Studies.- Medical Devices: The Therac-25 Story.- Safety-Critical Systems, Formal Methods and Standards.- 7. Integrating Methods.- 7.1 Motivation.- 7.2 Integrating Structured and Formal Methods.- 7.3 An Appraisal of Approaches.- Integrated Structured Analysis and Formal Specification Techniques.- 8. Implementation.- 8.1 Refinement.- 8.2 Rapid Prototyping and Simulation.- 8.3 Executable Specifications.- 8.4 Animating Formal Specifications.- Specifications are not (Necessarily) Executable.- Specifications are (Preferably) Executable.- 9. CASE.- 9.1 What is CASE?.- 9.2 CASE Workbenches.- 9.3 Beyond CASE.- 9.4 The Future of CASE.- CASE: Reliability Engineering for Information Systems.- On Visual Formalisms.- Author Biographies.