Visual OCL

TU-Berlin | Faculty IV | Institute ISTI | Research group TFS

A visualisation of OCL

small logo

Visual Object Constraint Language

Describing constraints and queries of objects in models has been a strenuous procedure as there has not been an adequate visualisation. VOCL allows the developer to put models together with constraints without leaving the graphical level of abstraction. We are glad to present a Language with a formal fundament. Besides the meta-model driven syntax description we also defined a graph grammar for Visual OCL. On the other hand the VOCL-Editor offers a useful tool support for creating models in VOCL.

Extending UML

The Unified Modelling Language UML has become the standard modelling language in the object orientated software engineering process. According to this development in computer science we introduce a suitable, powerful and visual constraint language for object oriented software engineering.

Using the
Object Constraint Language

Visual OCL is a Visualisation of OCL, which is a textual language to describe conditions regarding to UML classes. Therefore the semantic foundation is already given by the formal semantic of OCL. Examples of OCL constraints are invariants, but also pre and post conditions of methods.

Editor Plug-in for Eclipse

In the years 2003 - 2004 an Editor for VisualOCL was developed as a plug-in for Eclipse. This Editor includes a converter into the OCL meta-model as well as further more into an OCL string. The Implementation is based on a Model Driven Architecture (MDA) approach using the Eclipse Modelling Framework (EMF) and Omondo plug-in for Eclipse to automatically generate code from the UML class diagram of the VisualOCL meta-model.

Language Integration

Despite the huge success of UML the usage of OCL is rather modest. Nevertheless there is the advantage of OCL to supply a formal way to describe conditions for elements of the visual language. To solve the probably largest problem of OCL - the small integrations capability of a textual language in the diagrammatic UML - the visualization of OCL would intuitively be the first answer. Two basic approaches have been published in the last years:
  • Constraint Diagrams - Kent et. al. and
  • VisualOCL - Bottoni, Koch, Parisi-Presicce and Taentzer: Report 2001

A complete description of the notation of VisualOCL was developed in 2002. It largely follows the UML notation and relies heavily on visual notations of navigations as in collaborations. Where completely new visual notations were necessary, due to the predefined types of OCL, it follows the recommendations for the UML standard and avoids e.g. colours and special fonts, to express semantic meaning. As the VisualOCL meta-model is based on the one of OCL most OCL-expressions can be represented in VisualOCL.

©2005 TFS