The Object Constraint Language: Getting Your Models Ready for MDA (2nd Edition)
OCL is essential to the application of MDA because it supports the creation of at least three of the MDA building blocks: models, transformation definitions, and languages. Languages are defined by metamodels. The metamodel of a language, also known as the abstract syntax , is a description of all the concepts that can be used in that language.You examined simplified versions of the metamodels of both UML and OCL, as well as the relationships between them. OCL is a very good means to build metamodels ”in other words, to define languages, either existing languages that need to be more formally defined, or newly defined languages specified by a UML/OCL metamodel or profile. OCL is also an excellent tool to define the transformations between PIMs and PSMs, although some extra functionality is necessary. An example of a very simple transformation definition is given. More extensive information on this use of OCL can be found in [Kleppe03]. |