-
Key: KERML11-140
-
Status: open
-
Source: Model Driven Solutions ( Mr. Ed Seidewitz)
-
Summary:
In 8.2.3.5.1 Name Resolution Overview, it states:
The basic name resolution process is used directly to resolve a qualified name in all cases except when the qualified name specifies the redefinedFeature of a Redefinition with an owningFeature that has an owningType. In this case, the basic name resolution processes is repeated with the general Type of each ownedSpecialization of the owningType considered in turn as the local Namespace, until a resolution is found. If no resolution is found for any of these, then the overall resolution fails.
However, consider a model such as:
class A { var feature x : ScalarValues::Integer; feature ts :> timeSlices { var feature x1 redefines x = 1; } }which is a pattern explicitly accommodated for variable features, to allow them to be bound within time slices of a containing class. However, according to the paragraph quoted above, x as the target of the redefinition of the declaration of x1 will not resolve to A::x. This is because "basic name resolution" includes resolution in outer scopes, but that will happen in the outer scopes of the general types of ts (i.e., timeSlices) not the outer scope of ts itself (i.e., A).
-
Reported: KerML 1.0 — Tue, 11 Nov 2025 23:25 GMT
-
Updated: Tue, 11 Nov 2025 23:25 GMT
KERML11 — Name resolution for the target of a redefinition
- Key: KERML11-140
- OMG Task Force: Kernel Modeling Language (KerML) 1.1 RTF