工具:造卫星了只会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类型的图。

相关推荐
IT_陈寒28 分钟前
SpringBoot自动配置这个坑,我踩进去又爬出来了
前端·人工智能·后端
copyer_xyf1 小时前
Agent 流程编排
后端·python·agent
copyer_xyf1 小时前
Agent RAG
后端·python·agent
copyer_xyf1 小时前
【RAG】向量数据库:milvus
后端·python·agent
铁皮饭盒1 小时前
Bun 哪比 Node.js 快?
javascript·后端
copyer_xyf2 小时前
Agent 记忆管理
后端·python·agent
葫芦和十三8 小时前
图解 MongoDB 02|BSON:你以为存的是 JSON,其实是带类型的二进制
后端·mongodb·agent
葫芦和十三8 小时前
图解 MongoDB 01|文档数据库
后端·mongodb·agent
陈随易11 小时前
VSCode的Copilot扩展支持接入DeepSeek,Kimi了!
前端·后端·程序员
我不是外星人12 小时前
有了 Harness Engineering ,真的还需要研发工程师吗?
前端·后端·ai编程