Victorian Safe Cracker

Preview

Tech used: VDM-SL, Isabelle

[ GitHub ]

Slightly different in that no program was created, this project looked at modelling how an optimal (or close to) program would solve a Safecracker 40 puzzle.

Wooden Model

(Image courtesy of Crux Puzzles)

The model was built using VDM-SL in Overture. After it was built and tested, I began translating it into Isabelle, a proof assistant. From a correct translation, the VDM model could be improved further to create a more optimised version of it. The goal would be that after the model has been built and proven, it could then be translated into a real life program.

The module I did this coursework for was called Software Verification, and it taught the importance of building a solid model for a project before jumping straight into development. It helps to reduce the amount of tearing down and rebuilding of code if its based on a mathematically-correct model.