Bug 547943 - [language] Make Extent more generally useable
Summary: [language] Make Extent more generally useable
Status: NEW
Alias: None
Product: QVTd
Classification: Modeling
Component: Core (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows 10
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-06-05 04:39 EDT by Ed Willink CLA
Modified: 2019-06-19 07:07 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ed Willink CLA 2019-06-05 04:39:40 EDT
Bug 547723 introduced Extent as a reification of a Resource, but it only really works in top relations. Handling singletons for Ecore2Pivot synthesized types requires more general no-top access to an Extent ot special elements within it.

?? Is there a reserved variable such s "here" or "extent" for the Extent ??

?? Can a "top" root variable be declared for a non-top (or top) relation ??

The latter avoids a reserved word conflicting with legacy and avoid confusion for multiple domains with named Extents.

Does a top root variable permute a match all possible Extents or just access the extent of the preceding root variaable.

?? a top root variable permutes, a separate extent-of accesses ??
Comment 1 Ed Willink CLA 2019-06-19 07:06:51 EDT
Bug 547993 identifies that proxies need resolution so that the transitive closure of rources in an input TypedModel are the TypedModelInstance. There is therefore some ambiguity as to whether an Extent is on Resource or all Resources. For inputs it doesn't matter much, Extents are created as loaded but may be transformed individually. There is also not really much difference between the multiple resources discovered b y transitive reference resolution and multiple resources bound to a single TypedModel by the transformation launcher.

For outputs there should be some mechanism to control multiple outputs; perhaps an Extent.setURI helper to at least hint at the distinctive namings of multiple ourputs.

Overall we need to evolve to a TypedModel is declared and has a TypedModelInstance at runtime which in turn has zero or more Extents broadly corresonding to Ecore Resources which may derive from multiple launcher bindings or transitive reference resolution.