Formal verification approach to process modelling and composition
View/ Open
Date
27/11/2014Author
Papapanagiotou, Petros
Metadata
Abstract
Process modelling is a design approach where a system or procedure is decomposed in
a number of abstract, independent, but connected processes, and then recomposed into
a well-defined workflow specification. Research in formal verification, for its part,
and theorem proving in particular, is focused on the rigorous verification of system
properties using logical proof.
This thesis introduces a systematic methodology for process modelling and composition
based on formal verification. Our aim is to augment the numerous benefits of
a workflow based specification, such as modularity, separation of concerns, interoperability
between heterogeneous (including human-based) components, and optimisation,
with the high level of trust provided by formally verified properties, such as
type correctness, systematic resource accounting (including exception handling), and
deadlock-freedom.
More specifically, we focus on bridging the gap between the deeply theoretical proofs-as-processes paradigm and the highly pragmatic tasks of process specification and
composition. To accomplish this, we embed the proofs-as-processes paradigm within
the modern proof assistant HOL Light. This allows the formal, mechanical translation
of Classical Linear Logic (CLL) proofs to p-calculus processes. Our methodology then
relies on the specification of abstract processes in CLL terms and their composition using
CLL inference. A fully diagrammatic interface is used to guide our developed set
of high level, semi-automated reasoning tools, and to perform intuitive composition
actions including sequential, parallel, and conditional composition.
The end result is a p-calculus specification of the constructed workflow, with guarantees
of correctness for the aforementioned properties. We can then apply a visual,
step-by-step simulation of this workflow or perform an automated workflow deployment
as executable code in the programming language Scala.
We apply our methodology to a use-case of a holiday booking web agent and to the
modelling of real-world collaboration patterns in healthcare, thus demonstrating the
capabilities of our framework and its potential use in a variety of scenarios.