系统建模语言
系统建模语言(Systems Modeling Language)简称SysML[1],是针对系统工程应用的通用建模语言。系统建模语言可以分析许多系统及超系统的规格、分析、设计及验证及确认。
系统建模语言是源于开源项目中,其中也包括允许散布及使用的开源授权[2]。系统建模语言是由统一建模语言(UML)子集延伸所定义的。
和UML的差异
编辑统一建模语言(UML)是软件建模的语言,而系统建模语言(SysML)是应用在系统建模上,相较于UML,有以下系统工程上的改进;
- 相较于UML以软件为中心的限制,SysML的图比较可以充份表达系统工程的概念,而且其中加上了二种图,分别是需求图及参数图。前者可以用在需求工程上,后者可以用在性能分析以及量化分析上。因着这些提升,SysML建模的系统中可以包括硬件、软件、资讯、流程、人员以及装置。
- SysML比UML小,因此在学习和应用都比较方便[3]。SysML删除了许多UML以软件为主的构造,在图的种类以及整个构造上都比UML要小。
- SysML配置表可以支持多种配置方式。UML只能用表格标示方式表示,比较受限。SysML有可变的配置表,其中支持需求配置、功能配置以及结构配置。这有助于自动化的验证及确认(V&V)以及差异分析。
- SysML模型管理构造中支持model、view以及viewpoint。这些构造扩展了UML的能力,其架构上也符合IEEE-Std-1471-2000(IEEE Recommended Practice for Architectural Description of Software Intensive Systems)。
SysML复用了UML 2里面的7种图,增加2种图(需求图以及参数图),一共有9种。SysML也支持配置表,其格式为表格,可以从SysML的配置关系中动态产生。在SysML FAQ中有有关SysML和UML 2图形的比较表。
考虑汽车系统的建模:SysML可以用需求图来有效的找到功能、参数及以性能的需求,而UML只能用用例图找到高阶的功能需求。而SysML可以用参数图精准的定义性能需求以及量化需求,像是最大加速度、最小车重以及整体空气调节能力。而UML没有直接的机制可以找到这些重要的性能以及量化资讯。
有关车用系统的其他部分,强化的活动图以及状态图可以用来说明嵌入式软件的控制逻辑,以及行车电脑上的资讯流。其他SysML的结构图以及行为图可以用来建模制造车辆的工厂,以及在工厂中工作各组织之间的接口。
图形
编辑系统建模语言包括了九种图形,其中有些是源自统一建模语言。