Principles of Spin is an introductory book, the only requirement is a background in programming. Spin models are written in the Promela language which is easily learned by students and programmers. Spin is easy to install and use. The Spin model checker is not only a widely used professional tool
Principles of the Spin Model Checker
β Scribed by Mordechai Ben-Ari BSc, MSc, PhD (auth.)
- Publisher
- Springer-Verlag London
- Year
- 2008
- Tongue
- English
- Leaves
- 224
- Edition
- 1
- Category
- Library
No coin nor oath required. For personal study only.
β¦ Synopsis
The Spin model checker is a widely used professional software tool for specifying and verifying concurrent and distributed systems. Models, written in a simple language called Promela, can be simulated randomly or interactively. Spin can generate efficient verifiers that search for a counterexample to correctness specifications applied to a model.
Spin is also a superb tool for teaching important concepts of computer science such as verification, concurrency and nondeterminism. The Promela language is easy to learn, as is the linear temporal logic used for correctness specifications, and the techniques for simulating and verifying models.
Principles of Spin is an introductory book for students and practicing software engineers who wish to learn Promela and Spin. The presentation starts with the verification of sequential programs and proceeds in gradual stages to the verification of concurrent and then distributed programs. Complete programs are used to demonstrate each construct and concept, and the source code of these programs, together with that of longer case studies, are available on the companion website.
The book describes free software that the author has developed: jSpinβan integrated development environment for Spin, SpinSpiderβa visualization tool that automatically constructs graphical state diagrams of concurrent programs, and VNβa Spin-based tool for visualizing nondeterminism of finite automata.
Mordechai Ben-Ari is an associate professor in the Department of Science Teaching of the Weizmann Institute of Science. He is the author of numerous textbooks on concurrency, programming languages and logic, and has developed software tools for teaching concurrency. In 2004, Ben-Ari received the ACM/SIGCSE Award for Outstanding Contributions to Computer Science Education.
β¦ Table of Contents
Front Matter....Pages i-xv
Sequential Programming in P romela ....Pages 1-18
Verification of Sequential Programs....Pages 19-27
Concurrency....Pages 29-46
Synchronization....Pages 47-67
Verification with Temporal Logic....Pages 69-93
Data and Program Structures....Pages 95-103
Channels....Pages 105-124
Nondeterminism....Pages 125-136
Advanced Topics in P romela ....Pages 137-144
Advanced Topics in S pin ....Pages 145-161
Case Studies....Pages 163-200
Back Matter....Pages 201-216
β¦ Subjects
Software Engineering/Programming and Operating Systems; Programming Techniques; Programming Languages, Compilers, Interpreters; Operating Systems; Theory of Computation; Logics and Meanings of Programs
π SIMILAR VOLUMES
SPIN is the world's most popular, and arguably one of the world's most powerful, tools for detecting software defectsin concurrent system designs. Literally thousands of people have used SPIN since it was first introduced almost fifteenyears ago. The tool has been applied to everything from the veri
1. Finding Bugs in Concurrent Systems -- 2. Building Verification Models -- 3. An Overview of PROMELA -- 4. Defining Correctness Claims -- 5. Using Design Abstraction -- 6. Automata and Logic -- 7. PROMELA Semantics -- 8. Search Algorithms -- 9. Search Optimization -- 10. Notes on Model Extraction
1. Finding Bugs in Concurrent Systems -- 2. Building Verification Models -- 3. An Overview of PROMELA -- 4. Defining Correctness Claims -- 5. Using Design Abstraction -- 6. Automata and Logic -- 7. PROMELA Semantics -- 8. Search Algorithms -- 9. Search Optimization -- 10. Notes on Model Extraction