Numerous approaches exist that derive executable systems from well-defined specifications. However, model specifications are rarely maintained in program code of such derived systems, which impedes continuous validation and verification at run time. We earlier proposed to embed model specifications into well-defined program code patterns to bridge this semantic gap. We now present an elaboration of our approach to monitor such systems at run time with respect to the underlying abstract models. For this purpose different techniques are considered that allow to access the modeling information without relying on additional meta data. Based on this we present a tool that monitors the execution of state machines.