工具:造卫星了只会UML2要知道SysML吗? 搞定活动图

1 简介

在前面我们知道MBSE有三大支柱,分别是建模语言、建模工具和建模思路。而其中建模语言SysML有行为图其中就有活动图,我们看看啥样。

对象管理组织OMG在对UML2.0的子集进行重用和扩展的基础上,提出了一种新的系统建模语言SysML(Systems Modeling Language),作为系统工程的标准建模语言。SysML的目的是统一系统工程中使用的建模语言。

2 行为图的活动图 act

  • 定义

活动:活动(表示法:圆角矩形或"圆角")表示功能行为流,其中可能包括可选的对象(数据)流。

它通常显示系统行为的序列和对象流向。

控制流和对象流可以是顺序的(默认的)或并行的(由分叉和连接节点指示),具体取决于条件。

示例1,某卫星系统设计的活动图

其中Action = atomic Activity,这是一个原始的可执行行为。

控制流 = 功能行为流

对象流 = 对象输入/输出到/从活动或操作的数据流。

  • 活动图(act):

活动图使用组合的控制流和对象(数据)流模型显示系统动态行为。

通过在活动定义和调用行为操作用法之间交替,可以递归分解("嵌套")活动(以及间接的活动图)(请参阅下面的使用说明)。

活动和操作可以被分配(通过表示控制块的分区(即,代表系统、子系统、子子系统等原子结构的块); 数据块(即代表持久数据存储的块)和包含数据块的信号可以分配给活动参数和操作图钉;

例2,活动图的顶级函数图

例3,活动图的函数分解图

3 活动图的目的

活动图的目的是指定动态系统行为,这些行为使用控制流和对象(数据)流来满足("满足"依赖关系)系统功能需求。如果应用得当(请参阅下面的使用说明),活动图是递归可扩展和可模拟的。

最佳使用场景:

  • 通过在活动定义和调用行为用法之间交替,递归分解("嵌套")活动。
  • 将所有活动和操作分配给代表控制块的分区。
  • 将数据块或信号分配给所有活动参数和操作引脚。
  • 确保所有活动至少满足一项功能要求。

反例:

  • Bloctivity Anti-Pattern = 混淆块和活动语法和语义。
  • SMactivity Anti-Pattern = 混淆状态机和活动语法和语义。

可以比较和对比的图:SA/SD DFD,FFBD,EFFBDs,IDEF0; BPMN BPD。

4 小结

这里粗略提供了概念和几个现成的活动图例子,一窥其貌。 后续我们继续了解其他SysML类型的图。

相关推荐
ting94520007 小时前
Tornado 全栈技术深度指南:从原理到实战
人工智能·python·架构·tornado
小码哥_常9 小时前
Spring Boot:别再重复造轮子,这些内置功能香麻了
后端
皮皮林5519 小时前
OpenFeign 首次调用卡 3 秒?八年老开发扒透 5 个坑,实战优化到 100ms!
后端
千寻girling11 小时前
《 Git 详细教程 》
前端·后端·面试
0xDevNull12 小时前
Linux 中 Nginx 代理 Redis 的详细教程
redis·后端
GetcharZp12 小时前
告别 Nginx 手动配置!这款 Go 语言开发的云原生网关,才是容器化时代的真香神器!
后端
RuoyiOffice12 小时前
SpringBoot+Vue3 企业考勤如何处理法定假期?节假日方案、调休补班与工作日判断链路拆解
spring boot·后端·vue·anti-design-vue·ruoyioffice·假期·人力
Swift社区12 小时前
鸿蒙 App 架构中的“领域拆分”
华为·架构·harmonyos
Ronny__13 小时前
Koa2 登录系统:Harness 工程 + Cursor 分步实操指南
架构
Vane113 小时前
从零开发一个AI插件,经历了什么?
人工智能·后端