On executable models that are integrated with program code

Software development is usually supported by designmodels. These models and the program code represent overlapping information redundantly. When the implementation is changed, the models are often not changed along with the code, which introduces inconsistencies between these artifacts. Such inconsistencies imply a risk of misunderstandings and errors during the development, maintenance, and evolution. In this paper we present a method for creating executable models, that are integrated with the program code. The integration allows for an interplay between the model and the program code at run-time, and leaves no room for inconsistencies between the artifacts.