Improve Message View Weaver to update message view references, static lifelines and coveredBy

Issue #144 resolved
Matthias Schoettle created an issue

The following issues are existent in the message view weaver:

  1. message view references are not copied from the lower- to the higher-level aspect. This is important for concerns, where a sub-feature might define a reference to a message view in the parent feature.
  2. The coveredBy list of CombinedFragments is not updated when weaving aspect message views.
  3. Lifelines representing a metaclass (i.e., static reference in the metamodel) coming from an advice are not woven properly: The reference is not copied, because it is contained in the properties of the Interaction.
  4. The check for equality of References is broken: the static property and the container of the reference are not considered. If the container is the same, there are two different references (on purpose).

Comments (11)

  1. Matthias Schoettle reporter

    Regarding number 2 it is not clear whether lifelines of nested combined fragments need to be listed in the highest-level combined fragment.

  2. Matthias Schoettle reporter

    References issue #144: Improved check for equality of references when searching existing lifelines. Added consideration of static and whether the container does not equal.

    → <<cset 799565ba583f>>

  3. Matthias Schoettle reporter

    I checked out Papyrus, the containing combined fragment has to contain all lifelines that a nested combined fragment covers. In fact, Papyrus doesn't allow to create a nested combined fragment among more lifelines than the containing combined fragment covers.

    This needs to be addressed when creating lifelines in combined fragments, to also add them to the containing combined fragment(s).

    See issue #162.

  4. Matthias Schoettle reporter

    Regarding point 2: Assuming the "coveredBy" list is correct in the advice, it is properly updated for the copied one. However, if the "original behaviour" is located within a combined fragment, it has to be updated with the lifelines that are used in the "original behaviour".

    See issue #163.

  5. Matthias Schoettle reporter

    References issue #144: References for metaclass lifelines are always copied over from the advice, because they are contained in the interaction directly.

    In addition, when weaving an aspect message view, before it is deleted, its (potentially existing) layout is removed to avoid dangling references.

    → <<cset 19dd4b6674e3>>

  6. Log in to comment