Blogs (9) >>
SPLASH 2016
Sun 30 October - Fri 4 November 2016 Amsterdam, Netherlands
Sun 30 Oct 2016 09:30 - 10:00 at Matterhorn 3 - Model Checking and Transformation Chair(s): Ralf Lämmel

LMNtal is a modeling language based on hierarchical graph rewriting, and its implementation SLIM features an LTL model checker. There is some research on extensions of SLIM, and all of them achieve their functionalities by modifying SLIM. If a model checker is implemented in the modeling language itself, it should be very easy to develop prototypes of various model checkers without changing the implementation of the model checker. This approach is called metaprogramming which has been taken conventionally in Lisp and Prolog. In this paper, we define first-class rewriting rules to enable a metaprogramming in LMNtal. In addition to that, we design APIs to operate states of LMNtal programs. These features allow us to implement diverse variants of a model checker without changing SLIM. We implemented an LTL model checker and a CTL model checker in LMNtal. As a result, our framework is sufficient to develop a metainterpreter which treats program states flexibly.

Paper (meta16-final5.pdf)239KiB