如何为UML/SysML中多重度[1..*]的字符串属性指定默认值?
在Cameo Systems Modeler中为多值String属性设置默认值
UML/SysML规范要求
对于多重度为[1..*]的String类型属性,默认值必须以**集合字面量(CollectionLiteral)**的形式定义,用大括号包裹多个StringLiteral元素,格式示例:{"str1", "str2", "str3"}。直接输入单个字符串会不符合多值属性的语义要求。
Cameo Systems Modeler操作步骤
- 打开目标类或SysML块的规格窗口(右键元素→
Open Specification,或在右侧属性面板定位到目标属性)。 - 找到目标属性的「Default Value」字段,点击编辑按钮(铅笔图标)打开表达式编辑器。
- 编辑默认值有两种方式:
- 直接输入文本:在编辑器中输入集合格式的字符串,比如
{"apple", "banana", "cherry"},确保使用英文半角引号和逗号。 - 可视化添加元素:点击编辑器工具栏的「Add Element」按钮,选择
StringLiteral,逐个为每个字面量设置字符串值,编辑器会自动用集合字面量包裹所有元素。
- 直接输入文本:在编辑器中输入集合格式的字符串,比如
- 完成编辑后点击「OK」保存,此时属性的默认值会被识别为符合
[1..*]多重度的字符串集合。
注意事项
- 必须使用英文半角符号,避免中文引号或逗号导致解析错误。
- SysML块属性的设置逻辑与UML类属性完全一致,无需额外操作。
内容的提问来源于stack exchange,提问作者Arne
相关产品推荐
相关产品推荐

