Optimization algorithms for OCL compilers
Gergely Mezei, László Lengyel, Tihamér Levendovszky, Hassan Charaf · International Conference on Software Engineering · 2006
Constraint handling is one of the most focused research field in both model validation and model transformation. Constraints are often simple topological conditions such as multiplicity checks, but the main strength of the constraint validation lies in the textual constraints defined in high-level languages. Object Constraint Language (OCL) is a wide-spread formalism to express model constraints. We have found that OCL is also useful in graph transformation-based model transformation rules. There exist several interpreters and compilers that handle OCL constraints in modeling, but these tools do not support constraint optimization, therefore, the model validation is not always efficient. This paper presents algorithms to optimize OCL compilers, and accelerate the validation process. The presented algorithms were implemented in the OCL Compiler of Visual Modeling and Transformation System, and they were tested in both metamodels and transformation rules.