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

相关推荐
代码方舟6 分钟前
零信任架构实战:基于天远企业四要素验证构建自动化B2B供应链金融网关
人工智能·金融·架构·自动化
小灰灰搞电子8 分钟前
Rust suppaftp 库详解:基于 FTP 客户端实战指南
开发语言·后端·rust
Ramble_Naylor8 分钟前
枚举与 match:一个值只能是几种情况之一
后端·rust
编码浪子10 分钟前
Rust unsafe 与 FFI 互操作生产级实战:把危险关进笼子的四道闸门
开发语言·后端·rust
天远API18 分钟前
零信任架构实战:基于天远企业四要素验证构建自动化供应商准入网关
运维·人工智能·架构·自动化
步行cgn1 小时前
Spring Boot 将配置绑定到第三方对象详解
spring boot·后端·python
码事漫谈10 小时前
多人共用一个 key,缓存命中率会不会因此降低?
后端
Seoyoneh10 小时前
Agentic Workflow编排架构:云客服从“被动响应”迈向“主动执行”的技术实现
java·开发语言·架构
考虑考虑10 小时前
docker compose环境变量替换
运维·后端·自动化运维
武雄(小星Ai)11 小时前
飞书API上传26MB文件偶发失败:错误码9499与空响应体排坑实录
后端·api·排坑实录