编辑推荐: |
本文从几个目标谈谈SysML V2对V1的改进。希望对您有所帮助。
本文来源于雨后阳光工作室,由火龙果软件Elaine编辑,推荐。 |
|
# SysML V2的目标
SysML V2的目标是通过增强SysML以提升MBSE的采纳与有效性,SysML的增强包括以下几个方面,除升级之外,另外5个目标都涉及SysML
V2对V1的改进:
语言的精确性和表达能力
语言概念的一致性与集成性
与其它工程模型与工具之间的互操作性
模型开发人员与模型用户的可用性
领域特定应用的扩展性
支持V1用户与工具开发商的升级
# 文本与图形双重标识法
SysML V2提供文本和图形两种标识法,比单一图形化的标识法能够更加精确更加规范地描述系统的特征。SysML
V2标准要求两种标识法是完全同步的,用户可以根据系统的特征选择适当的标识法对系统进行描述。SysML V2提供了文本和图形两种标识法,而且两种标识法完全等价,可以同时满足不同类型的模型开发人员和模型用户使用偏好。
# 模型与视图分离
得益于文本标识法,SysML V2实现了模型与视图分离。提供了从文本模型生成可视化模型的特性,建模人员可以专注于模型的构建,而非模型元素的布局,使用文本标识法建立好模型后,通过标识法的转换和可视化特性直接获得可视化的图形视图。
# 表达式语言
SysML V2引入了表达式语言,可以精确描述量化特征之间的数学关系。SysML V1通过约束模块定义数学关系,再通过参数图建立数学关系与量化特征的关联,但是约束模块只是提供了一种图形化的封装,数学关系本身的描述需要使用其他语言。
# 个体与快照
SysML V2引入了个体和快照的概念,可以描述一个系统实例的特性随时间的变化。
# 统一的定义与使用
SysML V2使用一致的定义与使用术语,例如部件的定义和使用对应的名称为part def和part;操作的定义和使用对应的名称为action
def和action。而在SysML V1中普遍存在定义与使用的术语不一致,容易引起混淆,例如结构元素的定义称为block,而其使用称为part
property;操作的定义称为activity,而操作的使用称为action。
# 标准API
SysML V2定义了标准的API,通过标准的API,确保不同的工具厂商都提供相同的接口,一方面可以使用统一的模型管理工具对模型进行管理,另一方面,SysML
V2可以更有效与其他工具进行集成。SysML V2提供了统一的API,工具开发用户对建模工具开发的代码可能可以直接在不同的工具中重用。而SysML
V1没有统一的API,同样的功能在不同的工具上往往需要重新开发。
# 筛选器
在模型组织上,SysML V2增加了筛选器,可以在导入时使用筛选器,按照筛选规则导入特定的子集,可以有效支持大型团队的协作,为特定角色定义特定的子集。这个功能比SysML
V1的视图及导入功能更加强大且更加灵活。
# 结构与行为的集成
SysML V2实现了更加有效的结构与行为的集成。原来SysML V1的Block无法与使用activity定义的行为进行关联,而且Block中的operation本身也是行为,与activity描述的行为存在冗余;在SysML
V2中,行为可以使用action进行定义,然后在part中通过perform关系直接建立结构与行为进行关联。
# 行为的分解
SysML V2支持部件的分解和操作的分解。在SysML V1中,只能在模块的定义中进行分解,无法在部件属性中直接进行分解。在SysML
V1中虽然可以使用BDD建立活动之间的分解关系,但是这个关系与活动图的分解关系并不同步,需要人为保持同步。
# 基于库的扩展
SysML V2提倡基于库的扩展,这种扩展性完全基于SysML V2本身的语言特性,扩展更加容易。SysML
V2具备这种扩展性,其原因在于其元模型是基于系统工程领域本体构建的,语言概念与系统工程领域高度匹配。SysML
V1本身是基于UML的扩展,SysML V1的扩展受限于UML的元模型,要对SysML V1进行扩展还需要去研究UML的元类。
# 参考资料
1.2023 - SYSML V2: WHERE WE ARE AND HOW WE GOT HERE
2.2023 – SysML v2 Highlighting the Differences
with SysML v1
3.2021 - Intro to the SysML v2 Language-Textual
Notation
|