Extending an OCL Compiler for Metamodeling and Model Transformation Systems: Unifying the Twofold Functionality
Gergely Mezei, László Lengyel, Tihamér Levendovszky, Hassan Charaf · 2006
Object constraint language (OCL) is used to extend the capabilities of Unified Modeling Language (UML) diagrams by defining constraints for the model items. Since OCL is based on, but not limited to UML diagrams, it can be used in generic metamodeling environments to validate the models as well. Also, OCL can be used in model transformation systems to specify additional constraints for the transformation steps. Supporting constraints in metamodeling and model transformation systems require the extension of the generic OCL compiler architecture. This paper discusses the most important solutions suitable for extending a generic OCL compiler to support both metamodeling and model transformation in an n-layer metamodeling system. Using the presented solutions the two field of interest can be handled uniformly