Integrating formal specifications into applications: the ProB Java API

Philipp Körner, Jens Bendisposto, Jannik Dunkelau, Sebastian Krings, Michael Leuschel
2020 Formal methods in system design  
AbstractThe common formal methods workflow consists of formalising a model followed by applying model checking and proof techniques. Once an appropriate level of certainty is reached, code generators are used in order to gain executable code. In this paper, we propose a different approach: instead of generating code from formal models, it is also possible to embed a model checker or animator into applications in order to use the formal models themselves at runtime. We present a Java API to
more » ... oBanimator and model checker. We describe several case studies that use this API as enabling technology to interact with a formal specification at runtime.
doi:10.1007/s10703-020-00351-3 fatcat:qe4fgltvqrcwvd54s7tryrazd4