【问题标题】:OCL constraint UML Profile Rational Software ArchitectOCL 约束 UML Profile Rational Software Architect
【发布时间】:2026-01-24 12:25:01
【问题描述】:

我有一个 UML 配置文件,我需要为我的 ModeBehaviour 原型添加一个约束,它是 StateMachine 的扩展。

约束:Owned States 必须被定型为 Mode,Owned Transitions 必须被定型为 ModeTransition

对于约束的第一部分,我认为它可能以:self.submachine 开头,因为这将引用 ModeBehaviour 的拥有状态?从那里我不知道如何查看这些状态是否是模式的刻板印象。

任何方向都会非常有帮助。

【问题讨论】:

    标签: profile ocl stereotype


    【解决方案1】:

    要确定元素是否附加了特定的构造型,只需使用getAppliedStereotype 函数即可。例如,如果您想从 MyProfile 配置文件中找出 self 元素是否具有 MyStereotype 构造型,请使用

    self.getAppliedStereotype("MyProfile::MyStereotype") <> null

    根据您的特定用途调整它作为练习 :)

    【讨论】:

    • 感谢您的回复。您如何指代拥有的状态或拥有的转换。对于拥有的状态,我有 self.submachineState 并且我不确定拥有的转换。你有什么想法吗?
    • 我不确定那个,但如果它类似于类图中的关联,您可以将转换的另一端视为属性。