MagicDraw is a business process, architecture, software and system modeling tool with teamwork support. MagicDraws OCL2 evaluation implementation is based on the Dresden OCL2 Toolkit. MagicDraw uses a modified version of the toolkit which has reduced size and has been adapted to the MagicDraw repository.
More information about MagicDraw is available at http://www.magicdraw.com/.
KIEL (Kiel Integrated Environment for Layout) presents an alternative paradigm for visualizing Statecharts during simulation. OCL and the Dresden OCL Toolkit is used to handle well-formedness rules for UML state machines.
More information available at http://rtsys.informatik.uni-kiel.de/~rt-kiel/.
Documentation available at
http://infoscience.epfl.ch/record/97176/files/ProchnowSBvH06.pdf,
http://rtsys.informatik.uni-kiel.de/~biblio/downloads/talks/martes06-talk.pdf
and
http://rtsys.informatik.uni-kiel.de/~biblio/downloads/theses/kbe-dt.pdf.
HOL-OCL is an interactive proof environment for the Object Constraint Language (OCL). It is implemented as a shallow embedding of OCL into the Higher-order Logic (HOL) instance of the interactive theorem prover Isabelle. HOL-OCL is developed by Achim D. Brucker and Burkhart Wolff.
HOL-OCL defines a machine-checked formalization of the semantics as described in the standard for OCL 2.0. This conservative, shallow embedding of UML/OCL into Isabelle/HOL includes support for typed, extensible UML data models supporting inheritance and subtyping inside the typed λ-calculus with parametric polymorphism. As a consequence of conservativity with respect to higher-order logic (HOL), we can guarantee the consistency of the semantic model. Moreover, HOL-OCL provides several derived calculi for UML/OCL that allows for formal derivations establishing the validity of UML/OCL formulae. Automated support for such proofs is also provided.
HOL-OCL uses the Dresden OCL Toolkit as repository and the OCL2-Parser for type checking.
More information in: http://www.brucker.ch/projects/hol-ocl/index.de.html.
Incremental OCL is a prototype tool that assist you in the efficient implementation of OCL constraints in any final technology-platform.
It gives you information about the kind of changes over the system state that can violate a constraint, the instances must be verified after each change and possible redefinitions of the original constraint that result in a better efficiency of the integrity checking process.
The tool is implemented as a set of Java classes extended with the libraries of the Dresden OCL toolkit (for parsing and loading the OCL ICs) and NetBeans MDR (for the import/export from XMI files).
More information in: http://www.lsi.upc.edu/~jcabot/research/IncrementalOCL/.
Due to the high expressiveness of the OCL, the designer has different syntactic alternatives to express each constraint. This tool assists the designer during the definition of the constraints by means of generating equivalent alternatives for the initially defined ones.
In the context of the MDA, transformations between these different alternatives are required as part of the PIM-to-PIM, PIM-to-PSM or PIM-to-code transformations of the original conceptual schema.
Specially, the OCL Transformation Tool is able to generate all alternative equivalent representations of a constraint obtained by means of changing the context type used to define the original constraint.
The OCL Transformation Tool uses the Dresden OCL Toolkit to parse constraints for which the tool generates all possible context changes.
More information in: http://www.lsi.upc.edu/~jcabot/research/OCLTransformations/.
UMLtoCSP is a tool for the formal verification of UML/OCL models using Constraint Programming. It can check automatically several correctness properties about the model, such as the satisfiability of the model or the lack of contradictory constraints.
UMLtoCSP uses the Dresden OCL Toolkit to parse and load OCL constraints.
More information in: http://gres.uoc.edu/UMLtoCSP/.
The Fujaba Tool Suite is developed at the university of Paderborn (http://wwwcs.uni-paderborn.de/cs/fujaba/projects/eclipse/index.html). One project based on the Fujaba Tool Suite is Fujaba4Eclipse. Fujaba4Eclipse is as an open source project and its goal is to provide an integrated teaching environment based on Eclipse for secondary schools and first year university courses. It should assist teaching object-oriented technology, design patterns and the syntax and semantics of a programming language.
In 2005 and 2006 Mirko Stölzel integrated parts of the Dresden OCL2 Toolkit into Fujaba4Eclipse (for his student research projects Großer Beleg and Diploma Thesis), to use OCL constraints in class and story diagrams created with Fujaba4Eclipse.
The Dresden OCL Toolkit has been integrated into the open-source CASE tool ArgoUML. Please have a look on an example that shows how the integration in Argo/UML helps in working with the OCL. The example also shows the code injection with the injector tool from the toolkit. If you want to test the example by yourself, please refer to the download page and install the necessary files.
A prototypical integration into Borland Together ControlCenter is available (see screenshot). It is currently only available through downloading the sources from the CVS repository and building the module manually with the help of ANT scripts. Please refer to the installation step-by-step guide provided.
Also have a look on this usage example that shows how the Toolkit can be used from within Together.
The integration of the Dresden OCL Toolkit 1.3 into Borland Together ControlCenter should work with all versions vom 6.0 upwards.
MetaBoss, a dually licensed Model-Driven-Architecture toolkit makes use of the Dresden OCL Toolkit for modelling of service specifications and domain entities. It also allows generation of validation code from the OCL in a model.
Poseidon is the commercial successor of ArgoUML and also contains the integration of the Dresden OCL Toolkit just as its predecessor does.
An integration into Rational Rose has been performed. This integration package is not in the public domain, however.