Mind the gap : addressing behavioural inconsistencies with formal methods
MetadataShow full item record
In complex system design, it is important to construct several design models focusing on different aspects of a system to gain a better understanding of individual component structure and behaviour. Scenarios of execution are commonly used to specify partial behaviour and interactions between a group of system objects or components. However, partial specifications may hide inconsistencies or an otherwise unintentionally incomplete or underspecified behavioural model. This paper proposes a new powerful technique combining constraint solvers and theorem provers to complete partial specifications and determine overall model inconsistencies. We use a true-concurrent model, namely labelled event structures, which can be used as the underlying semantics of widely used work flow or scenario-based languages. We show how an interplay between the theorem prover Isabelle and constraint solver Z3 can be used for detecting and solving partial specifications and inconsistencies over event structures.
Bowles , J K F & Caminati , M B 2016 , Mind the gap : addressing behavioural inconsistencies with formal methods . in A Potanin , G C Murphy , S Reeves & J Dietrich (eds) , 2016 23rd Asia-Pacific Software Engineering Conference (APSEC) . , 7890603 , IEEE Computer Society , pp. 313-320 , 23rd Asia-Pacific Software Engineering Conference , Hamilton , New Zealand , 6-9 December . DOI: 10.1109/APSEC.2016.051conference
2016 23rd Asia-Pacific Software Engineering Conference (APSEC)
© 2016, IEEE. This work is made available online in accordance with the publisher’s policies. This is the author created, accepted version manuscript following peer review and may differ slightly from the final published version. The final published version of this work is available at ieeexplore.ieee.org / https://doi.org/10.1109/APSEC.2016.051
Items in the St Andrews Research Repository are protected by copyright, with all rights reserved, unless otherwise indicated.