Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "OCL/FAQ"
(What is MDT OCL?) |
m (Add hyperlinks) |
||
Line 2: | Line 2: | ||
MDT OCL provides a parser and interpreter for OCL constraints and | MDT OCL provides a parser and interpreter for OCL constraints and | ||
− | expressions on any EMF-based metamodel. By that is meant any | + | expressions on any [[Eclipse Modeling Framework|EMF]]-based metamodel. By that is meant any |
metamodel whose meta-metamodel is Ecore, and which (in being a metamodel) | metamodel whose meta-metamodel is Ecore, and which (in being a metamodel) | ||
provides an EMF importer to create GenModels that generate a Java | provides an EMF importer to create GenModels that generate a Java | ||
Line 10: | Line 10: | ||
(Ecore being its own meta-metamodel). Hence, the OCL component provides an | (Ecore being its own meta-metamodel). Hence, the OCL component provides an | ||
OCL binding for each of these metamodels. OCL can parse constraints in | OCL binding for each of these metamodels. OCL can parse constraints in | ||
− | either Ecore or UML models, and can evaluate them on the instances of Java | + | either Ecore or [[MDT-UML2|UML]] models, and can evaluate them on the instances of Java |
classes generated from these models. | classes generated from these models. | ||
Revision as of 09:27, 11 May 2007
What is MDT OCL?
MDT OCL provides a parser and interpreter for OCL constraints and expressions on any EMF-based metamodel. By that is meant any metamodel whose meta-metamodel is Ecore, and which (in being a metamodel) provides an EMF importer to create GenModels that generate a Java implementation.
So far, the Eclipse Modeling Project has two such metamodels: Ecore and UML (Ecore being its own meta-metamodel). Hence, the OCL component provides an OCL binding for each of these metamodels. OCL can parse constraints in either Ecore or UML models, and can evaluate them on the instances of Java classes generated from these models.
In terms of the OMG's modeling "stack", then, we have in the Eclipse Modeling Project
Modeling Level | Artifacts | OCL's Role |
---|---|---|
M3 | Ecore | This is the metamodel for the OCL Abstract Syntax Model |
M2 | Ecore, UML | OCL's generic AST model binds to these metamodels |
M1 | *.ecore and *.uml models | OCL parses constraints on these models |
generated Java code | ||
M0 | instances of generated Java classes | OCL evaluates constraints on these objects |
dynamic EMF objects |
The OCL Abstract Syntax Model is, itself, actually a metamodel sitting at the M2 level.