Model checking learning agent systems using Promela with embedded C code and abstraction

Kirwan, R., Miller, A. and Porr, B. (2016) Model checking learning agent systems using Promela with embedded C code and abstraction. Formal Aspects of Computing, 28(6), pp. 1027-1056. (doi: 10.1007/s00165-016-0382-2)

118815.pdf - Published Version
Available under License Creative Commons Attribution.



As autonomous systems become more prevalent, methods for their verification will become more widely used. Model checking is a formal verification technique that can help ensure the safety of autonomous systems, but in most cases it cannot be applied by novices, or in its straight \off-the-shelf" form. In order to be more widely applicable it is crucial that more sophisticated techniques are used, and are presented in a way that is reproducible by engineers and verifiers alike. In this paper we demonstrate in detail two techniques that are used to increase the power of model checking using the model checker SPIN. The first of these is the use of embedded C code within Promela specifications, in order to accurately re ect robot movement. The second is to use abstraction together with a simulation relation to allow us to verify multiple environments simultaneously. We apply these techniques to a fairly simple system in which a robot moves about a fixed circular environment and learns to avoid obstacles. The learning algorithm is inspired by the way that insects learn to avoid obstacles in response to pain signals received from their antennae. Crucially, we prove that our abstraction is sound for our example system { a step that is often omitted but is vital if formal verification is to be widely accepted as a useful and meaningful approach.

Item Type:Articles
Glasgow Author(s) Enlighten ID:Kirwan, Dr Ryan Fraser and Porr, Dr Bernd and Miller, Professor Alice
Authors: Kirwan, R., Miller, A., and Porr, B.
College/School:College of Science and Engineering > School of Computing Science
College of Science and Engineering > School of Engineering > Biomedical Engineering
Journal Name:Formal Aspects of Computing
ISSN (Online):1433-299X
Published Online:08 June 2016
Copyright Holders:Copyright © 2016 The Authors
First Published:First published in Formal Aspects of Computing 28(6): 1027-1056
Publisher Policy:Reproduced under a Creative Commons License
Data DOI:10.5525/gla.researchdata.310

University Staff: Request a correction | Enlighten Editors: Update this record