2. 系统建模语言SysML精要

SysML(Systems Modeling Language)是在UML 2.x基础上为系统工程领域定制的一门通用建模语言。理解SysML,首先要抓住它与UML的“继承与裁剪”关系:SysML复用了UML中成熟的表达机制,如类、关联、活动、状态、交互等,同时删去了与软件实现强绑定的部分(如UML中面向代码部署的构件图、部署图等),并新增了系统工程特有的需求图与参数图。因此,SysML不是另起炉灶,而是把UML从“软件系统”扩展到“跨学科复杂系统”,覆盖机械、电气、控制、软件、人因等多领域。

SysML的图分类通常按“结构、行为、需求、参数”四条主线组织。结构类图描述系统由什么组成、如何连接,包括块定义图(BDD)和内部块图(IBD);行为类图描述系统如何随时间运行,包括用例图、活动图、序列图和状态机图;需求图专门表达需求条目及其与设计元素之间的满足、验证、派生、细化等关系;参数图则把工程约束(如质量、功耗、力矩、成本)以数学关系绑定到结构模型上,使模型具备可计算、可权衡的能力。这四类图并非彼此孤立,而是围绕同一套模型元素协同工作。

SysML 图分类与核心语义关系 结构 · 行为 · 需求 · 参数 四条主线协同支撑系统模型 UML 2.x 基础 类 / 活动 / 状态 / 交互 复用+裁剪 SysML 扩展 需求图 + 参数图 面向系统 跨学科系统模型 机械 · 电气 · 控制 · 软件 · 人因 结构类 BDD 块定义图 块 / 属性 / 端口 / 泛化 IBD 内部块图 部件 / 连接器 / 流 行为类 用例图 · 活动图 序列图 · 状态机图 参与者 / 动作 / 消息 状态 / 转移 / 事件 需求类 需求图 需求条目 / 标识 / 文本 满足 / 验证 / 派生 / 细化 参数类 参数图 约束属性 / 约束块 绑定连接器 / 方程 语义绑定示例:无人机续航需求 → 结构 → 参数 → 验证 REQ-01 续航≥30min 需求图 · 文本+标识 满足 «block» 无人机 BDD · 电池/电机/质量 绑定 «constraint» 续航 T = E·η / P 求解 验证结果 T=32min ≥ 30min ✓ BDD 定义“有什么”,IBD 定义“怎么连”,行为图定义“怎么动”,需求图定义“为什么”,参数图定义“算得对不对”

块定义图(BDD)是SysML结构建模的起点。它用«block»定义系统或部件的类型,块内可声明值属性(如质量、功率)、端口(标准端口或代理端口)、操作与约束属性。块之间通过关联、组合、泛化建立关系:组合表示强归属(如无人机由机身、电池、电机组成),泛化表示分类继承(如多旋翼无人机是一种无人机)。BDD回答的是“系统由哪些类型的块构成、它们之间是什么静态关系”。

内部块图(IBD)则把BDD中的块“展开”,描述某个块内部由哪些部件实例组成、这些部件通过哪些连接器相连、端口之间如何传递流。IBD中的部件是角色,不是类型;连接器可以承载物料流、能量流、信号流或数据流。例如,在无人机IBD中,电池部件的电源端口通过连接器连到配电部件的输入端口,配电再连到电机,形成能量传递链。BDD与IBD配合,才能既说清类型结构,又说清实例连接。

行为类图从不同角度描述系统动态。用例图从外部视角界定系统边界与参与者目标,适合早期需求捕获;活动图描述控制流与数据流,支持动作、决策、分叉、汇合、对象流,常用于表达任务流程或算法逻辑;序列图强调交互的时间顺序,用生命线、消息、激活条表现对象之间按时间展开的调用或信号交换;状态机图描述一个对象在生命周期内的状态、事件、转移与动作,适合表达模式切换、故障恢复等离散行为。四者互补:用例图说“谁要什么”,活动图说“步骤怎么走”,序列图说“谁先跟谁交互”,状态机图说“对象处于什么状态、什么事件触发变化”。

需求图是SysML区别于UML的关键图之一。它把需求作为一等模型元素,用«requirement»表示,可包含标识、文本、来源、优先级等属性。需求之间可建立包含、派生、细化关系;需求与设计元素之间可建立满足(satisfy)、验证(verify)、追踪(trace)等关系。这样,需求不再是孤立文档,而是与块、活动、测试用例形成可追溯网络。当某个块被修改时,可以沿满足关系反查受影响的需求,支撑变更影响分析。

参数图把工程约束显式化。它用约束块(constraint block)封装方程或不等式,用约束属性表示方程中的变量,再通过绑定连接器把约束属性与块的值属性关联起来。例如,续航时间约束 T = E·η / P,其中 E 为电池能量、η 为能量转换效率、P 为平均功率。把 E、η、P 绑定到无人机块的值属性后,一旦给定具体数值,参数图即可求解 T,并判断是否满足“T ≥ 30 min”的需求。参数图使模型从“画结构”走向“可计算、可权衡”,是MBSE中连接设计与分析的关键桥梁。

SysML九种图并非每个项目都要全部使用。实际建模时,通常先用需求图锁定需求,用BDD/IBD搭建结构骨架,再用活动图或状态机图描述关键行为,最后用参数图绑定性能约束。图的选择取决于你要回答的问题,而不是图的数量。

从语义上看,SysML各图共享同一套模型仓库:BDD中定义的块,可以在IBD中实例化,可以在活动图中作为对象流节点,可以在序列图中作为生命线,可以在需求图中被满足,可以在参数图中被绑定。这种“同一元素、多视图表达”的能力,正是模型驱动系统工程的核心价值——模型不是图的集合,而是系统的一致抽象。