In this work, a java source code instrumentation tool has been developed. This tool allows to insert code generated by the OCL compiler into arbitrary user code. The instrumentation features an insertion scheme called method wrappers, which seems to be new in respect to the related work researched by the author. The insertion scheme provides a reversible instrumentation. This means, that the instrumented code can be modified without losing all changes on the next instrumentation.
A concept for caching results of invariants has been developed and partially implemented.
The OCL type checker was extended to gather additional information from javadoc tags. This makes the OCL compiler fully independent of a UML representation of the java code. A concept for generating such tags and inserting them into the java code has been developed. This concept has been partially implemented by Steffen Zschaler.
The existing OCL compiler has been maintained and slightly extended. These extentions provide additional flexibility needed for the components developed in this work. Coupling beetween existing and new components is kept low by restricting dependencies to java interfaces.
The tool has been experimented with using the java source code of an industrial application. For this application, a small set of typical constraints has been developed.
The OCL tool is still far from being complete. Some ideas for future work are discussed in the next chapter. However, the tool seems to be in a condition, where an early adopter could actually start using it for some real world task.