| \oclHeadingOne{The Models}\label{ocl:TheModels} |
| |
| This specification is substantially auto-generated from the normative models that accompany it. |
| |
| <<<Migrate all *.ecore files to *.xmi>>> |
| |
| \oclHeadingTwo{The Abstract Syntax (AS)} |
| |
| The abstract syntax model Pivot.ecore is the result of a merge of UML.xmi and OCL.xmi followed by the QVTo transformations UML2EcoreAnalysis.qvto and UML2EcoreSynthesis.qvto that use the UML2ASinEcore.xmi control file and UML2EcoreControl.ecore and UML2EcoreMapping.ecore intermeiate representations. |
| |
| Well-formedness rules are provided by Pivot.ocl and Types.ocl. |
| |
| Name resolution rules are defined in Lookup.ocl. |
| |
| \oclHeadingTwo{The Concrete Syntax (CS)} |
| |
| The non-normative concrete syntax models Base.ecore, EssentialOCL.ecore and CompleteOCL.ecore support the EssentialOCL.xtext and CompleteOCL.xtext grammars. |
| |
| Mapping between CS and AS is defined by EssentialOCLCS2AS.ocl and CompleteOCLCS2AS.ocl. |
| |
| Disambiguation between generalized CS and precise CS is defined by EssentialOCLCS2CS.ocl. |
| |
| \oclHeadingTwo{The Evaluation Semantics} |
| |
| The evaluation semantics are defined by Values.ecore with well-formedness rules in Values.ocl. |
| |
| \oclHeadingTwo{The OCL Standard Library} |
| |
| The library is defined by OCLstdlib.oclas which is a serialization of the non-normative OCL2-5.oclstdlib. |