Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [mdt-papyrus.dev] OCL and operation generation with opaque behavior written with OCL

Hi

I am sorry, but your coments are very vague and so difficult to answer.

a) you provide no 'repro' to demonstrate what you have/have not achieved.

b) you give no steps to follow. "What is the 'OCL editor'"? far too many alternatives.

What is the "omg norm"?

What is "extracted" from what and "integrated" in what?

The OCL project distributes Java code generated from OCL with/accompanying UML, so it is possible. But your comments suggest that at least your initial problems are in your use of Papyrus.

    Regards

        Ed Willink

On 17/05/2016 07:40, LE FEVRE FRANCOIS wrote:

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

 

cid:part1.06060709.08040600@ericsson.com

Francois LE FEVRE

Research Engineer

Commission for Atomic Energy and Alternative Energies (CEA)

Model-driven Engineering for Embedded Systems Laboratory (LISE)

Projet: Papyrus: https://www.eclipse.org/papyrus/

cid:part5.02030405.05090707@ericsson.com

Commissariat à l’énergie atomique et aux énergies alternatives (CEA)

Paris-Saclay Campus - Nano-INNOV | Bât. 862-PC1087 | F-91191 Gif-sur-Yvette Cedex

T. +33 (0)1 69 08 49 86  |  F. +33 (0)1 69 08 83 95  |

francois.le-fevre@xxxxxx   |  Blog: http://biocamp.blogspot.fr/

 

 



_______________________________________________
mdt-papyrus.dev mailing list
mdt-papyrus.dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/mdt-papyrus.dev


Back to the top