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
This book focuses on the clarification of what actually a handbook is, the systematic identification of what ought to be considered as “settled knowledge” (extracted from historic repositories) for inclusion into such a handbook, and the “assembly” of such identified knowledge into a form which is fit for the purpose and conforms to the formal characteristics of handbooks as a “literary genre”. For many newly emerging domains or disciplines, for which no handbook with normative authority has yet been defined, the question arises of how to do this systematically and in a non-arbitrary manner. This book is the first to reflect upon the question of how to construct a desktop handbook. It is demonstrated how concept analysis can be used for identifying settled knowledge as the key ingredient by utilizing the assembled data for classification; a presentation scheme for handbook articles is developed and demonstrated to be suitable. The sketched approach is then illustrated by an example from the railway safety domain. Finally, the limitations of the presented methods are discussed. The key contribution of this book is the (example illustrated) construction method itself, not the handbook, which would result from a highly detailed and thoroughly comprehensive application of the method.
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
This book focuses on the clarification of what actually a handbook is, the systematic identification of what ought to be considered as “settled knowledge” (extracted from historic repositories) for inclusion into such a handbook, and the “assembly” of such identified knowledge into a form which is fit for the purpose and conforms to the formal characteristics of handbooks as a “literary genre”. For many newly emerging domains or disciplines, for which no handbook with normative authority has yet been defined, the question arises of how to do this systematically and in a non-arbitrary manner. This book is the first to reflect upon the question of how to construct a desktop handbook. It is demonstrated how concept analysis can be used for identifying settled knowledge as the key ingredient by utilizing the assembled data for classification; a presentation scheme for handbook articles is developed and demonstrated to be suitable. The sketched approach is then illustrated by an example from the railway safety domain. Finally, the limitations of the presented methods are discussed. The key contribution of this book is the (example illustrated) construction method itself, not the handbook, which would result from a highly detailed and thoroughly comprehensive application of the method.
This will help us customize your experience to showcase the most relevant content to your age group
Please select from below
Login
Not registered?
Sign up
Already registered?
Success – Your message will goes here
We'd love to hear from you!
Thank you for visiting our website. Would you like to provide feedback on how we could improve your experience?
This site does not use any third party cookies with one exception — it uses cookies from Google to deliver its services and to analyze traffic.Learn More.