7 research outputs found
Non-smooth and zeno trajectories for hybrid system algebra
Hybrid systems are heterogeneous systems characterised by the interaction of discrete and continuous dynamics. In this paper we
compare a slightly extended version of our earlier algebraic approach
to hybrid systems with other approaches. We show that hybrid automata,
which are probably the standard tool for describing hybrid systems, can
conveniently be embedded into our algebra. But we allow general transition functions, not only smooth ones. Moreover we embed other models and point out some important advantages of the algebraic approach. In particular, we show how to easily handle Zeno effects, which are excluded by most other authors. The development of the theory is illustrated by a running example and a larger case study
Calculational Verification of Reactive Programs with Reactive Relations and Kleene Algebra
Reactive programs are ubiquitous in modern applications, and so verification is highly desirable. We present a verification strategy for reactive programs with a large or infinite state space utilising algebraic laws for reactive relations. We define novel operators to characterise interactions and state updates, and an associated equational theory. With this we can calculate a reactive programâs denotational semantics, and thereby facilitate automated proof. Of note is our reasoning support for iterative programs with reactive invariants, which is supported by Kleene algebra. We illustrate our strategy by verifying a reactive buffer. Our laws and strategy are mechanised in Isabelle/UTP, which provides soundness guarantees, and practical verification support
Automated verification of reactive and concurrent programs by calculation
Reactive programs combine traditional sequential programming constructs with primitives to allow communication with other concurrent agents. They are ubiquitous in modern applications, ranging from components systems and web services, to cyber-physical systems and autonomous robots. In this paper, we present an algebraic verification strategy for concurrent reactive programs, with a large or infinite state space. We define novel operators to characterise interactions and state updates, and an associated equational theory. With this we can calculate a reactive program's denotational semantics, and thereby facilitate automated proof. Of note is our reasoning support for iterative programs with reactive invariants, based on Kleene algebra, and for parallel composition. We illustrate our strategy by verifying a reactive buffer. Our laws and strategy are mechanised in Isabelle/UTP, our implementation of Hoare and He's Unifying Theories of Programming (UTP) framework, to provide soundness guarantees and practical verification support
Recommended from our members
Convolution as a unifying concept: Applications in separation logic, interval calculi and concurrency
The research reported here was supported in part by Australian Research Council Grant No. DP130102901 and EPSRC Grant No. EP/J003727/1
Algebraic Notions of Termination
Five algebraic notions of termination are formalised, analysed and compared:
wellfoundedness or Noetherity, L\"ob's formula, absence of infinite iteration,
absence of divergence and normalisation. The study is based on modal semirings,
which are additively idempotent semirings with forward and backward modal
operators. To model infinite behaviours, idempotent semirings are extended to
divergence semirings, divergence Kleene algebras and omega algebras. The
resulting notions and techniques are used in calculational proofs of classical
theorems of rewriting theory. These applications show that modal semirings are
powerful tools for reasoning algebraically about the finite and infinite
dynamics of programs and transition systems.Comment: 29 page
RĂ©solution d'Ă©quations en algĂšbre de Kleene : applications Ă l'analyse de programmes
Au fil des ans, l'algĂšbre de Kleene s'est avĂ©rĂ©e ĂȘtre un outil formel trĂšs pratique et flexible quant vient le temps de raisonner sur les programmes informatiques. Cependant, actuellement, la plupart des applications Ă l'analyse de programmes de l'algĂšbre de Kleene se font en sĂ©lectionnant un problĂšme prĂ©cis et en voyant comment l'algĂšbre de Kleene permet de le rĂ©soudre, ce qui limite les applications possibles. L'objectif visĂ© par ce mĂ©moire est de dĂ©terminer dans quelle mesure la rĂ©solution d'Ă©quations, en algĂšbre de Kleene, peut ĂȘtre utilisĂ©e en analyse de programmes. Une grande partie de ce mĂ©moire est donc consacrĂ©e Ă la rĂ©solution de diffĂ©rents types d'Ă©quations dans diffĂ©rentes variantes de l'algĂšbre de Kleene. Puis nous montrons comment la vĂ©rification de programmes ainsi que la synthĂšse de contrĂŽleurs peuvent tirer profit de la rĂ©solution d'Ă©quations en algĂšbre de Kleene
Quantales and temporal logics
We propose an algebraic semantics for the temporal logic CTLâ and simplify it for its sublogics CTL and LTL. We abstractly represent state and path formulas over transition systems in Boolean left quantales. These are complete lattices with a multiplication that preserves arbitrary joins in its left argument and is isotone in its right argument. Over these quantales, the semantics of CTLâ formulas can be encoded via finite and infinite iteration operators; the CTL and LTL operators can be related to domain operators. This yields interesting new connections between representations as known from the modal ”-calculus and Kleene/Ï-algebra