eclipse-qvtd / org.eclipse.qvtd

Eclipse Public License 2.0
0 stars 0 forks source link

[qvti] Evolve load mapping to an entry point #403

Closed eclipse-qvtd-bot closed 13 hours ago

eclipse-qvtd-bot commented 13 hours ago

| --- | --- | | Bugzilla Link | 549751 | | Status | RESOLVED FIXED | | Importance | P3 normal | | Reported | Aug 02, 2019 10:30 EDT | | Modified | Oct 20, 2019 08:25 EDT | | Blocks | 549655 | | See also | 552255 | | Reporter | Ed Willink |

Description

Bug 549655 identifies the need for QVTi to support multiple directions in a single QVTi file.

Therefore evolve the current single 'load' mapping into an EntryPoint per direction.

?? is it helpful to scope the ordinary per-direction mappings below the per-direction EntryPoint??

eclipse-qvtd-bot commented 13 hours ago

By Ed Willink on Aug 02, 2019 10:46

The additional isChecked/isEnforced in ImperativeTypedModel become redundant making the derived ImperativeTypedModel in turn redundant.

Rather EntryPoint can be an ordinary rule, as now, but with additional inputTypedModels/outputTypedModels references for its directionality.


Syntactically e.g.

transformation org::eclipse::qvtd::xtext::qvtrelation::tests::hstm2fstm::HierarchicalStateMachine2FlatStateMachine\ {\ _'$primitive$';\ check hier imports mm_HierarchicalStateMachineMM;\ enforce flat imports mm_FlatStateMachineMM;\ middle imports mm_trace_HierarchicalStateMachine2FlatStateMachineMM;\ }

map:0 rHierarchicalStateMachine2FlatStateMachine____load in\ org::eclipse::qvtd::xtext::qvtrelation::tests::hstm2fstm::HierarchicalStateMachine2FlatStateMachine\ {

changes to:

transformation org::eclipse::qvtd::xtext::qvtrelation::tests::hstm2fstm::HierarchicalStateMachine2FlatStateMachine\ {\ _'$primitive$';\ hier imports mm_HierarchicalStateMachineMM;\ flat imports mm_FlatStateMachineMM;\ middle imports mm_trace_HierarchicalStateMachine2FlatStateMachineMM;\ }

entry rHierarchicalStateMachine2FlatStateMachine____load check hier enforce flat in\ org::eclipse::qvtd::xtext::qvtrelation::tests::hstm2fstm::HierarchicalStateMachine2FlatStateMachine\ {


i.e. eliminate check/enforce TypedModel qualifiers

add 'entry' variant of 'map' with comma-separated lists of check/enforce TypedModels.

(_'$primitive$' is probably not needed at all.)

eclipse-qvtd-bot commented 13 hours ago

By Ed Willink on Aug 18, 2019 17:13

The QVTiTransformationAnalysis sensibly refactors as an EntryPointAnalysis managing an EntryPointAnalysis per direction (avoiding confusion with the compile-time TransformationAnalysis.

Significant functionality that previously passed an ImperativeTransformation now passes an EntryPoint. The run() functionality needs a new direction argument.

Pushed to master for 2019-09M3.

eclipse-qvtd-bot commented 13 hours ago

By Ed Willink on Aug 18, 2019 17:13

resolved too

eclipse-qvtd-bot commented 13 hours ago

By Ed Willink on Oct 20, 2019 08:25

(In reply to Ed Willink from comment #1)

The additional isChecked/isEnforced in ImperativeTypedModel become redundant making the derived ImperativeTypedModel in turn redundant.

See Bug 552255.