对 OCL 很陌生,感谢您的帮助。
所以我有一个带有如图所示的刻板印象的个人资料:
有人能告诉我如何编写一个不变约束,它说任何有色关联意味着所有连接的类在其颜色属性中必须具有相同的颜色值?
到目前为止我有这个:
Context UML::InfrastructureLibrary::Core::Constructs::Association
inv: Association.allInstances() -> forAll(a:Association|a.oclIsTypeOf(Coloured) implies
a.associatedElement.colour = a.colour)
很确定这是错误的,因为 a.associatedElement 不存在..但我不明白如何访问这个“所有连接的类”或这意味着什么。也许我需要类似的东西
a.[association].colour
?
谢谢