School of Computing

OCL 2.0: Implementing the Standard

David Akehurst, Peter Linington, and Octavian Patrascoiu

Technical report, University of Kent, Computing Laboratory, November 2003.


OCL 2.0 is the newest version of the OMG�s constraint language to accompany their suit of Object Oriented modelling languages. The use of OCL as an accompanying constraint and query language for modelling with these languages is essential. As tools are built to support the modelling languages, it is also necessary to implement the OCL. This paper reports our experience of implementing OCL based on the latest version of the OMG�s OCL standard, UML models and MDA [17] techniques supported by the Kent Modelling Framework (KMF) [12], developed at the University of Kent. We provide an efficient LALR grammar for parsing the language and describe an architecture that enables the language to be bridged to any other modelling framework or tool. We also provide both syntactic and semantic models, which were used as inputs for KMFStudio [12] in order to generate Java code. In addition we give feedback on problems and ambiguities discovered in the standard, with some suggested solutions.

Download publication 806 kbytes (PDF)

Bibtex Record

author = {David Akehurst and Peter Linington and Octavian Patrascoiu},
title = {{OCL 2.0}: {I}mplementing the {S}tandard},
month = {November},
year = {2003},
pages = {182-196},
keywords = {determinacy analysis, Craig interpolants},
note = {},
doi = {},
url = {},
    publication_type = {techreport},
    submission_id = {10581_1069243622},
    institution = {University of Kent, Computing Laboratory},

School of Computing, University of Kent, Canterbury, Kent, CT2 7NF

Enquiries: +44 (0)1227 824180 or contact us.

Last Updated: 21/03/2014