Issue 18363: Undefined semantics for unsatisfied "when" and "where" in inherited mapping (qvt-rtf) Source: (, ) Nature: Clarification Severity: Minor Summary: In operational QVT, it is not clear what happens when the "when" or "where" clause of an inherited mapping does not hold. Suggestion: Considering inheritance is a type (or, maybe, a synonym) of generalization, it would be expected that the semantics of inheritance mimics the semantics of generalization in MOF. The UML, which defines generalization used by CMOF and EMOF, states: "... features specified for instances of the general classifier are implicitly specified for instances of the specific classifier. Any constraint applying to instances of the general classifier also applies to instances of the specific classifier." (UML Infrastructure 2.4.1, p.51). If the "when" and "where" clauses are considered as features of a mapping, the clauses of the inherited mapping should be implicitly specified. Similarly, if they are considered as constraints applying to a mapping, the clauses defined in the inherited mapping should apply to the inheriting mapping. Therefore, a possible solution in both situations is to consider that the "when" and "where" clauses must hold in the inheriting mapping. Commentary: An interesting discussion is if something similar to the Liskov substitution principle should be applied in this situation. Resolution: Revised Text: Actions taken: January 4, 2013: received issue Discussion: End of Annotations:===== m: webmaster@omg.org Date: 04 Jan 2013 07:32:42 -0500 To: Subject: Issue/Bug Report X-Brightmail-Tracker: AAAAAA== X-Brightmail-Tracker: AAAAAA== ******************************************************************************* Name: Fáo Levy Siqueira Employer: mailFrom: levy.siqueira@gmail.com Terms_Agreement: I agree Specification: Meta Object Facility (MOF) 2.0 Query/View/Transformation Specification Section: 8.2.1.15 FormalNumber: formal/2011-01-01 Version: 1.1 Doc_Year: 2011 Doc_Month: January Doc_Day: Day Page: 93 Title: Undefined semantics for unsatisfied "when" and "where" in inherited mapping Nature: Clarification Severity: Minor CODE: 3TMw8 B1: Report Issue Description: In operational QVT, it is not clear what happens when the "when" or "where" clause of an inherited mapping does not hold. Suggestion: Considering inheritance is a type (or, maybe, a synonym) of generalization, it would be expected that the semantics of inheritance mimics the semantics of generalization in MOF. The UML, which defines generalization used by CMOF and EMOF, states: "... features specified for instances of the general classifier are implicitly specified for instances of the specific classifier. Any constraint applying to instances of the general classifier also applies to instances of the specific classifier." (UML Infrastructure 2.4.1, p.51). If the "when" and "where" clauses are considered as features of a mapping, the clauses of the inherited mapping should be implicitly specified. Similarly, if they are considered as constraints applying to a mapping, the clauses defined in the inherited mapping should apply to the inheriting mapping. Therefore, a possible solution in both situations is to consider that the "when" and "where" clauses must hold in the inheriting mapping. Commentary: An interesting discussion is if something similar to the Liskov substitution principle should be applied in this situation.