eclipse-qvtd / org.eclipse.qvtd

Eclipse Public License 2.0
0 stars 0 forks source link

[qvtr] enforced unique computations cannot use realized values #312

Open eclipse-qvtd-bot opened 1 week ago

eclipse-qvtd-bot commented 1 week ago

| --- | --- | | Bugzilla Link | 522192 | | Status | NEW | | Importance | P3 normal | | Reported | Sep 12, 2017 08:26 EDT | | Modified | Sep 22, 2017 04:42 EDT | | See also | 522626 | | Reporter | Ed Willink |

Description

Unique computations use an oclHashCode() for each argument, but realized values may not have a total hierarchy and so at some point the getPackageId() fails.

? must inject a total hierarchy dependency

eclipse-qvtd-bot commented 1 week ago

By Ed Willink on Sep 22, 2017 04:42

And if the computation is a 'black box' we must ensure that any navigations are pre-satisfied. This should occur automatically and pessimistically by the deep OperationDependencyAnalysis but obviously does not occur for opaque black boxes.

See Bug 522626 for consideration of how to declare the accesses of black boxes.

For the passed arguments, it is obviously necessary to ensure the containment which can probably be achieved by just adding a dependency on the close of the ancestor containment relationships. For well behaved metamodels this may be relatively fee depemdencies, but for polymorphic containment as in Ecore's EAnnotation.contents, it is everything. Is it appropiate to take a similar approacxch to the manual code and have a conceptual 'all-containments' pseudo-node to simplify an N:M mesh into N:1:M trees?