Hi,
Yes, but I guess there is a difference if the LiteralString can be evaluated into an integer/unlimited natural value, vs. whent the string cannot? I don't know the inner details of the UML spec and the UML2 components implementation when you try to retreive the integerValue() respectively unlimitedValue() from a LiteralString.
If I check the UML spec upper and lower is derived according to:
body: if (lowerValue=null or lowerValue.integerValue()=null) then 1 else
lowerValue.integerValue() endif
respectively
body: if (upperValue=null or upperValue.unlimitedValue()=null) then 1 else
upperValue.unlimitedValue() endif
To conclude if there is a difference I guess we need to have one case "5".."5" and another case "MAX".."MAX" vs. "1".."5" and "MIN".."MAX".
But maybe the current tests already covers this? But then I do not understand how the violation actually can be detected for the case when upperValue and lowerValue has different LiteralStrings, because I would expect both of them to be derived to 1.
/Peter Cigéhn