-
Key: KERML-77
-
Status: open
-
Source: Model Driven Solutions ( Mr. Ed Seidewitz)
-
Summary:
The Behavior ControlPerformances::IfThenElsePerformance specializes IfThenPerformance and IfElsePerformance. However, it does not declare any owned parameters (see 9.2.9.2.4). This violates the rule state in 7.4.7.2 Behavior Declaration that "If there is more than one superclassifier behavior, then every parameter from every superclassifier must be redefined by an owned parameter of the subclassifier." Following this rule would require IfThenElsePerformance to be declared with owned parameters, such as
behavior IfThenElsePerformance specializes IfThenPerformance, IfElsePerformance { in ifTest; in thenClause; in elseClause; }
However, as also described in 7.4.7.2, "...each of the owned parameters of the subclassifier behavior must, in order, redefine the parameter at the same position of each of the superclassifier behaviors". This means that IfThenElsePerformance::ifTest has to redefine ifTest from both IfThenPerformance and IfElsePerformance, which is fine. But it also means that IfThenElsePerformance::thenClause has to redefine IfThenPerformance::thenClause and IfElsePerformance::elseClause, which is not what is intended. There is no way to follow this rule and have the third parameter of IfThenElsePerformance redefine the second parameter of IfElsePerformance.
-
Reported: KerML 1.0a1 — Thu, 11 May 2023 03:23 GMT
-
Updated: Mon, 8 Apr 2024 21:42 GMT
KERML — Problems with IfThenElsePerformance
- Key: KERML-77
- OMG Task Force: Kernel Modeling Language (KerML) 1.0 FTF