An extensible OCL virtual machine and code generator

  • Authors:
  • E. D. Willink

  • Affiliations:
  • Eclipse Modeling Project

  • Venue:
  • Proceedings of the 12th Workshop on OCL and Textual Modelling
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

The Object Constraint Language (OCL) is a specification language that is also executable and so a variety of OCL execution capabilities have evolved. Some are interpreted while others use a code generator for an implementation language such as Java. The mapping of much of OCL to Java is obvious and so many implementations pursue the obvious approach but then find that the approach can only support an OCL subset. In this paper we revisit OCL evaluation. We first establish a simple uniform execution framework that applies to the whole of OCL. We call this an OCL Virtual Machine. We then identify how optimizations can bridge the gap between the uniform framework and how applicability predicates can determine when the optimization can be applied without needing to resort to a subset OCL. We finally identify how this uniform framework is extensible to OCL-based languages such as QVT.