关于元约束中umlRole允许取值及规范来源的技术咨询
关于UML元约束(<>)中umlRole的规范说明
问题背景
在元模型的UML定义中,可定义元约束,示例如下:
<<metaconstraint>> umlRole="classifier" <<metaconstraint>> umlRole = "class"
除此之外还有其他相关定义。请问umlRole的允许取值集合在哪里规定?该内容出自哪份OMG规范?在UML 2.5.1规范(formal/2017-12-05)中未找到相关内容。
解答
规范出处:
<<metaconstraint>>和umlRole属性并非核心UML规范的内容,而是出自OMG的MOF(Meta-Object Facility)规范,具体可参考MOF 2.5.1(formal/2017-12-06)版本。umlRole的允许取值:
umlRole的允许取值集合对应UML元模型中的元类名称,准确来说是所有属于Classifier元类及其子类的元类名。除了示例中的classifier、class,常见取值还包括interface、datatype、enumeration、association等,这些取值用于指定元约束作用的目标UML元模型元素类型。UML 2.5.1中无相关内容的原因:
<<metaconstraint>>属于元元模型层面的约束机制,用于定义对UML元模型本身的约束,这类机制由MOF规范统一定义。核心UML规范仅聚焦于UML自身的元模型结构、建模规则及语义,不会重复涵盖MOF的元级约束细节,因此在UML 2.5.1中找不到相关内容。
内容的提问来源于stack exchange,提问作者wikitect
相关产品推荐
相关产品推荐

