An Introduction to Formal Specification and Z

An Introduction to Formal Specification and Z

Author: Ben Potter

Publisher:

Published: 1996

Total Pages: 456

ISBN-13:

DOWNLOAD EBOOK

Following the sucess of the first edition, the authors have updated and revised this bestselling textbook to take into account the changes in the subject over the past 5 years.


Using Z

Using Z

Author: Jim Woodcock

Publisher:

Published: 1996

Total Pages: 412

ISBN-13:

DOWNLOAD EBOOK

This book contains enough mnaterial for three complete courses of study. It provides an introduction to the world of logic, sets and relations. It explains the use of the Znotation in the specification of realistic systems. It shows how Z specifications may be refined to produce executable code; this is demonstrated in a selection of case studies. The essentials of specification, refinement and proof are covered, revealing techniques never previously published. Exercises, Solutions and set of Tranparencies are available via http://www.comlab.ox.ac.uk/usingz.html


The Object-Z Specification Language

The Object-Z Specification Language

Author: Graeme Smith

Publisher: Springer Science & Business Media

Published: 2012-12-06

Total Pages: 155

ISBN-13: 1461552656

DOWNLOAD EBOOK

Object-Z is an object-oriented extension of the formal specification language Z. It adds to Z notions of classes and objects, and inheritance and polymorphism. By extending Z's semantic basis, it enables the specification of systems as collections of independent objects in which self and mutual referencing are possible. The Object-Z Specification Language presents a comprehensive description of Object-Z including discussions of semantic issues, definitions of all language constructs, type rules and other rules of usage, specification guidelines, and a full concrete syntax. It will enable you to confidently construct Object-Z specifications and is intended as a reference manual to keep by your side as you use and learn to use Object-Z. The Object-Z Specification Language is suitable as a textbook or as a secondary text for a graduate-level course, and as a reference for researchers and practitioners in industry.


Understanding Z

Understanding Z

Author: J. M. Spivey

Publisher: Cambridge University Press

Published: 1988-03-31

Total Pages: 144

ISBN-13: 9780521334297

DOWNLOAD EBOOK

The Z notation is a language for expressing mathematical specifications of computing systems. By providing a formal semantics for Z, this book justifies the claim that Z is a precise specification language, and provides a standard framework for understanding Z specifications.


Software Specification Methods

Software Specification Methods

Author: Henri Habrias

Publisher: John Wiley & Sons

Published: 2013-03-01

Total Pages: 349

ISBN-13: 1118613945

DOWNLOAD EBOOK

This title provides a clear overview of the main methods, and has a practical focus that allows the reader to apply their knowledge to real-life situations. The following are just some of the techniques covered: UML, Z, TLA+, SAZ, B, OMT, VHDL, Estelle, SDL and LOTOS.


Formal Methods Fact File

Formal Methods Fact File

Author: Andrew Harry

Publisher:

Published: 1996-10-10

Total Pages: 416

ISBN-13:

DOWNLOAD EBOOK

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/


Larch: Languages and Tools for Formal Specification

Larch: Languages and Tools for Formal Specification

Author: John V. Guttag

Publisher: Springer Science & Business Media

Published: 2012-12-06

Total Pages: 266

ISBN-13: 1461227046

DOWNLOAD EBOOK

Building software often seems harder than it ought to be. It takes longer than expected, the software's functionality and performance are not as wonderful as hoped, and the software is not particularly malleable or easy to maintain. It does not have to be that way. This book is about programming, and the role that formal specifications can play in making programming easier and programs better. The intended audience is practicing programmers and students in undergraduate or basic graduate courses in software engineering or formal methods. To make the book accessible to such an audience, we have not presumed that the reader has formal training in mathematics or computer science. We have, however, presumed some programming experience. The roles of fonnal specifications Designing software is largely a matter of combining, inventing, and planning the implementation of abstractions. The goal of design is to describe a set of modules that interact with one another in simple, well defined ways. If this is achieved, people will be able to work independently on different modules, and yet the modules will fit together to accomplish the larger purpose. In addition, during program maintenance it will be possible to modify a module without affecting many others. Abstractions are intangible. But they must somehow be captured and communicated. That is what specifications are for. Specification gives us a way to say what an abstraction is, independent of any of its implementations.


Mathematics in Computing

Mathematics in Computing

Author: Gerard O’Regan

Publisher: Springer Nature

Published: 2020-01-10

Total Pages: 468

ISBN-13: 3030342093

DOWNLOAD EBOOK

This illuminating textbook provides a concise review of the core concepts in mathematics essential to computer scientists. Emphasis is placed on the practical computing applications enabled by seemingly abstract mathematical ideas, presented within their historical context. The text spans a broad selection of key topics, ranging from the use of finite field theory to correct code and the role of number theory in cryptography, to the value of graph theory when modelling networks and the importance of formal methods for safety critical systems. This fully updated new edition has been expanded with a more comprehensive treatment of algorithms, logic, automata theory, model checking, software reliability and dependability, algebra, sequences and series, and mathematical induction. Topics and features: includes numerous pedagogical features, such as chapter-opening key topics, chapter introductions and summaries, review questions, and a glossary; describes the historical contributions of such prominent figures as Leibniz, Babbage, Boole, and von Neumann; introduces the fundamental mathematical concepts of sets, relations and functions, along with the basics of number theory, algebra, algorithms, and matrices; explores arithmetic and geometric sequences and series, mathematical induction and recursion, graph theory, computability and decidability, and automata theory; reviews the core issues of coding theory, language theory, software engineering, and software reliability, as well as formal methods and model checking; covers key topics on logic, from ancient Greek contributions to modern applications in AI, and discusses the nature of mathematical proof and theorem proving; presents a short introduction to probability and statistics, complex numbers and quaternions, and calculus. This engaging and easy-to-understand book will appeal to students of computer science wishing for an overview of the mathematics used in computing, and to mathematicians curious about how their subject is applied in the field of computer science. The book will also capture the interest of the motivated general reader.


Concise Guide to Formal Methods

Concise Guide to Formal Methods

Author: Gerard O'Regan

Publisher: Springer

Published: 2017-08-08

Total Pages: 336

ISBN-13: 3319640216

DOWNLOAD EBOOK

This invaluable textbook/reference provides an easy-to-read guide to the fundamentals of formal methods, highlighting the rich applications of formal methods across a diverse range of areas of computing. Topics and features: introduces the key concepts in software engineering, software reliability and dependability, formal methods, and discrete mathematics; presents a short history of logic, from Aristotle’s syllogistic logic and the logic of the Stoics, through Boole’s symbolic logic, to Frege’s work on predicate logic; covers propositional and predicate logic, as well as more advanced topics such as fuzzy logic, temporal logic, intuitionistic logic, undefined values, and the applications of logic to AI; examines the Z specification language, the Vienna Development Method (VDM) and Irish School of VDM, and the unified modelling language (UML); discusses Dijkstra’s calculus of weakest preconditions, Hoare’s axiomatic semantics of programming languages, and the classical approach of Parnas and his tabular expressions; provides coverage of automata theory, probability and statistics, model checking, and the nature of proof and theorem proving; reviews a selection of tools available to support the formal methodist, and considers the transfer of formal methods to industry; includes review questions and highlights key topics in every chapter, and supplies a helpful glossary at the end of the book. This stimulating guide provides a broad and accessible overview of formal methods for students of computer science and mathematics curious as to how formal methods are applied to the field of computing.