The use of formal methods is widely acknowledged to be best possible practice for assuring the behaviour of software systems but is still thought to be inaccessible to a typical software engineer. Furthermore, often the prevailing view is that formal methods are only accessible by academics and that evidence to support certification can be difficult to obtain.