This volume provides a comprehensive introduction to the field of formal methods for students and practitioners. It strikes a careful balance between rigorous exposition of the underlying mathematics and concrete examples of implementations using real-life tools, thus making it easy to grasp the underlying concepts and theories. It does not aim to provide guidelines for using a particular method, or comparisons of different approaches, but rather a conceptual framework that the reader can use to master any given method. It therefore makes an invaluable practical companion to introductory texts on logic and to books dedicated to a particular formal method. Understanding Formal Methods will be of interest to advanced students and engineers who need to learn the basics of this topic, and also professionals who need to broaden their knowledge or bring themselves up-to-date with the latest techniques.
This is an excellent introduction to formal methods which will bring anyone who needs to know about this important topic up to speed. It is comprehensive, giving the reader all the information needed to explore the field of formal methods in more detail. It offers: a guide to the mathematics required; comprehensive but easy-to-understand introductions to various methods; a run-down of how formal methods can help to develop high-quality systems that come in on time, within budget, and according to requirements.
This textbook gives students a comprehensive introduction to formal methods and their application in software and hardware specification and verification. It has three parts: The first part introduces some fundamentals in formal methods, including set theory, functions, finite state machines, and regular expressions. The second part focuses on logi
Illustrated with real-life manufacturing examples, Formal Methods in Manufacturing provides state-of-the-art solutions to common problems in manufacturing systems. Assuming some knowledge of discrete event systems theory, the book first delivers a detailed introduction to the most important formalisms used for the modeling, analysis, and control of manufacturing systems (including Petri nets, automata, and max-plus algebra), explaining the advantages of each formal method. It then employs the different formalisms to solve specific problems taken from today’s industrial world, such as modeling and simulation, supervisory control (including deadlock prevention) in a distributed and/or decentralized environment, performance evaluation (including scheduling and optimization), fault diagnosis and diagnosability analysis, and reconfiguration. Containing chapters written by leading experts in their respective fields, Formal Methods in Manufacturing helps researchers and application engineers handle fundamental principles and deal with typical quality goals in the design and operation of manufacturing systems.
Formal Methods Fact File VDM and Z Andrew Harry Formal methods provide a means of specifying computer systems that is unambiguous,concise and well suited to the development of complex software systems for which accuracy and reliability are critical. Heavily mathematical and seemingly difficult to learn, for many they hold little appeal. Andrew Harry speaks as a programmer who has travelled the difficult route to an understanding of formal methods techniques, and knows why it’s worth the effort. He explains, in refreshingly simple terms, what formal methods are, why we need them, what should motivate our choice of methods and how to use them effectively. The book presents a novel view of formal methods, spanning the range of specification techniques. An overview of the different styles of formal notation is followed by detailed chapters on the two most popular languages, VDM and Z, consistent with the latest draft standards. There is a readable account of the underlying maths, a short introduction to semantics for proof, and a survey of tools available. Teaching aids include quick reference appendices on the notation and syntax of VDM and Z; exercises (and their solutions); and a useful glossary of terms. A more populist account than most, this book’s "informal" treatment of the subject will appeal to students and industrial programmers who want to know more but find little on the shelves for the novice. Visit our Web page! http://www.wiley.com/compbooks/
This book presents current methods for dealing with software reliability, illustrating the advantages and disadvantages of each method. The description of the techniques is intended for a non-expert audience with some minimal technical background. It also describes some advanced techniques, aimed at researchers and practitioners in software engineering. This reference will serve as an introduction to formal methods and techniques and will be a source for learning about various ways to enhance software reliability. Various projects and exercises give readers hands-on experience with the various formal methods and tools.
This book bridges fundamental gaps between control theory and formal methods. Although it focuses on discrete-time linear and piecewise affine systems, it also provides general frameworks for abstraction, analysis, and control of more general models. The book is self-contained, and while some mathematical knowledge is necessary, readers are not expected to have a background in formal methods or control theory. It rigorously defines concepts from formal methods, such as transition systems, temporal logics, model checking and synthesis. It then links these to the infinite state dynamical systems through abstractions that are intuitive and only require basic convex-analysis and control-theory terminology, which is provided in the appendix. Several examples and illustrations help readers understand and visualize the concepts introduced throughout the book.
Today, formal methods are widely recognized as an essential step in the design process of industrial safety-critical systems. In its more general definition, the term formal methods encompasses all notations having a precise mathematical semantics, together with their associated analysis methods, that allow description and reasoning about the behavior of a system in a formal manner. Growing out of more than a decade of award-winning collaborative work within the European Research Consortium for Informatics and Mathematics, Formal Methods for Industrial Critical Systems: A Survey of Applications presents a number of mainstream formal methods currently used for designing industrial critical systems, with a focus on model checking. The purpose of the book is threefold: to reduce the effort required to learn formal methods, which has been a major drawback for their industrial dissemination; to help designers to adopt the formal methods which are most appropriate for their systems; and to offer a panel of state-of-the-art techniques and tools for analyzing critical systems.
Formal methods are a robust approach for problem solving. It is based on logic and algebraic methods where problems can be formulated in a way that can help to find an appropriate solution. This book shows the basic concepts of formal methods and highlights modern modifications and enhancements to provide a more robust and efficient problem solving tool. Applications are presented from different disciplines such as engineering where the operation of chemical plants is synthesized using formal methods. Computational biology becomes easier and systematic using formal methods. Also, hardware compilation and systems can be managed using formal methods. This book will be helpful for both beginners and experts to get insights and experience on modern formal methods by viewing real applications from different domains.
Software programs are formal entities with precise meanings independent of their programmers, so the transition from ideas to programs necessarily involves a formalisation at some point. The first part of this graduate-level introduction to formal methods develops an understanding of what constitutes formal methods and what their place is in Software Engineering. It also introduces logics as languages to describe reasoning and the process algebra CSP as a language to represent behaviours. The second part offers specification and testing methods for formal development of software, based on the modelling languages CASL and UML. The third part takes the reader into the application domains of normative documents, human machine interfaces, and security. Use of notations and formalisms is uniform throughout the book. Topics and features: Explains foundations, and introduces specification, verification, and testing methods Explores various application domains Presents realistic and practical examples, illustrating concepts Brings together contributions from highly experienced educators and researchers Offers modelling and analysis methods for formal development of software Suitable for graduate and undergraduate courses in software engineering, this uniquely practical textbook will also be of value to students in informatics, as well as to scientists and practical engineers, who want to learn about or work more effectively with formal theories and methods. Markus Roggenbach is a Professor in the Dept. of Computer Science of Swansea University. Antonio Cerone is an Associate Professor in the Dept. of Computer Science of Nazarbayev University, Nur-Sultan. Bernd-Holger Schlingloff is a Professor in the Institut für Informatik of Humboldt-Universität zu Berlin. Gerardo Schneider is a Professor in the Dept. of Computer Science and Engineering of University of Gothenburg. Siraj Ahmed Shaikh is a Professor in the Institute for Future Transport and Cities of Coventry University. The companion site for the book offers additional resources, including further material for selected chapters, prepared lab classes, a list of errata, slides and teaching material, and virtual machines with preinstalled tools and resources for hands-on experience with examples from the book. The URL is: https://sefm-book.github.io