Community
Participate
Working Groups
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.