Java Software Development With Event B


Download Java Software Development With Event B PDF/ePub or read online books in Mobi eBooks. Click Download or Read Online button to get Java Software Development With Event B book now. This website allows unlimited access to, at the time of writing, more than 1.5 million titles, including hundreds of thousands of titles in various foreign languages.

Download

Java Software Development with Event B


Java Software Development with Event B

Author: Néstor Cataño Collazos

language: en

Publisher: Morgan & Claypool Publishers

Release Date: 2020-01-27


DOWNLOAD





The cost of fixing software design flaws after the completion of a software product is so high that it is vital to come up with ways to detect software design flaws in the early stages of software development, for instance, during the software requirements, the analysis activity, or during software design, before coding starts. It is not uncommon that software requirements are ambiguous or contradict each other. Ambiguity is exacerbated by the fact that software requirements are typically written in a natural language, which is not tied to any formal semantics. A palliative to the ambiguity of software requirements is to restrict their syntax to boilerplates, textual templates with placeholders. However, as informal requirements do not enjoy any particular semantics, no essential properties about them (or about the system they attempt to describe) can be proven easily. Formal methods are an alternative to address this problem. They offer a range of mathematical techniques and mathematical tools to validate software requirements in the early stages of software development. This book is a living proof of the use of formal methods to develop software. The particular formalisms that we use are EVENT B and refinement calculus. In short: (i) software requirements as written as User Stories; (ii) they are ported to formal specifications; (iii) they are refined as desired; (iv) they are implemented in the form of a prototype; and finally (v) they are tested for inconsistencies. If some unit-test fails, then informal as well as formal specifications of the software system are revisited and evolved. This book presents a case study of software development of a chat system with EVENT B and a case study of formal proof of properties of a social network.

Using Event-B for Critical Device Software Systems


Using Event-B for Critical Device Software Systems

Author: Neeraj Kumar Singh

language: en

Publisher: Springer Science & Business Media

Release Date: 2013-06-19


DOWNLOAD





Defining a new development life-cycle methodology, together with a set of associated techniques and tools to develop highly critical systems using formal techniques, this book adopts a rigorous safety assessment approach explored via several layers (from requirements analysis to automatic source code generation). This is assessed and evaluated via a standard case study: the cardiac pacemaker. Additionally a formalisation of an Electrocardiogram (ECG) is used to identify anomalies in order to improve existing medical protocols. This allows the key issue - that formal methods are not currently integrated into established critical systems development processes - to be discussed in a highly effective and informative way. Using Event-B for Critical Device Software Systems serves as a valuable resource for researchers and students of formal methods. The assessment of critical systems development is applicable to all industries, but engineers and physicians from the health domain will find the cardiac pacemaker case study of particular value.

NASA Formal Methods


NASA Formal Methods

Author: Sanjai Rayadurgam

language: en

Publisher: Springer

Release Date: 2016-06-03


DOWNLOAD





This book constitutes the proceedings of the 8th International Symposium on NASA Formal Methods, NFM 2016, held in Minneapolis, MN, USA, in June 2016. The 19 full and 10 short papers presented in this volume were carefully reviewed and selected from 70 submissions. The papers were organized in topical sections named: requirements and architectures; testing and run-time enforcement; theorem proving and proofs; application of formal methods; code generation and synthesis; model checking and verification; and correctness and certification.