The Dresden OCL Toolkit is all about the Object Constraint Language (OCL). OCL is part of the well-known Unified Modeling Language (UML). It extends the UML's graphical notation with the possibility of adding more formally defined textual constraints on method invocations and on class structures as a whole. Many aspects of a model that cannot be expressed adequately with the graphical notation alone find their representation in OCL constraints.
So, where does the Dresden OCL Toolkit come into play? As its name indicates it is not some stand-alone solution. Instead, many of these tools are meant to be used as a library, integrated into other tools, but there exist also some stand-alone tools in the toolkit.
Work on the toolkit started as early as 1999 when the OCL base library was first implemented in Java. Since the first version of the OCL compiler was completed alongside a Diploma Thesis, continuous work on and around the Toolkit has led to quite a considerable number of modules, which are now available.
The Toolkit is enhanced and maintained mainly by students and scientific staff of the Software Technology Group at Technische Universität Dresden, where the project is also coordinated. Contribution is however not restricted to this group so feel free to get in touch.
The toolkit was published in three different versions: