Bug 513934 - [Model Import] Handling of redefined and excluded opaque behaviors
Summary: [Model Import] Handling of redefined and excluded opaque behaviors
Status: NEW
Alias: None
Product: Papyrus-rt
Classification: Modeling
Component: tool (show other bugs)
Version: 0.9.0   Edit
Hardware: PC Windows 7
: P3 normal
Target Milestone: Future   Edit
Assignee: Project Inbox CLA
QA Contact:
URL: https://dev.eclipse.org/mhonarc/lists...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-03-20 12:53 EDT by Peter Cigehn CLA
Modified: 2017-04-05 12:26 EDT (History)
2 users (show)

See Also:


Attachments
Example legacy model with redefined and "excluded" opaque behaviors (5.10 KB, application/x-zip-compressed)
2017-03-20 12:53 EDT, Peter Cigehn CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Peter Cigehn CLA 2017-03-20 12:53:35 EDT
Created attachment 267360 [details]
Example legacy model with redefined and "excluded" opaque behaviors

Since we seem to have reached consensus that opaque behaviors should be re-definable (already implemented in the tooling) and excludable (for example as proposed in Bug 513929), this also needs to be handled in the import tool to ensure that also legacy models can utilize this when imported to Papyrus-RT.

In the legacy tooling, and thus what can be expected in legacy models, the opaque behaviors, e.g. for effect of a transition and entry/exit of a state, never uses formal redefinition (and thus of course not exclusion either). A local opaque behavior is simply added in the subclass context, but no redefinition association is added, nor any corresponding RTRedefinedElement stereotype is applied.

What is needed in the import tool is thus the following mapping:

If a local opaque behavior is identified in the subclass context, and a corresponding opaque behavior exist in the superclass context, then a redefinition association shall be established and the RTRedefinedElement shall be applied and the rootFragment property shall be set to the corresponding root element, in the corresponding way as already is done in the Papyrus-RT tooling whenever an opaque behavior is redefined.

If it is concluded that the locally added opaque behavior is redefined with an empty body, then we can assume (in the same way as proposed in Bug 513929) that the opaque behavior can be considered to be excluded instead of just redefined, i.e. it has been redefined with nothing. The only difference with the redefinition case is that, as specified in the UML-RT profile document, the rootFragment shall left unset as null.

The attached legacy model has some redefined and "excluded", i.e. redefined empty, opaque behaviors, which can be used when testing the import tool.