Abstract State Machines, Alloy, B, TLA, VDM, and Z 5th International Conference, ABZ 2016, Linz, Austria, May 23-27, 2016, Proceedings

This bookconstitutes the refereed proceedings of the 5th International Conference on AbstractState Machines, Alloy, B, TLA, VDM, and Z, ABZ 2016, held in Linz, Austria, inMay 2016. The 17 full and 15 short papers presented in this volume were carefullyreviewed and selected from 61 submissions. They...

Full description

Saved in:
Bibliographic Details
Main Authors Butler, Michael, Schewe, Klaus-Dieter, Mashkoor, Atif, Biro, Miklos
Format eBook
LanguageEnglish
Published Cham Springer Nature 2016
Springer International Publishing AG
Springer
Edition1
SeriesLNCS sublibrary. SL 1, Theoretical computer science and general issues
Subjects
Online AccessGet full text
ISBN9783319336008
3319336002
3319335995
9783319335995

Cover

Table of Contents:
  • 2 Translation -- 3 Hypotheses and Lemma Filtering -- 4 Prover Scenarious -- References -- Semi-Automated Design Space Exploration for Formal Modelling -- 1 Introduction -- 2 Towards Design Space Exploration -- 3 Illustrative Examples and Initial Experiments -- 4 Conclusion and Future Work -- References -- Handling Continuous Functions in Hybrid Systems Reconfigurations: A Formal Event-B Development -- 1 Introduction -- 2 The Event-B Method -- 3 Our Previous Work -- 4 Hybrid System Substitution in the Presence of Continuous Behaviors -- 4.1 Refinement Strategy -- 4.2 The Event-B Models -- 5 Conclusion -- References -- UC-B: Use Case Modelling with Event-B -- 1 Introduction -- 2 Using UC-B -- 2.1 Agents -- 2.2 Use Cases -- 2.3 Event-B -- 3 Architecture and Further Developments -- 4 Conclusion -- References -- Interactive Model Repair by Synthesis -- 1 Introduction and Motivation -- 2 Synthesis Technique -- 3 Interactive Workflow -- 4 Running Example -- 5 Discussion and Conclusion -- References -- SysML2B: Automatic Tool for B Project Graphical Architecture Design Using SysML -- 1 Introduction -- 2 Transformation of SysML Language into B Project -- 3 Related Work -- 4 Conclusion -- References -- Mechanized Refinement of Communication Models with TLA+ -- 1 Introduction -- 2 Specification -- 3 Refinement -- 4 Related Work -- 5 Conclusion -- References -- A Super Industrial Application of PSGraph -- 1 Introduction -- 2 PSGraph Encoding of Supertac for Ada -- 3 Adapting Supertac to C-Code -- 4 Conclusion and Future Work -- References -- Articles Contributing to the Hemodialysis Machine Case Study -- The Hemodialysis Machine Case Study -- 1 Introduction -- 2 System Architecture -- 3 Therapy -- 3.1 Types of Therapy -- 3.2 Phases of Therapy -- 4 Safety Requirements -- 4.1 General Requirements -- 4.2 Software Requirements -- 5 Final Remarks
  • 3.4 Technical Criteria -- 3.5 Human/Social Criteria -- 3.6 Industrial Applicability -- 4 Comparison of Methods -- 4.1 Comparison -- 4.2 Justification -- 4.3 Project-Specific Assessment -- 5 Conclusion -- References -- Short Articles (Work in Progress) -- Unified Syntax for Abstract State Machines -- 1 Introduction and Goals of the Project -- 2 Insights into the UASM Grammar -- 3 Re-engineering Existing Tools -- 4 Validation of the Approach -- 5 Conclusion and Future Work -- References -- A Relational Encoding for a Clash-Free Subset of ASMs -- 1 Introduction -- 2 Syntax and Semantics of ASM Rules -- 3 Syntactic Consistency -- 4 Relational Encoding -- 5 Conclusion and Outlook -- References -- Towards an ASM Thesis for Reflective Sequential Algorithms -- 1 Reflective Sequential Algorithms -- 2 Reflective ASMs -- 3 Examples -- References -- A Model-Based Transformation Approach to Reuse and Retarget CASM Specifications -- 1 Introduction -- 1.1 Modeling Language and Compiler -- 1.2 Motivation and Goal -- 2 Retargetable Approach and Models -- 2.1 Intermediate Representation Model -- 2.2 Emitting Language Model -- 2.3 Compiler Design -- 3 Conclusion, Preliminary Results and Outlook -- References -- Modeling a Discrete Wet-Dry Algorithm for Hurricane Storm Surge in Alloy -- 1 Introduction -- 2 Statics: Representing a Mesh -- 3 Dynamics: Wetting and Drying -- 4 Full and Subdomain Runs -- 4.1 Enforcing Boundary Conditions -- 5 Conclusion and Future Work -- References -- `The Tinker' for Rodin -- 1 PSGraph and Tinker -- 2 Developing and Debugging Proof Strategies in Rodin -- 3 Implementation -- 4 Conclusion and Future Work -- References -- A Graphical Tool for Event Refinement Structures in Event-B -- 1 Introduction -- 2 Event Refinement Structures (ERS) Approach -- 3 The ERS Plug-In -- 4 Conclusions -- References -- Rodin Platform Why3 Plug-In -- 1 Overview
  • 7.2 Using the FIFO Component -- 7.3 A Composition Invariant -- 8 Related Work -- 9 Conclusions -- References -- Using B and ProB for Data Validation Projects -- 1 Introduction -- 2 The Big Picture -- 3 Preparing Data for Use with a B Model -- 4 Data Representation -- 5 Means of Abstraction -- Structuring and Auxiliary Constructs -- 6 Using B to Express Computations -- 6.1 Machines and Operations -- 6.2 Recursive Functions -- 6.3 External Functions -- 6.4 Further Language Extensions -- 7 Interaction with the Model -- 8 Configuration Management -- 9 Conclusion and Future Work -- References -- Generating Event-B Specifications from Algorithm Descriptions -- 1 Introduction -- 2 A Domain-Specific Language for Structured Programs -- 3 Verification of Structured Programs in Event-B -- 4 Verifying Generated Models by Backwards Propagation -- 5 Practical Matters: Use of the Tool and Method -- 6 Conclusion -- References -- Formal Proofs of Termination Detection for Local Computations by Refinement-Based Compositions -- 1 Introduction -- 1.1 Overview -- 1.2 Related Works -- 1.3 Contribution -- 1.4 Organization of the Paper -- 2 Preliminaries -- 2.1 Local Computations Model -- 2.2 Event-B -- 3 SSP Composition with Correct-by-Construction Developments -- 3.1 The SSP Algorithm -- 3.2 Proposed Approach -- 4 Formal Descriptions -- 4.1 Network Specification: The Graph Context -- 4.2 The SSP_Interface -- 4.3 Formal Proofs -- 5 Example: 3-Colouring of a Ring -- 5.1 What We Gain -- 6 Discussion, Conclusion and Future Work -- References -- How to Select the Suitable Formal Method for an Industrial Application: A Survey -- 1 Introduction -- 2 Approach and Literature Reviewed -- 2.1 The Research Approach -- 2.2 Literature Reviewed -- 3 Criteria for Evaluating Formal Methods -- 3.1 Overview -- 3.2 Modeling Criteria -- 3.3 Supported Development Phases
  • Intro -- Preface -- Organization -- Abstracts of Keynote Talks -- How to Brew Your Own Hybrid/Cyberphysical Formalism -- Modeling Distributed Algorithms by Abstract State Machines Compared to Petri Nets -- Atelier B Has Turned Twenty -- Modeling Safety Critical Railway Applications - An Industrial Experience -- Contents -- Keynote Article -- Modeling Distributed Algorithms by Abstract State Machines Compared to Petri Nets -- 1 Introduction -- 2 Network Algorithms -- 2.1 Leader Election in Connected Graphs -- 2.2 Master/Slave Agreement -- 2.3 Acknowledged Broadcast (Echo Algorithm) -- 2.4 Load Balancing in Rings -- 2.5 Consensus in Graphs -- 2.6 Alternating Bit Protocol -- 2.7 Adapting AltBit to Sliding Window Protocol -- 2.8 Mutual Exclusion Problem -- 2.9 Remark on Nondeterminism and Interleaving -- 3 Lifting Petri Nets to Concurrent ASMs -- 4 Related Criticism -- 5 Conclusion -- 6 Appendix: Reaction to Criticism -- References -- Regular Research Articles -- A Universal Control Construct for Abstract State Machines -- 1 Introduction -- 2 Shortcomings of Current ASM Control Constructs -- 3 A Universal Control Construct for ASM -- 3.1 Syntax -- 3.2 Semantics -- 3.3 SELECTION Phase -- 3.4 PREPAREEXECUTION phase -- 3.5 EXECUTION Phase -- 3.6 RESET Phase -- 4 Related Work -- 5 Conclusion and Future Work -- References -- Encoding TLA+ into Many-Sorted First-Order Logic -- 1 Introduction -- 2 A Non-temporal Fragment of TLA+ -- 3 Untyped Encoding into Many-Sorted First-Order Logic -- 3.1 Boolification -- 3.2 Preprocessing -- 3.3 Direct Embedding -- 3.4 Encoding Functions -- 3.5 Encoding choose -- 4 Evaluation -- 5 Related Work -- 6 Conclusions -- References -- Proving Determinacy of the PharOS Real-Time Operating System -- 1 Introduction -- 2 Background -- 2.1 PharOS -- 2.2 The [+]Specification Language -- 2.3 [+]Modules -- 2.4 Tool Support for [+]
  • 3 A High-Level Model of PharOS in [+] -- 4 Stating and Proving Determinacy -- 4.1 Witness Executions -- 4.2 Determinacy of Executions -- 4.3 Evaluation -- 5 Conclusion -- References -- A Rigorous Correctness Proof for Pastry -- 1 Introduction -- 2 The (Lu)Pastry Model -- 3 The LuPastry+ Model and Proof -- 3.1 Changes to the LuPastry Specification -- 3.2 New Proof of Correctness -- 4 A Proof of Correctness for LuPastry+ -- 5 Conclusion -- References -- Enabling Analysis for Event-B -- 1 Introduction -- 2 Preliminaries -- 3 Enabling Analysis -- 4 Optimising the Model Checker -- 5 Related Work -- 6 Conclusion and Future Work -- References -- A Compact Encoding of Sequential ASMs in Event-B -- 1 Motivation -- 2 Background -- 2.1 ASM Background -- 2.2 Event-B Background -- 3 Translating Conditional and Parallel Statements -- 3.1 A Simple Translation Using Case Distinctions -- 3.2 Translation Using Update Functions -- 4 Partial Update Problem -- 5 Translation Scheme -- 6 Prototype, Discussions and Future Work -- References -- Proof Assisted Symbolic Model Checking for B and Event-B -- 1 Introduction and Motivation -- 2 Proof Assisted Symbolic Model Checking -- 2.1 BMC --- Bounded Model Checking -- 2.2 k-Induction -- 2.3 IC3 -- 3 Empirical Results -- 4 Discussion, Related Work and Conclusion -- References -- On Component-Based Reuse for Event-B -- 1 Introduction -- 2 Event-B -- 3 Composition of Decomposed Machines -- 4 Composition with Components -- 4.1 Using Components in a Development -- 4.2 Composite Components -- 5 The Composition Invariant -- 5.1 Adding a Guard to Satisfy the Composition Invariant -- 5.2 Component Development -- 6 Proof Obligations -- 6.1 Feasibility of Inputs and Outputs -- 6.2 Preconditions for Communicating Event Parameters -- 7 An Example Illustrating the Required Tool Support -- 7.1 Specifying a FIFO Buffer Component
  • How to Assure Correctness and Safety of Medical Software: The Hemodialysis Machine Case Study