3. 系统集成建模的SysML表达框架

系统集成建模的核心难题,不是“把系统画出来”,而是让结构、行为、参数三条线索在同一模型里互相可追溯。SysML 提供了九类图,但在集成建模中真正承担主线的是六类:块定义图(BDD)、内部块图(IBD)、参数图(PAR)、活动图(ACT)、状态机图(STM)和序列图(SD)。它们不是并列的六张图,而是分工明确、彼此引用的一个表达框架。

一、分工:每类图回答一个不可替代的问题

BDD 回答“系统由哪些块构成、块之间是什么关系”。它定义块、值属性、端口、流属性以及泛化、组合、关联等关系,是整个模型的类型字典。集成建模中,BDD 是接口类型的唯一权威来源——端口类型、流属性类型、单位都必须在 BDD 中先定义,否则 IBD 和 PAR 无法引用。

IBD 回答“这些块在具体语境中如何连接”。它把 BDD 中的块实例化为部件属性,用连接器把端口连起来,用代理端口把内部连接暴露到边界。IBD 是接口架构的装配视图,也是集成时“谁和谁对接”的直接依据。

PAR 回答“性能指标如何由部件参数决定”。它把值属性绑定为约束参数,用约束块(如 PowerBudget、MassBudget)建立方程,再通过绑定连接器把参数与结构关联。PAR 是集成建模中做预算分配和权衡分析的量化工具。

ACT 回答“功能如何分解为动作、控制流与对象流”。它描述输入如何经一系列动作转化为输出,适合表达数据加工、控制逻辑和资源流。集成建模中,ACT 用于把功能分配到块上,并暴露动作之间的对象流接口。

STM 回答“系统在什么条件下从一种状态迁移到另一种状态”。它用状态、迁移、事件、守卫条件描述离散行为,适合表达模式切换、故障处理和使能逻辑。集成建模中,STM 是行为与结构交互的“控制面”。

SD 回答“一次具体交互中,消息按什么时间顺序在部件间传递”。它用生命线、消息、执行说明描述场景,适合验证接口时序、协议握手和异常路径。SD 是集成测试用例的直接来源。

二、协同:六类图如何互相引用

六类图的协同关系可以概括为“结构定接口、行为定交互、参数定约束、场景定验证”。BDD 定义块和端口类型;IBD 在 BDD 基础上装配实例和连接器;ACT 和 STM 把行为分配到块上,并通过对象流或事件与端口对应;SD 从 IBD 的生命线出发,把 ACT/STM 中的动作和迁移展开为消息序列;PAR 则把 BDD 中的值属性与约束方程绑定,为 ACT 和 SD 提供量化判据。

一个常见的集成建模闭环是:BDD 定义 电源模块 和 负载模块 的端口与值属性 → IBD 把两者用 powerOut 到 powerIn 连接 → PAR 建立 P_out ≥ P_load + P_loss 约束 → ACT 描述上电动作序列 → STM 描述待机、启动、运行、故障状态 → SD 验证上电握手时序。六类图各司其职,又通过端口、值属性、动作和事件互相锚定。

SysML 六类图在系统集成建模中的分工与协同 块定义图 BDD 定义块、端口、值属性 泛化 / 组合 / 关联 接口类型的权威来源 内部块图 IBD 部件属性、连接器 代理端口、装配视图 接口对接的直接依据 参数图 PAR 约束块、参数绑定 预算分配、权衡分析 量化约束与判据 活动图 ACT 动作、控制流、对象流 功能分解与分配 数据加工与资源流 状态机图 STM 状态、迁移、事件 守卫条件、模式切换 行为控制面 序列图 SD 生命线、消息、执行说明 时序、协议、异常路径 集成测试用例来源 实例化 值属性绑定 行为分配 事件/端口 生命线 动作展开 迁移触发 量化判据 集成建模闭环示例:电源—负载子系统 BDD:端口/值属性 IBD:连接器装配 PAR:功率约束 ACT/STM SD 验证上电握手时序 → 结果回写 PAR 与 STM,形成可追溯闭环

三、实际建模中的协同要点

第一,端口类型必须先在 BDD 中定义。例如定义 PowerPort 端口类型,其流属性为 voltage: Real [V]、current: Real [A],再在 IBD 中实例化连接。若跳过 BDD 直接在 IBD 上画连接器,模型会失去类型约束,后续 PAR 无法绑定单位。

第二,IBD 的连接器要与 ACT 的对象流对应。IBD 中 powerOut 到 powerIn 的连接器,在 ACT 中应表现为一个对象流,其类型与端口流属性一致。这样功能分解和结构装配才能对齐。

第三,PAR 的约束参数必须来自 BDD 的值属性。例如 P_out 绑定到 电源模块.outputPower,P_load 绑定到 负载模块.ratedPower,约束方程 P_out ≥ P_load + P_loss 才能随结构变化自动重算。

第四,STM 的迁移事件要与 IBD 的端口或 ACT 的动作对应。例如 启动 事件由 enable 端口接收,触发 待机 → 运行 迁移,并在 ACT 中对应 使能输出 动作。

第五,SD 的生命线应直接引用 IBD 中的部件属性。这样当 IBD 增加一个部件时,SD 可以立即扩展新的交互路径,而不需要重新定义对象。

在实际项目中,建议按“BDD → IBD → PAR → ACT/STM → SD”的顺序推进,但允许迭代回改。每次回改都要检查端口类型、值属性和事件名称是否一致,避免出现“图能画、模型不能跑”的断链。

四、常见误区与判断依据

误区一:用 IBD 代替 BDD 定义类型。判断依据是看端口是否有类型、流属性是否有单位。若没有,说明类型定义缺失。

误区二:PAR 与 BDD 脱节。判断依据是看约束参数是否能追溯到 BDD 的值属性。若参数是孤立常量,则无法随设计变更自动更新。

误区三:SD 与 IBD 生命线不一致。判断依据是看 SD 中的生命线名称是否与 IBD 部件属性同名。若不一致,集成测试用例将无法映射到结构。

误区四:STM 与 ACT 重复表达同一逻辑。判断依据是看 STM 是否只描述状态与迁移条件,ACT 是否只描述动作与数据流。若两者都在描述同一控制逻辑,应合并到 STM,ACT 只保留被调用的动作。

六类图的分工与协同,本质上是让“结构、行为、参数、场景”四个视角在同一模型里互相引用、互相约束。只有做到这一点,系统集成建模才不是六张孤立的图,而是一个可追溯、可验证、可迭代的工程模型。