先判断是否需要语言扩展
- 把领域术语逐一对应到已有模型元素,区分只是名称不同、需要补充属性,以及需要明确使用规则的情况。能用既有元素清楚表达的概念优先保持原有语义,避免为每个项目名称建立一种新类型。
- 为确需扩展的概念写出定义、适用对象和反例,并指定维护责任。先用少量通用样例确认团队理解一致,再扩大到工程模型;不要用专属项目术语替代可解释的概念定义。
把属性与约束写清楚
- 明确每项属性的类型、单位、允许值、是否必填和缺省值含义。对容易混用的概念给出正反例,避免把尚未提供的数据、确实为零的数据和不适用项写成同一个值。
- 将可自动检查的规则与需要人工判断的规则分开,并为失败情况提供可定位的提示要求。不要把专属工具中的配置对象、绘图菜单或快捷操作当成建模语言本身的通用规则。
分别检查模型语义和界面行为
- 用一个符合规则的样例和一个故意违反规则的样例,检查扩展是否作用到预定元素、属性是否能被读取,以及错误是否会被发现。图形显示一致并不能代替对象类型与属性的核对。
- 保存后关闭并重新打开样例,再检查属性、引用及必要的检查规则。共享到另一环境时应记录依赖与版本;界面还能显示元素不等于扩展定义和约束仍可解析。
把扩展作为独立交付物维护
- 交付概念说明、扩展定义、属性字典、样例和已知限制,明确哪些内容属于工具配置。修改属性类型或允许值时先分析已有模型,逐项处理失效值,不直接以新的缺省值覆盖旧含义。
- 本方法适用于需要 Profile 的既定语言与工具组合,不能据此认定 SysML v1 扩展可直接迁移到 SysML v2。迁移时应另行核对目标语言的表达方式和工具支持,并记录尚未验证的部分。