3. 基于模型的系统工程建模语言概览
SysML(Systems Modeling Language)是在 UML 基础上为系统工程扩展而来的建模语言。它并不是“把 UML 换个名字”,而是针对系统工程师真正关心的问题——需求如何被满足、功能如何分解、逻辑组件如何交互、物理架构如何承载——提供了专门的图类型和语义。理解 SysML,关键不是背下九种图的名称,而是理解它们各自回答什么问题,以及这些图如何组织成一个可追溯、可验证的模型。
一、SysML 图类型的分类与职责
SysML 的图可以按“结构”和“行为”两大类理解,再叠加一张贯穿全局的需求图。结构图描述系统“由什么组成、如何连接”;行为图描述系统“如何随时间变化、如何响应外部刺激”。
- 结构类:块定义图(BDD)定义块及其属性、操作、端口;内部块图(IBD)描述块内部部件之间的连接与接口;包图(PKG)组织模型元素。
- 行为类:活动图(ACT)表达功能分解与控制流;序列图(SD)表达参与者之间按时间顺序的消息交互;状态机图(STM)表达对象生命周期中的状态迁移;用例图(UC)表达系统对外部参与者的服务边界。
- 需求类:需求图(REQ)表达需求之间的包含、派生、满足、验证关系。
- 参数类:参数图(PAR)表达工程约束与性能方程,是仿真联动的关键入口。
这些图不是孤立的。一个典型的 SysML 模型会以需求图为起点,用活动图分解功能,用块定义图和内部块图建立逻辑与物理结构,再用参数图把性能约束绑定到具体属性上,最终通过需求图中的「满足」和「验证」关系形成闭环。
二、模型组织方式:包、视图与模型库
SysML 模型通常按“包(Package)”组织。包可以嵌套,形成命名空间,避免同名元素冲突。常见的组织策略是按架构层次划分包,例如:Requirements、Behavior、Logical、Physical、Parametrics、Verification。每个包内部再按子系统或功能继续细分。
除了包,SysML 还支持“视图(View)”和“视角(Viewpoint)”。视图是对模型某个侧面的投影,例如“安全性视图”只展示与安全相关的需求和组件;“性能视图”只展示参数图和关键性能属性。视角则定义视图应遵循的规则和关注点。这种机制让同一个模型可以服务于不同角色:需求工程师看需求视图,机械工程师看物理视图,仿真工程师看参数视图。
三、需求-功能-逻辑-物理架构的表达方法
SysML 最核心的价值,是支持从需求到物理架构的逐层追溯。下面用一个简化的“无人机定高巡航”示例说明表达方法。假设需求为:REQ-01:无人机应在 50 m ± 2 m 高度保持巡航,响应时间不超过 2 s。
需求表达:在需求图中建立 REQ-01,并拆分为 REQ-01.1(高度保持精度)和 REQ-01.2(响应时间)。每个需求都有 id、text、rationale 等属性。
功能表达:用活动图分解“定高巡航”功能,得到“采集高度”“计算偏差”“输出舵面指令”“执行舵面动作”等动作节点,并用控制流连接。活动图中的每个动作可以分配(allocate)到逻辑组件。
逻辑表达:用块定义图建立逻辑块,例如 HeightSensor、FlightController、Actuator,定义它们的端口和接口。内部块图则展示这些逻辑块之间的连接:传感器输出高度信号到控制器,控制器输出指令到执行机构。
物理表达:物理架构进一步把逻辑块映射到真实部件,例如 HeightSensor 映射为某型号气压高度计,FlightController 映射为飞控计算机,Actuator 映射为舵机。物理块可以带有重量、功耗、精度等属性。
参数表达:参数图把 REQ-01.1 的精度约束绑定到传感器精度、控制器增益和舵机分辨率上,形成可计算的约束网络。当这些参数变化时,可以判断需求是否仍被满足。
整个追溯链可以概括为:需求 → 功能 → 逻辑 → 物理 → 参数验证。每一层都通过「满足」「分配」「验证」等关系与上一层连接,形成可查询、可影响分析、可验证的模型网络。
四、从图到模型:组织与追溯的实践要点
在实际项目中,SysML 模型的质量往往不取决于图画得多漂亮,而取决于追溯关系是否完整、命名是否一致、参数是否可计算。以下几条经验值得注意:
- 需求先编号,再建模。每条需求应有唯一 id,需求图中的文本与需求管理工具保持同步,避免“图上一套、文档一套”。
- 功能分解到可分配粒度。活动图中的动作节点应细化到能明确分配给一个逻辑块的程度,否则后续分配关系会含糊。
- 逻辑与物理分离。逻辑块描述“做什么”,物理块描述“用什么做”。同一逻辑块可以映射到不同物理方案,便于方案对比。
- 参数图尽早介入。不要等到详细设计才建参数图。早期把关键性能约束参数化,可以在方案阶段就发现不可行组合。
- 用视图服务评审。针对不同评审对象生成不同视图,避免把整个模型一次性铺开导致信息过载。
总结来说,SysML 提供了一套从需求到物理架构的完整表达体系。需求图定义“要什么”,活动图和状态机图定义“怎么行为”,块定义图和内部块图定义“由什么组成”,参数图定义“性能如何约束”,而包和视图则负责把这些内容组织成可维护、可追溯、可验证的模型。掌握这套体系,是后续开展模型与仿真联动验证的基础。