SysML,全称Systems Modeling Language,即系统建模语言,它是一种表述(Specifying)、分析、设计以及验证复杂系统的通用图形化建模语言,复杂系统可能包括软件、硬件、信息、人员、过程和设备等其他系统元素。

想要了解SysML的本质,我们首先关注其核心定位,即:SysML是一种图形化的系统建模语言。由此我们可以抽离出4个维度:

SysML与UML的关系

UML,即“Unified Modeling Language”,又称为统一建模语言,是一种图形化的建模语言,主要用于对软件系统进行建模。同时,用户可以利用UML提供的扩展机制对UML进行扩展,以满足特定领域的建模需求。

系统工程比软件领域覆盖范围更广,除了可能包含的软件组件,可能还包括硬件、人员、设施、过程等更多的系统元素。系统工程师基于UML进行建模工作,并不能很好的描述系统。也就是说在系统工程领域,UML存在“盲点”,基于当前已有的UML元素不足以对复杂系统进行充分的、有效的表达。因此,系统工程领域在寻求一种更为广泛的建模语言。

“UML for Systems Engineering RFP”有OMG和INCOSE联合开发,并由OMG于2003年3月发布。该RFP文档中描述了扩展UML以支持系统工程的需求。SysML规范正是为了满足这些需求,由不同的工具供应商、终端用户、学术界及政府代表联合开发制定,2006年7月6日被OMG采纳,并于2007年发布了OMG SysML V1.0版。

如下图所示,SysML和UML间存在交集,即SysML语言中的部分图是和UML中的相应图是一致的,例如用例图。同时,SysML也有基于UML扩展而来的图,例如活动图。另外,还有一部分图是SysML所特有的,这些图与UML间没有关系,例如需求图。

SysML建模语言中的图模型如下图所示,可以概括为“3类9种”。SysML可以分为行为图、需求图和结构图。三类图又具体化为共计9种模型图。同时,SysML模型图与UML图存在交互。蓝色部分是SysML和UML共有的图,包括序列图、用例图、状态机图、包图,黄色部分是SysML基于UML扩展而来,包括活动图、模块定义图、内部模块图。还有一部分是SysML语言所特有的图,包括需求图和参数图。

用例图

一种黑盒视图,是系统功能的高层描述,用于表达系统执行的用例以及引起系统执行行为的参与者。

模块定义图

一种结构图,与内部模块图及参数图互补,用于描述系统的层次以及系统/组件的分类。

内部模块图

一种结构图,与模块定义图及参数图互补,通过组件(Parts)、端口、连接器来用于描述系统模块的内部结构。

包图

一种结构图,以包的形式组织模型间的层级关系。

参数图

SysML特有的图,与模块定义图及参数图互补,用于说明系统的约束。

活动图

一种行为图,主要关注控制流程,以及输入转化为输出的过程。

序列图

一种行为图,主要关注并精确描述系统内部不同模块间的交互,

状态机图

一种行为图,主要关注系统内部模块的一系列状态以及在事件触发下的不同状态间的转换。

需求图

用于表述文字化的需求、需求间的关系,以及与之存在满足、验证等关系的其他模型元素。

SysML还包含了分配关系的表述,包括功能到组件的分配、软件到硬件的分配以及逻辑到物理的分配

SysML的通用图形化表述

SysML的通用图形表述如下图所示,每个SysML图都有图外框、头部以及内容区域三部分组成。图外框是指图的外部黑色实线,在SysML中外框不能省略。内容区域是存放SysML模型元素的地方。头部位于图的左上角,对模型图的类型、名称、模型元素类型及名称进行概要性描述。

图的头部是最为重要的图概念,一般包括四个信息:图类型、模型元素类型、模型元素名称、图名称。

图的类型

图类型的命名只能在SysML定义的图类型缩写集合中选择,用户不能随意命名。SysML中定义的图类型的缩写集合简称如下所示:

模型元素类型

SysML定义了模型元素类型集合,这些类型的模型元素在图中是不能任意出现的,每种SysML图中所能表达的模型元素是有规则限制的,参考如下的模型图和模型元素匹配表。关于元素类型所表达的含义在后续系列文章中详细说明。

模型元素名称

用户自定义模型元素的名称

图名称

用户自定义图的名称

SysML建模工具

我们说,SysML是一种图形化的建模语言,OMG组织发布了针对SysML的建模语言描述规范,其详细定义的SysML的语义。面面俱到的规范并不适合SysML初学者,这些主要面向建模规范制定者以及相关的建模工具厂商,用于进行建模规范制定以及建模工具的开发实现。支持SysML这一图形化的建模语言的商业或免费的工具如下表,仅供参考。当然,用户也可以基于SysML规范实现一款全新的建模工具。

支持SysML的建模工具有很多,笔者了解比较多的是Rhapsody,这是一款来自IBM Rational 的商业化工具。基于Rhapsody我们可以实现可视化建模、模型验证、测试用例自动生成、代码自动生成等高级工作。关于Rhapsody的详细介绍会在后续文章中详细描述。

总结

SysML是一种图形化建模语言,用于对复杂系统进行建模;

SysML基于UML 2,并对其进行了扩展;

SysML不是建模的方法论,也不是建模工具;

【SysML】模型图概览相关推荐

  1. 【转】Visio画用例模型图竟然没有include关系

    转自:http://blog.csdn.net/shuixin536/article/details/8289746 由于电脑上没有安装Rose,因此决定用visio来画UML中的用例模型图,在绘制的 ...

  2. seaborn系列 (17) | 回归模型图lmplot()

    目录 回归模型图 函数原型 参数解读 案例教程 案例地址 回归模型图 回归模型图可以对数据进行回归显示. 函数原型 seaborn.lmplot(x, y, data, hue=None,col=No ...

  3. python绘制3d图-python3利用Axes3D库画3D模型图

    Python3利用Axes3D库画3D模型图,供大家参考,具体内容如下 最近在学习机器学习相关的算法,用python实现.自己实现两个特征的线性回归,用Axes3D库进行建模. python代码 im ...

  4. 【C 语言】二级指针 内存模型图 ( 指针数组 | 二维数组 | 自定义二级指针内存 )

    文章目录 前言 一.指针数组 二.二维数组 三.自定义二维指针内存 前言 绘制如下 333 种二级指针的内存模型 : // I. 指针数组 char *p1 []= {"12", ...

  5. 如何画出漂亮的深度学习模型图

    现在搞AI研究写论文,其中论文里的框架图模型图很是考验你画图的能力,不费一番心思功夫,怎能画出一个入得Reviewer法眼的图,论文也不大好中,很是发愁.好消息来了,elvis介绍了有个ML visu ...

  6. python加载模型文件进行图片分类_tensorflow通过模型文件,使用tensorboard查看其模型图Graph方式...

    Google提供了一个工具,TensorBoard,它能以图表的方式分析你在训练过程中汇总的各种数据,其中包括Graph结构. 所以我们可以简单的写几行Pyhton,加载Graph,只在logdir里 ...

  7. xs资料网-产品设计图档下载_proe玩具车3D模型图档下载creo4.0汽车模型下载中磊教育...

    现在设计产品的还是有相当一大部分人是用proe造型的,之前我们一直做的是UG的产品造型,今天给大家介绍一款玩具车的3d模型,喜欢的可以下载下载自己研究研究, 中磊教育产品设计教程 proe玩具车3D模 ...

  8. 使用visio 提示此UML形状所在的绘图页不是UML模型图的一部分 请问这个问题怎么解决?...

    解决方法 新建->选择软件与数据库模板->选择UML模型图-> 注意: 如果不选择UML模型图的话,可能会出现无法编辑形状文本,提示"此UML形状所在的绘图页不是UML模型 ...

  9. 模板 | 如何画出漂亮的深度学习模型图

    现在搞AI研究写论文,其中论文里的框架图模型图很是考验你画图的能力,不费一番心思功夫,怎能画出一个入得Reviewer法眼的图,论文也不大好中,很是发愁.好消息来了,elvis介绍了有个ML visu ...

最新文章

  1. 网络编程学习笔记(uname函数)
  2. Mathematica干涉图处理
  3. Android系统中通过shell命令实现wifi的连接控制
  4. 安装与设置Visual SVN
  5. 如何套用模板绘制生产管理流程图
  6. Java动态规划---矩阵链相乘的最小计算代价
  7. UVA10945 Mother bear【Ad Hoc】
  8. 程序员面试金典——17.12整数对查找
  9. seaborn—seaborn.regplot绘制线性回归拟合图
  10. 计算机工程专业毕业,新加坡国立大学计算机工程专业毕业生亲临介绍
  11. 1919: 【提高】滑翔翼
  12. 图层蒙版和快速蒙版、路径
  13. 看看大师们讲解英语学习方法
  14. 分治法 divide and conquer
  15. 解决HTML中文乱码
  16. NMOS双向转换电路实测以及上升沿尖峰处理
  17. 衡量两个概率分布之间的差异性的指标
  18. 多项式:从什么都不知道到门都没入
  19. 华为手机有线共享网络_华为怎么共享热点网络连接(图文)
  20. UCK Network为区块链生态环境搭建一个完善自循环供水系统

热门文章

  1. lcd屏幕有mipi接口吗_液晶屏mipi接口能用的最大分辨率是多少
  2. python及其工具
  3. 4.一脚踹进ViT——ViT再审视与DeiT的实现
  4. 查找二叉树(BST)
  5. 51单片机学习——9--温度传感器DS18B20
  6. HuaWei ❉ IPv4基本原理
  7. 英语长句分析经典100句
  8. 使用jQuery实现五星好评
  9. UML设计——网上信用卡管理系统分析与设计(新手)
  10. 《Springer》宣布免费对外开放的书籍下载