Formal Methods in Computer Science

Formal Methods in Computer Science
Author: Jiacun Wang
Publisher: CRC Press
Total Pages: 241
Release: 2019-06-21
Genre: Computers
ISBN: 1498775357

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

Formal Methods in Computer Science

Formal Methods in Computer Science
Author: Jiacun Wang
Publisher: Chapman & Hall/CRC
Total Pages: 294
Release: 2019-06-21
Genre: Formal methods (Computer science)
ISBN: 9780367225704

The first part introduces some fundamentals in formal methods, including set theory, functions, finite state machines, and regular expressions. The second part focuses on logic, a powerful formal language in specifying systems properties. It covers propositional logic, temporal logic, and model checking. The third part presents Petri nets, the most popular formal language in system behavior modeling. In addition to regular Petri nets, it also examines timed Petri nets and high-level Petri nets. -- Provided by publisher.

Formal Methods Teaching

Formal Methods Teaching
Author: João F. Ferreira
Publisher: Springer Nature
Total Pages: 159
Release: 2021-11-23
Genre: Mathematics
ISBN: 3030915506

This book constitutes the refereed proceedings of the 4th International Workshop and Tutorial, FMTea 2021, Held as Part of the 4th World Congress on Formal Methods, FM 2021, as a virtual event in November 2021. The 8 full papers presented together with 2 short papers were carefully reviewed and selected from 12 submissions. The papers are organized in topical sections named: experiences and proposals related with online FM learning and teaching, integrating/embedding FM teaching/thinking within other computer science courses, teaching FM for industry, and innovative learning and teaching methods for FM.

Fundamental Proof Methods in Computer Science

Fundamental Proof Methods in Computer Science
Author: Konstantine Arkoudas
Publisher: MIT Press
Total Pages: 1223
Release: 2017-04-28
Genre: Computers
ISBN: 0262342502

A textbook that teaches students to read and write proofs using Athena. Proof is the primary vehicle for knowledge generation in mathematics. In computer science, proof has found an additional use: verifying that a particular system (or component, or algorithm) has certain desirable properties. This book teaches students how to read and write proofs using Athena, a freely downloadable computer language. Athena proofs are machine-checkable and written in an intuitive natural-deduction style. The book contains more than 300 exercises, most with full solutions. By putting proofs into practice, it demonstrates the fundamental role of logic and proof in computer science as no other existing text does. Guided by examples and exercises, students are quickly immersed in the most useful high-level proof methods, including equational reasoning, several forms of induction, case analysis, proof by contradiction, and abstraction/specialization. The book includes auxiliary material on SAT and SMT solving, automated theorem proving, and logic programming. The book can be used by upper undergraduate or graduate computer science students with a basic level of programming and mathematical experience. Professional programmers, practitioners of formal methods, and researchers in logic-related branches of computer science will find it a valuable reference.

Understanding Formal Methods

Understanding Formal Methods
Author: Jean-Francois Monin
Publisher: Springer Science & Business Media
Total Pages: 288
Release: 2012-12-06
Genre: Computers
ISBN: 1447100433

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.

The Handbook of Formal Methods in Human-Computer Interaction

The Handbook of Formal Methods in Human-Computer Interaction
Author: Benjamin Weyers
Publisher: Springer
Total Pages: 577
Release: 2017-04-24
Genre: Computers
ISBN: 3319518380

This book provides a comprehensive collection of methods and approaches for using formal methods within Human-Computer Interaction (HCI) research, the use of which is a prerequisite for usability and user-experience (UX) when engineering interactive systems. World-leading researchers present methods, tools and techniques to design and develop reliable interactive systems, offering an extensive discussion of the current state-of-the-art with case studies which highlight relevant scenarios and topics in HCI as well as presenting current trends and gaps in research and future opportunities and developments within this emerging field. The Handbook of Formal Methods in Human-Computer Interaction is intended for HCI researchers and engineers of interactive systems interested in facilitating formal methods into their research or practical work.

Formal Methods in Human-Computer Interaction

Formal Methods in Human-Computer Interaction
Author: Michael Harrison
Publisher: CUP Archive
Total Pages: 352
Release: 1990-02-22
Genre: Computers
ISBN: 9780521372022

Discusses the application of formal methods - the attempt to provide methods that rigorously and unambiguously describe the behavior of a computer program or system - to the human computer interface.

Formal Methods for Software Engineering

Formal Methods for Software Engineering
Author: Markus Roggenbach
Publisher: Springer Nature
Total Pages: 538
Release: 2022-06-22
Genre: Computers
ISBN: 303038800X

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

Formal Methods

Formal Methods
Author: Flemming Nielson
Publisher: Springer
Total Pages: 160
Release: 2019-07-16
Genre: Computers
ISBN: 3030051560

This textbook is an introduction to the use of formal methods ranging from semantics of key programming constructs to techniques for the analysis and verification of programs. The authors use program graphs as the mechanism for representing the control structure of programs in order to find a balance between generality and conceptual complexity. The early chapters on program graphs and the Guarded Commands language are sufficient introduction for most readers to then enjoy a plug-and-play approach to the remaining chapters. These explain formal methods for analysing the behaviour of programs in various ways ranging from verification, via program analysis and language-based security, to model checking. The remaining chapters present language extensions with procedures and concurrency and cover their semantics. The book is suitable for advanced undergraduate and graduate courses in software development, and the text is supported throughout with exercises of varying grades of difficulty. The authors have developed an online learning environment that allows students to create examples beyond those covered in the main text, and in the book appendices they present programming projects aimed at implementing central parts of the development using the functional language F#.

Concise Guide to Formal Methods

Concise Guide to Formal Methods
Author: Gerard O'Regan
Publisher: Springer
Total Pages: 336
Release: 2017-08-08
Genre: Mathematics
ISBN: 3319640216

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.