4. SysML语言入门

在汽车E/E架构的MBSE工程中,SysML(Systems Modeling Language)是承载系统设计语义的核心建模语言。它并非UML的简单改名,而是在UML基础上针对系统工程做了裁剪与扩展:去掉了与软件实现强绑定的部分,增加了需求、参数、分配等系统级概念。理解SysML图分类,是建立可追溯、可验证、可复用架构模型的第一步。

一、SysML图分类:三大类、九种图

SysML共定义九种图,按语义分为三大类:结构图描述系统“由什么组成”,行为图描述系统“如何运行”,需求图则贯穿两者,建立需求与设计之间的追溯关系。结构图包括块定义图(BDD)、内部块图(IBD)和参数图(PAR);行为图包括活动图(ACT)、序列图(SD)、状态机图(STM)和用例图(UC);需求图(REQ)独立成类,是MBSE区别于传统UML建模的关键。

SysML 九种图分类与追溯关系 需求图 REQ 需求层次 · 追溯 · 验证 结构图(Structure) 块定义图 BDD 块 · 属性 · 端口 · 泛化/组合 内部块图 IBD 部件 · 连接器 · 端口绑定 参数图 PAR 约束 · 参数 · 绑定方程 描述系统静态组成与约束 行为图(Behavior) 用例图 UC 参与者 · 用例 · 系统边界 活动图 ACT 动作 · 控制流 · 对象流 · 泳道 状态机图 STM 状态 · 迁移 · 事件 · 守卫 序列图 SD 生命线 · 消息 · 交互片段 satisfy / verify / derive

二、需求图:让每条需求都有“归属”

需求图是MBSE追溯链的起点。它把文本需求建模为可标识、可关联的模型元素,常用关系包括:包含(containment)表达需求层次,派生(derive)表达从上层需求推导出下层需求,满足(satisfy)把设计元素与需求关联,验证(verify)把测试用例与需求关联。在汽车E/E架构中,一条“整车网络需支持CAN FD通信”的需求,可派生为“网关需支持5Mbps CAN FD转发”,再由网关块通过satisfy关系满足,最终由台架测试用例verify。

需求图的价值不在于画得漂亮,而在于让“需求—设计—验证”三者之间没有断点。评审时可直接从需求跳转到对应块和测试用例。

三、用例图与块定义图:从外部视角到内部结构

用例图从系统外部视角描述系统为参与者提供的能力,适合在架构早期界定系统边界。例如“驾驶员”“诊断仪”“云端T-Box”作为参与者,与“启动车辆”“远程诊断”“OTA升级”等用例相连。用例图不描述内部实现,但为后续功能分配提供依据。

块定义图则进入结构视角。块(Block)是SysML的核心结构单元,可表示ECU、传感器、执行器、软件组件甚至整车。BDD中通过组合关系表达“整车包含域控制器”,通过泛化表达“CAN节点与以太网节点都是通信节点”,通过端口和接口表达交互点。BDD是E/E架构拓扑与逻辑分层的主要载体。

四、内部块图、活动图、状态机图与序列图:行为与交互的四种表达

内部块图(IBD)把BDD中的块“打开”,展示其内部部件如何通过端口和连接器互联。例如打开“中央网关”块,可看到CAN通道、以太网交换、诊断路由等部件及其连接关系,是分析信号路径和接口一致性的关键图。

活动图用于描述功能流程与数据流,支持控制流、对象流、泳道和分叉汇合。在E/E架构中,常用于描述“上电时序”“诊断会话切换”“OTA下载与校验”等跨ECU流程。状态机图则描述单个对象的状态与迁移,如“整车电源状态:OFF→ACC→ON→READY”,迁移上可标注事件、守卫条件和动作,适合表达模式管理与故障降级逻辑。

序列图强调时间顺序与消息交互,生命线代表参与交互的部件或角色,消息按时间从上到下排列。它特别适合描述“钥匙认证—网关转发—BCM解锁”这类跨节点时序,并能通过交互片段表达循环、可选和并行。

图型核心问题汽车E/E架构典型用途
需求图 REQ需求如何追溯与验证?法规需求、功能安全需求分解
用例图 UC系统为谁提供什么能力?整车功能边界、用户场景定义
块定义图 BDD系统由哪些块组成?ECU拓扑、逻辑架构分层
内部块图 IBD块内部如何连接?网关内部通道、接口绑定
活动图 ACT功能如何一步步执行?上电流程、诊断流程、OTA流程
状态机图 STM对象状态如何变化?电源模式、网络管理、故障降级
序列图 SD部件之间如何按时间交互?认证、唤醒、报文交互时序

五、案例:用SysML描述一次“无钥匙进入”

以无钥匙进入(PEPS)为例:需求图记录“在1.5米内拉动门把手应解锁”;用例图定义“驾驶员—无钥匙进入”用例;BDD建立“PEPS控制器、低频天线、BCM、门锁执行器”等块;IBD展示PEPS与天线、BCM之间的LIN/CAN连接;活动图描述“唤醒—认证—解锁”动作流;状态机图描述PEPS从Sleep到Authenticating到Unlocked的状态迁移;序列图则精确表达“门把手触发→PEPS发低频→钥匙回高频→BCM解锁”的消息顺序。七种图各司其职,形成完整模型闭环。

常见误区:把BDD当流程图用,或在活动图里堆砌与行为无关的结构信息。正确做法是先明确“这张图回答什么问题”,再选择图型。另一个误区是需求图只画不链,导致需求与设计脱节,追溯链形同虚设。

六、复盘:图型选择的三条判断准则

  1. 看对象:描述静态组成选BDD/IBD,描述动态行为选ACT/STM/SD,描述需求追溯选REQ。
  2. 看视角:外部能力视角选用例图,内部交互视角用IBD或序列图,单对象生命周期用状态机图。
  3. 看追溯:任何设计元素都应能通过satisfy/verify关系回到需求,否则模型只是“好看的图”。