Skip to main content

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.

Jump to: navigation, search

Difference between revisions of "OCL/Compliance"

< OCL
(New page: == Major Facilities == {| border="1" cellspacing="0" cellpadding="5" align="center" ! Topic ! OMG OCL 2.3 ! Ecore binding ! UML binding ! Pivot binding |- | OCL Standard Library | textual...)
 
Line 36: Line 36:
 
| none
 
| none
 
| none
 
| none
 +
|}
 +
 +
== Library ==
 +
 +
{| border="1" cellspacing="0" cellpadding="5" align="center"
 +
! Topic
 +
! OMG OCL 2.3
 +
! Ecore binding
 +
! UML binding
 +
! Pivot binding
 +
|-
 +
| 'container'
 +
| no operation
 +
| eContainer() if EObject
 +
| as Ecore
 +
| oclContainer()
 +
|-
 +
| 'contents'
 +
| no operation
 +
| eContents() if EObject
 +
| as Ecore
 +
| oclContents()
 +
|-
 +
| oclIsNew()
 +
|
 +
|
 +
| ? supported
 +
| dummy operation
 +
|-
 +
| oclType()
 +
| unclear
 +
| identity at most
 +
| as Ecore
 +
| fully reflective
 +
|-
 +
| String::toLowerCase
 +
| String::toLowerCase
 +
| String::toLower
 +
| as Ecore
 +
| String::toLowerCaseor String::toLower
 +
|-
 +
| String::toUpperCase
 +
| String::toUpperCase
 +
| String::toUpper
 +
| as Ecore
 +
| String::toUpperCase or String::toUpper
 
|}
 
|}
  
Line 87: Line 133:
 
| n/a
 
| n/a
 
| parsed and ? evaluated
 
| parsed and ? evaluated
 +
| parsed only
 +
|-
 +
| pre-conditions
 +
| not EssentialOCL
 +
| parsed only
 +
| parsed only
 +
| parsed only
 +
|-
 +
| post-conditions
 +
| not EssentialOCL
 +
| parsed only
 +
| parsed only
 
| parsed only
 
| parsed only
 
|-  
 
|-  
Line 100: Line 158:
 
| supported
 
| supported
 
| supported
 
| supported
 +
|-
 +
| OclMessage
 +
| not EssentialOCL
 +
| n/a
 +
| supported
 +
| parsed
 +
|-
 +
| OclState
 +
| not EssentialOCL
 +
| n/a
 +
| supported
 +
| parsed
 
|}
 
|}

Revision as of 11:31, 12 August 2011

Major Facilities

Topic OMG OCL 2.3 Ecore binding UML binding Pivot binding
OCL Standard Library textual hard coded hard coded modeled as a prototype for OCL 2.4
XMI interchange under-specified Proprietary Ecore-based Proprietary UML and Ecore-based Prototype for OCL 2.4
Editors n/a none none Essential OCL, Complete OCL, OCLinEcore, OCLstdlib
Evaluation n/a on Ecore models on Ecore models on Ecore models
Impact Analyzer n/a supported none none

Library

Topic OMG OCL 2.3 Ecore binding UML binding Pivot binding
'container' no operation eContainer() if EObject as Ecore oclContainer()
'contents' no operation eContents() if EObject as Ecore oclContents()
oclIsNew()  ? supported dummy operation
oclType() unclear identity at most as Ecore fully reflective
String::toLowerCase String::toLowerCase String::toLower as Ecore String::toLowerCaseor String::toLower
String::toUpperCase String::toUpperCase String::toUpper as Ecore String::toUpperCase or String::toUpper

Detailed Functionality

Topic OMG OCL 2.3 Ecore binding UML binding Pivot binding
Integer unlimited range Integer on Indigo, Integer or Long on Juno as Ecore BigInteger on Indigo, Integer or Long or BigInteger on Juno
Real unlimited range Double as Ecore BigDecimal
Nested Collections as Ecore fully supported
null as Ecore fully supported
invalid as Ecore fully supported
unlimited as Ecore fully supported
@pre not EssentialOCL n/a parsed and ? evaluated parsed only
pre-conditions not EssentialOCL parsed only parsed only parsed only
post-conditions not EssentialOCL parsed only parsed only parsed only
Associations not EssentialOCL n/a supported work in progress
Non-navigable opposites optional configurable supported supported
OclMessage not EssentialOCL n/a supported parsed
OclState not EssentialOCL n/a supported parsed

Back to the top