Dresden OCL Logo
Dresden OCL
OCL support for your modeling language


You are using Dresden OCL? Let us know!

Please tell us how you are using Dresden OCL. Contact us.

You want to contribute?

Check out our Github Repository, fork us and make pull requests.

Having Issues?

Just write our mailing list which you can find at our contact site. Or open an issue at our Github Repository.

Dresden OCL 3.3.0 is available!

Dresden OCL 3.3.0 is available from our update site. For a list of new features investigate our Changelog.

Install Dresden OCL now - find out how.


Welcome on the project pages of the Dresden OCL. If you just came to see what the toolkit is about or want to know who stands behind it, start with learning about the project.

What is Dresden OCL?

Eclipse perspective of Dresden OCL

Dresden OCL is all about the Object Constraint Language (OCL) [1]. OCL is part of the well-known Unified Modeling Language (UML) [2]. 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 come into play? Dresden OCL provides a set of tools to parse and evaluate OCL constraints on various models like UML, EMF and Java. Furthermore Dresden OCL provides tools for Java/AspectJ and SQL code generation. The tools of Dresden OCL can be either used as a library for other project or as a plug-in project that extends Eclipse with OCL support.

Who did the work?

Work on the toolkit started as early as 1999 when the OCL base library was first implemented in Java. Since the first version the OCL parser has been reimplemented and improved multiple times and further OCL tools have been integrated into Dresden OCL. Today, Dresden OCL supports the OCL version 2.2.

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.

A timeline illustrating the development of OCL and the Dresden OCL Toolkit since 1995.

The different versions of Dresden OCL

Dresden OCL was released in various different versions. The three major versions are enlisted below:

  • The first version, the Dresden OCL Toolkit was released in 1999. It is not documented at this website.
  • The second version, called the Dresden OCL2 Toolkit was released in 2005. It was based on the Netbeans Metadata Repository and contained a lot of different tools provided as Java librarary containing APIs and simple SWT GUI components. A documentation of the Dresden OCL2 Toolkit can be found via this link.
  • The third and latest version of is Dresden OCL (formerly called Dresden OCL for Eclipse). Dresden OCL is based on a Pivot Model and thus can be connected to every meta-model supporting basic object-oriented concepts. Dresden OCL is based on the Eclispe SDK and released as a set of Eclipse plug-ins. Nevertheless, a standalone Java library distribution is available as well. The Documentation of DresdenOCL can be found via this link.

Ten Years Dresden OCL

In October 2009, the Dresden OCL Team celebrated Dresden OCL's 10th aniversary. A workshop was held at the Technische Universität Dresden. More information about the workshop can be found via this link.