-
Key: UML22-1241
-
Legacy Issue Number: 7111
-
Status: closed
-
Source: PostFinance ( Karl Guggisberg)
-
Summary:
SendSignalAction - Matching between arguments and Signal attributes not clear
According to Constraint [1] on page 256 arguments to the SendSignalAction and attributes in the Signal should "match by position", which is not immediately clear because the set Signal::attribute is not ordered.
Signal::attribute is equal to Classifier::attribute which subsets Classifier::feature which subsets Namespace::member. None of these sets is ordered.
Furthermore, it is not clear when an "argument" of SendSignalAction and an attribute of Signal match. Probably, the following conditions should hold: - They have the same name - Both are TypedElement, so their types should conform to each other. - Only "attribute" is a MultiplicityElement - an "argument" of type "InputPin" does not have a multiplicity. Is therefore advisable to constraint the multiplicity of "argument" such that it is always "1..1".
I suggest to change this to a kind of "matching by name", i.e.
[1] The number of arguments of SendSignalAction must be the same as the number of attributes of Signal. self.argument->size() = self.signal.attribute->size()
[2] All arguments must have a name self.argument.name->notEmpty()
[3] The multiplicities of all attributes of signal must be 1 self.signal.attribute->forAll(attr | attr.lowerBound() = 1 and attr.upperBound() = 1 )
[4] For each argument there is exactly one attribute in Signal with the same name and a conformant type, if any.
self.argument->forAll(arg | self.signal.attribute->one(attr | attr.name = arg.name and ((attr.type->size() = 1) implies attr.type.conformsTo(arg.type)) ) )
-
Reported: UML 2.0 — Tue, 9 Mar 2004 05:00 GMT
-
Disposition: Resolved — UML 2.1
-
Disposition Summary:
No Data Available
-
Updated: Fri, 6 Mar 2015 22:54 GMT