Michael  Huth,Mark Ryan
Recent years have seen the development of powerful tools for verifying hardware and software systems, as companies worldwide realise the need for improved means of validating their products. There is increasing demand for training in basic methods in formal reasoning so that students can gain proficiency in logic-based verification methods. At the same time, the shift towards internet-based distributed computing creates the need for individuals who are able to reason about sophisticated autonomous agent-oriented software acting on large networks.,The second edition of this successful textbook addresses both those requirements, by continuing to provide an introduction to formal reasoning that is both relevant to the needs of modern computer science and rigorous enough for practical application. The presentation is clear and simple, with core material being described early in the book, and further technicalities introduced only where they are needed by the applications. A key feature is the full exposition of model-checking, and the new edition supports the most up-to-date versions of the tools NUSMV and Alloy. Improvements to the first edition have been made throughout, with extra and expanded sections on linear-time temporal logic model checking, SAT solvers, second-order logic, the Alloy specification tool, and programming by contract. The coverage of model-checking has been substantially updated. Further exercises have been added.
Science,Computer Science,Philosophy,Logic,Science,Mathematics,Nonfiction,Computer Science,Programming,Reference,Textbooks,Science,Technology
Logic in Computer Science: Modelling and Reasoning about Systems