Formal Methods for Software Engineering: Languages, Methods, Application Domains
 
Product details:

ISBN13:9783030387990
ISBN10:3030387992
Binding:Hardback
No. of pages:524 pages
Size:235x155 mm
Weight:992 g
Language:English
Illustrations: 35 Illustrations, black & white; 12 Illustrations, color; 10 Tables, color
515
Category:

Formal Methods for Software Engineering

Languages, Methods, Application Domains
 
Edition number: 1st ed. 2022
Publisher: Springer
Date of Publication:
Number of Volumes: 1 pieces, Book
 
Normal price:

Publisher's listprice:
EUR 80.24
Estimated price in HUF:
33 111 HUF (31 534 HUF + 5% VAT)
Why estimated?
 
Your price:

26 489 (25 227 HUF + 5% VAT )
discount is: 20% (approx 6 622 HUF off)
Discount is valid until: 30 June 2024
The discount is only available for 'Alert of Favourite Topics' newsletter recipients.
Click here to subscribe.
 
Availability:

Estimated delivery time: In stock at the publisher, but not at Prospero's office. Delivery time approx. 3-5 weeks.
Not in stock at Prospero.
Can't you provide more accurate information?
 
  Piece(s)

 
Short description:

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.

Long description:

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


Table of Contents:

1 Formal Methods.- Part I Languages: 2 Logics for Software Engineering.- 3 The Process Algebra CSP.- Part II Methods: 4 Algebraic Specification in CASL.- 5 Specification-Based Testing.- Part III Application Domains: 6 Specification and Verification of Normative Documents.- 7 Formal Methods for Human-Computer Interaction.- 8 Formal Verification of Security Protocols.- Part IV Wrapping up: 9 Origins and Development of Formal Methods.- Authors' Conclusion.- Appendix A Syntax of the Logics in this Book.- Appendix B Language Definition of CSP.- Appendix C Concrete CASL Syntax.