Using SMT engine to generate Symbolic Automata

Abstract : Open pNets are used to model the behaviour of open systems , both synchronous or asynchronous, expressed in various calculi or languages. They are endowed with a symbolic operational semantics in terms of so-called "Open Automata". This allows us to check properties of such systems in a compositional manner. We implement an algorithm computing these semantics, building predicates expressing the synchronization conditions between the events of the pNet subsystems. Checking such predicates requires symbolic reasoning over first order logics, but also over application-specific data. We use the Z3 SMT engine to check satisfiability of the predicates, and prune the open automaton of its unsatisfiable transitions. As an industrial oriented use-case, we use so-called "architectures" for BIP systems, that have been used in the framework of an ESA project and to specify the control software of a nanosatellite at the EPFL Space Engineering Center. We use pNets to encode a BIP architecture extended with explicit data, and compute its open automaton semantics. This automaton may be used to prove be-havioural properties; we give 2 examples, a safety and a liveness property.
Complete list of metadatas

Cited literature [2 references]  Display  Hide  Download
Contributor : Eric Madelaine <>
Submitted on : Friday, December 21, 2018 - 8:33:33 AM
Last modification on : Sunday, December 23, 2018 - 1:22:46 AM
Long-term archiving on : Friday, March 22, 2019 - 2:01:19 PM


2018-Avocs-paper 16.pdf
Files produced by the author(s)


  • HAL Id : hal-01962971, version 1



Xudong Qin, Simon Bliudze, Eric Madelaine, Min Zhang. Using SMT engine to generate Symbolic Automata. 18th International Workshop on Automated Verification of Critical Systems (AVOCS 2018), Jul 2018, Oxford, United Kingdom. Electronic Communications of the EASST Open Access Journal, Jul 2018, Oxford, United Kingdom. ⟨hal-01962971⟩



Record views


Files downloads