Issue 19429: Inadequate definition of "late" semantics (qvt-rtf) Source: Model Driven Solutions (Dr. Edward Willink, ed(at)willink.me.uk) Nature: Clarification Severity: Significant Summary: The specification of "late" semantics uses the "conceptually" word; a sure sign of missing semantics. It is followed by a magic null value that stores information for later use and with an unspecified trace interaction. The interaction of "late" and implicit collect is not handled so in generalizations := self.eSuperTypes->collect(t | t.late resolve(UML::Generalization)) the direct association of "late" with asssignment is no longer direct; the "late"s must be aggregated. Potentuially this may occur in arbitrary complexd expressions including mapping calls! An alternate multi-pass interpretation of "late" is given. This seems like the correct approach; an MtoM transformation from a with-late to multi-pass without-late transformation. Resolution: Inadequate definition of "late" semantics The specification of "late" semantics uses the "conceptually" word; a sure sign of missing semantics. It is followed by a magic null value that stores information for later use and with an unspecified trace interaction. The interaction of "late" and implicit collect is not handled so in generalizations := self.eSuperTypes->collect(t | t.late resolve(UML::Generalization)) the direct association of "late" with asssignment is no longer direct; the "late"s must be aggregated. Potentially this may occur in arbitrary complex expressions including mapping calls! An alternate multi-pass interpretation of "late" is given. This seems like the correct approach; an MtoM transformation from a with-late to multi-pass without-late transformation. Discussion Yes, but such an MtoM is non-trivial. Needs development and testing before it can be included as part of the specification. Revised Text: Actions taken: May 22, 2014: received issue December 22, 2015: Deferred March 29, 2016: closed issue Discussion: End of Annotations:===== m: webmaster@omg.org Date: 22 May 2014 04:14:11 -0400 To: Subject: Issue/Bug Report ******************************************************************************* Name: Edward Willink Employer: mailFrom: ed@willink.me.uk Terms_Agreement: I agree Specification: QVT 1.2 Section: 8.1.10 FormalNumber: Version: Doc_Year: Year Doc_Month: Month Doc_Day: Day Page: Title: Inadequate definition of "late" semantics Nature: Clarification Severity: Significant CODE: 3TMw8 B1: Report Issue Remote Name: edwillink.plus.com Remote User: HTTP User Agent: Mozilla/5.0 (Windows NT 6.0; rv:29.0) Gecko/20100101 Firefox/29.0 Time: 04:14 AM Description: The specification of "late" semantics uses the "conceptually" word; a sure sign of missing semantics. It is followed by a magic null value that stores information for later use and with an unspecified trace interaction. The interaction of "late" and implicit collect is not handled so in generalizations := self.eSuperTypes->collect(t | t.late resolve(UML::Generalization)) the direct association of "late" with asssignment is no longer direct; the "late"s must be aggregated. Potentuially this may occur in arbitrary complexd expressions including mapping calls! An alternate multi-pass interpretation of "late" is given. This seems like the correct approach; an MtoM transformation from a with-late to multi-pass without-late transformation.