TY - BOOK AU - Roggenbach,Markus AU - Cerone,Antonio AU - Schlingloff,Bernd-Holger AU - Schneider,Gerardo AU - Shaikh,Siraj Ahmed ED - SpringerLink (Online service) TI - Formal Methods for Software Engineering: Languages, Methods, Application Domains T2 - Texts in Theoretical Computer Science. An EATCS Series, SN - 9783030388027 AV - QA75.5-76.95 U1 - 004.0151 ROG 2022 23 PY - 2022/// CY - Cham PB - Springer International Publishing, Imprint: Springer KW - Computer science KW - Software engineering KW - Mathematics KW - Engineering mathematics KW - Engineering KW - Data processing KW - Application software KW - Theory of Computation KW - Software Engineering KW - Computer Science Logic and Foundations of Programming KW - Symbolic and Algebraic Manipulation KW - Mathematical and Computational Engineering Applications KW - Computer and Information Systems Applications N1 - 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 N2 - 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 ER -