Dear all,
I am trying to integrate
ocl operations extracted from the omg norm.
I am not able to
generate the code. And I would like to know if you have any
advice for that puprpiose.
I am following the
process:
· Extraction of all OCL constraint and operation
[1]
· For Requirement [2]
· Creation of an operation with an associated
opaque behavior written in OCL
o getSatisfiedBy
o Satisfy.allInstances()->select(base_class.supplier=self).base_Abstraction.client
My first concern is the
the OCL editor for the opaque behavior.
It seems not to have any
OCL completion
>> Any idea why?
Secundly, it seems that
the OCL is not record… If I double click on my method
associated with the operation, I am not able to see the OCL
I have just written.
>>How can I
confirm the OCL is not store in my profile?
Thirdly, when I reload
the UML profil to ecore and regenerate the Model/Edit code,
I am able to see the operation but I am not able to see any
OCL implementation.
>>Any idea?
Thanks for your help.
Francois
[1]: https://bugs.eclipse.org/bugs/attachment.cgi?id=256993
[2]: Requirement
16.3.2.4 Requirement
Constraints
[1] The property
“ownedOperation” must be empty.
[2] The property
“ownedAttribute” must be empty.
[3] Classes stereotyped
by «requirement» may not participate in associations.
[4] Classes stereotyped
by «requirement» may not participate in generalizations.
[5] A nested classifier
of a class stereotyped by «requirement» must also be
stereotyped by «requirement».
[6] Classes stereotyped
by «requirement» may not be used to type any other model
element.
Operations
[1]
Requirement::getSatisfiedBy : Set(NamedElement)
getSatisfiedBy =
Satisfy.allInstances()->select(base_class.supplier=self).
base_Abstraction.client
[2]
Requirement::getVerifiedBy : Set(NamedElement)
getVerifiedBy =
Verify.allInstances()->select(base_Abstraction.supplier=self).
base_class.client
[3]
Requirement::getTracedTo() : Set(NamedElement)
getTracedTo
=Trace.allInstances()->select(base_Abstraction.client=self).
base_class.supplier
[4]
Requirement::getDerived() : Set(Requirement)
getDerived =
DeriveReqt.allInstances()->select(base_Abstraction.supplier=self).
base_class.client
[5]
Requirement::getDerivedFrom() : Set(Requirement)
getDerivedFrom =
DeriveReqt.allInstances()->select(base_Abstraction.client=self).
base_class.supplier
[6]
Requirement::getRefinedBy: Set(NamedElement)
getRefinedBy =
Refine.allInstances()->select(base_Abstraction.supplier=self).
base_class.client
[7]
Requirement::getMaster() : Requirement
getMaster =
Copy.allInstances()->select(base_Abstraction.client=self).base_class.supplier