Community
Participate
Working Groups
The Bug 522705 custom EAnnotation validators put new stresses requiring incremental Ecore2AS to work in order to ensure that edits in the Sample Ecore Editor are accurately used by standard revalidations. (Then do incremental revalidation too.) Reimplementing Ecore2AS, AS2Ecore with bidirectional incremental QVTr should migrate all concerns in respect of pragmatic manual code to tests of important autogenerated functionality.
Starting to implement this reveals challenges: a) EResource is an EDataType not an EClass, so that the EResource2Model relation has to be fudged, and requires accurate DataType relations. Bug 530054 b) ETypedElement+EGenericType to TypedElement+singletonType requires substantial overloading, recursion, and singleton management. This may be too challenging while QVTr2QVTc is still causing pain.
(In reply to Ed Willink from comment #1) > ... requires accurate DataType relations ... singleton management Bug 530054 for DataType relations and SharedEdge singletons has been abandoned; far too many irregularities. Rather Bug 547723 reifies Extent so that the model root transforms in a regular fashion.
(In reply to Ed Willink from comment #2) > Rather Bug 547723 reifies Extent so that the model root transforms in a > regular fashion. That done, we can successfully transform the Ecore containment tree to Pivot. Pushed to master for 2019-06RC1. Next problem, the type singletons referenced from the containment tree. Eventually we probably have a "simple-OCL Pivot to complete-OCL Pivot" transformation to integrate, but we first transform to simple-OCL Pivot. All of the following should work but probably none do ... many fixes needed a1) Pass the Orphanage as an extra argument to all Relations. Klunky and challenging since the Orphanage is an input while other same domain arguments are output. a2) Pass the Orphanage as an extra domain to all Relations. Klunky and challenging since there is a grauitous domain. b) Use keys to make synthesized types singletons c) Use a transformation context variable to pass the Orphanage d) use an interim domain that is an output for the created singletons and then an input for integration within the Orphanage. e) Allow an extent root variable to control singleton parentage (Bug 547943)
(In reply to Ed Willink from comment #3) > a1) Pass the Orphanage as an extra argument to all Relations Extra argument appears to be N:1 inhibiting reachability from a single head. > b) Use keys to make synthesized types singletons Fails due to Bug 547949.
Bug 548536 considers the sub-problem of the Ecore Type to AS Type relations.