eclipse-qvtd / org.eclipse.qvtd

Eclipse Public License 2.0
0 stars 0 forks source link

[pivot] Need distinct per-TypedModel ResourceSet/CompleteModel #394

Open eclipse-qvtd-bot opened 12 hours ago

eclipse-qvtd-bot commented 12 hours ago

| --- | --- | | Bugzilla Link | 548543 | | Status | NEW | | Importance | P3 normal | | Reported | Jun 22, 2019 07:54 EDT | | Modified | Oct 09, 2019 05:03 EDT | | See also | 510503 | | Reporter | Ed Willink |

Description

As identified in comment 7 of Bug 510503, the serialization test for ATL2QVTr fails because the wrong Boolean type is referenced.

The atl and qvtr TypedModels should be independent. "atl::Boolean" should be explicitly mapped to "qvtr::Boolean" not just magically unified.

Of cource endogeneous transformations would be bloated and possibly metamodel schizophrenic if duplicate CompleteModels are maintained. Perhaps a distinct CompleteModel for each non-overlapping set of used packages (excluding Extent).

eclipse-qvtd-bot commented 12 hours ago

By Ed Willink on Jun 22, 2019 08:04

(In reply to Ed Willink from comment #0)

Perhaps a distinct CompleteModel for each non-overlapping set of used packages (excluding Extent).

No. A distinct CompleteModel for each distinct set of used packages. Endogeneous will be identical. Anything else should not leak names between TypedModels.

Overall, the per-used-package-set CompleteModel/ResourceSet should obsolete the OCL externalResourceSet and be independent of the OCL asResourceSet.

eclipse-qvtd-bot commented 12 hours ago

By Ed Willink on Jun 25, 2019 15:53

The user models and their Ecore metamodels share a conventional ResourceSet.

The user Pivot meta-models use a per-used-package-set CompleteModel/ResourceSet.

The tooling uses the Pivot MetamodelManager AS ResoourceSet.

--

Correct identification of a TemplateParameter usage, for Ecore2Pivot collection type synthesis, may be hard without separate ResourceSets.

eclipse-qvtd-bot commented 12 hours ago

By Ed Willink on Oct 09, 2019 05:03

(In reply to Ed Willink from comment #1)

No. A distinct CompleteModel for each distinct set of used packages. Endogeneous will be identical. Anything else should not leak names between TypedModels.

As concluded in Bug 510503 all ASResources in the asResourceSet, many CompleteModels selectively merging for each distinct domain / tooling.