Implement metamodel changes for Partiality and Visibility

Issue #318 resolved
Cécile Camillieri created an issue

As discussed in the last meetings, we want to be able to differentiate between two types of partiality:

  • concern partiality: the ModelElement has to be redefined/extended in extending aspects
  • public partiality: the ModelElement has to be mapped when reusing

To implement this, the concept of partiality will be moved to the CORE metamodel and be attached to all COREModelElements.

Similarly, "concern" and "public" visibility will be moved to CORE as well.

Partiality and Visibility will have to be replaced in the RAM metamodel by the ones defined in CORE (see attachment).

Operations will need to have their visibility defined in two different attributes :

  • COREVisibilityType for public and concern visibility
  • Visibility defined in RAM for protected, private or core visibility. When protected and private, the COREVisibilityType will be set to concern

Some resulting modifications in other parts of TouchCORE:

  • Validation rules will have to take in account the 2 partiality types and display errors accordingly.
  • Weaver will need to switch concern partiality to none when reusing.

Comments (5)

  1. Matthias Schoettle
    • changed status to open

    The visibility of implementation class operations should not change from public to concern when weaving.

  2. Log in to comment