8 research outputs found
Automating Verification of State Machines with Reactive Designs and Isabelle/UTP
State-machine based notations are ubiquitous in the description of component
systems, particularly in the robotic domain. To ensure these systems are safe
and predictable, formal verification techniques are important, and can be
cost-effective if they are both automated and scalable. In this paper, we
present a verification approach for a diagrammatic state machine language that
utilises theorem proving and a denotational semantics based on Unifying
Theories of Programming (UTP). We provide the necessary theory to underpin
state machines (including induction theorems for iterative processes),
mechanise an action language for states and transitions, and use these to
formalise the semantics. We then describe the verification approach, which
supports infinite state systems, and exemplify it with a fully automated
deadlock-freedom check. The work has been mechanised in our proof tool,
Isabelle/UTP, and so also illustrates the use of UTP to build practical
verification tools.Comment: 18 pages, 16th Intl. Conf. on Formal Aspects of Component Software
(FACS 2018), October 2018, Pohang, South Kore
Towards Verification of Cyber-Physical Systems with UTP and Isabelle/HOL
In this paper, we outline our vision for building verification tools for Cyber-Physical Systems based on Hoare and He’s Unifying Theories of Programming (UTP) and interactive proof technology in Isabelle/HOL. We describe our mechanisation and explain some of the design decisions that we have taken to get a convenient and smooth implementation. In particular, we describe our use of lenses to encode state. We illustrate our work with an example UTP theory and describe the implementation of three foundational theories: designs, reactive processes, and the hybrid relational calculus. We conclude by reflecting on how tools are linked by unifying theories
Automating Verification of State Machines with Reactive Designs and Isabelle/UTP
State-machine based notations are ubiquitous in the description of component systems, particularly in the robotic domain. To ensure these systems are safe and predictable, formal verification techniques are important, and can be cost-effective if they are both automated and scalable. In this paper, we present a verification approach for a diagrammatic state machine language that utilises theorem proving and a denotational semantics based on Unifying Theories of Programming (UTP). We provide the necessary theory to underpin state machines (including induction theorems for iterative processes), mechanise an action language for states and transitions, and use these to formalise the semantics. We then describe the verification approach, which supports infinite state systems, and exemplify it with a fully automated deadlock-freedom check. The work has been mechanised in our proof tool, Isabelle/UTP, and so also illustrates the use of UTP to build practical verification tools
Features of integrated model-based co-modelling and co-simulation technology
Given the considerable ongoing research interest in collaborative multidisciplinary modelling and co-simulation, it is worth considering the features of model-based techniques and tools that deliver benefits to cyber-physical systems developers. The European project “Integrated Tool Chain for Model-based Design of Cyber-Physical Systems” (INTO-CPS) has developed a well-founded tool chain for CPS design, based on the Functional Mock-up Interface standard, and supported by methodological guidance. The focus of the project has been on the delivery of a sound foundation, an open chain of compatible and usable tools, and a set of accessible guidelines that help users adapt the technology to their development needs
Unifying Semantic Foundations for Automated Verification Tools in Isabelle/UTP
The growing complexity and diversity of models used for engineering dependable systems implies that a variety of formal methods, across differing abstractions, paradigms, and presentations, must be integrated. Such an integration requires unified semantic foundations for the various notations, and co-ordination of a variety of automated verification tools. The contribution of this paper is Isabelle/UTP, an implementation of Hoare and He’s Unifying Theories of Programming, a framework for unification of formal semantics. Isabelle/UTP permits the mechanisation of computational theories for diverse paradigms, and their use in constructing formalised semantics. These can be further applied in the development of verification tools, harnessing Isabelle’s proof automation facilities. Several layers of mathematical foundations are developed, including lenses to model variables and state spaces as algebraic objects, alphabetised predicates and relations to model programs, algebraic and axiomatic semantics, proof tools for Hoare logic and refinement calculus, and UTP theories to encode computational paradigms
A UTP semantics of pGCL as a homogeneous relation
We present an encoding of the semantics of the probabilis-
tic guarded command language (pGCL) in the Unifying Theories of
Programming (UTP) framework. Our contribution is a UTP encoding
that captures pGCL programs as predicate-transformers, on predicates
over probability distributions on before- and after-states: these predi-
cates capture the same information as the models traditionally used to
give semantics to pGCL; in addition our formulation allows us to de-
ne a generic choice construct, that covers conditional, probabilistic and
non-deterministic choice. As an example we study the Monty Hall game
in this framework