1. 课程导入与SysML概览

在复杂系统研发中,真正困难的往往不是单个模块能否工作,而是模块之间能否按预期协同。雷达、飞控、车载电子、工业产线等系统都呈现出同一类特征:机械、电气、软件、控制、通信多学科交织,接口数量多、约束强、变更频繁。SysML(Systems Modeling Language)正是为应对这类问题而出现的系统建模语言,它把需求、结构、行为、参数和验证组织在同一套语义框架内,使“系统怎么分解、模块怎么连接、接口传什么、约束如何满足”可以被一致地表达和检查。

理解SysML,先要理解它的定位。SysML不是编程语言,也不是仿真工具,而是一种图形化建模语言,基于UML演化而来,但去掉了大量面向软件实现的细节,增加了面向系统工程的需求、参数和分配能力。它回答的是系统级问题:系统边界在哪里,由哪些部件组成,部件之间通过什么接口交互,交互遵循什么时序,关键性能参数受哪些因素约束,需求如何被结构或行为元素满足。因此,SysML更像一张“可计算的系统蓝图”,而不是一份静态文档。

SysML的图分类是本章的第一个知识骨架。它通常被划分为四类:结构类、行为类、需求类和参数类。结构类包括块定义图(BDD)和内部块图(IBD),用于描述系统组成与内部连接;行为类包括活动图、序列图、状态机图和用例图,用于描述功能流、交互时序、状态迁移和外部使用场景;需求类以需求图为主,用于表达需求之间的包含、派生、满足和验证关系;参数类以参数图为主,用于表达性能约束和工程方程。需要强调的是,这些图不是彼此孤立的“画法”,而是同一模型的多个视图。一个块在BDD中定义,在IBD中连接,在序列图中参与交互,在参数图中被约束,在需求图中被满足。

SysML 图分类与接口架构、系统集成建模的关系 SysML 图分类 结构类 块定义图 BDD 内部块图 IBD 描述组成与连接 行为类 活动图 / 序列图 状态机图 / 用例图 描述功能、交互与状态 需求类 需求图 包含 / 派生 / 满足 / 验证 参数类 参数图 性能约束与工程方程 接口架构 接口定义 流属性 / 操作 / 约束 端口与连接 标准端口 / 代理端口 / 全端口 接口分配 功能到组件 / 需求到接口 接口一致性检查 类型匹配 / 方向 / 时序 系统集成建模 集成场景定义 用例 / 活动 / 序列 接口验证与联调 数据流 / 信号链 / 时序 集成问题定位 接口不匹配 / 时序冲突 / 参数越界 集成结果确认 同一模型多视图:块在BDD定义 → 在IBD连接 → 在序列图交互 → 在参数图约束 → 在需求图满足

接口架构是SysML在工程中最具价值的应用方向之一。所谓接口,不只是“两个模块之间的连线”,而是包含类型、方向、数据内容、时序约束和异常处理的完整契约。在SysML中,接口通常通过流属性(Flow Property)、操作(Operation)和约束(Constraint)来定义,再通过端口(Port)挂载到块上。端口分为标准端口、代理端口和全端口:标准端口用于指定接口类型,代理端口用于将内部子部件的接口暴露到外层,全端口则支持更复杂的嵌套和方向组合。接口架构建模的核心任务,就是把这些接口定义清楚、分配到位、检查一致。

系统集成建模则关注“把已经定义好的部件和接口真正组合起来,验证它们能否协同工作”。它通常从集成场景出发,用活动图或序列图描述集成过程中的数据流、控制流和信号时序,再通过接口验证、联调测试和问题定位确认集成结果。接口架构与系统集成建模的关系可以概括为:接口架构提供“连接规则和契约”,系统集成建模提供“连接过程和验证”。没有清晰的接口架构,集成就会变成反复试错;没有系统集成建模,接口定义也无法被验证和闭环。

贯穿课程的项目背景设定:本课程以一个“车载环境感知与预警系统”为统一案例。该系统由前视雷达、环视摄像头、超声波传感器、域控制器、执行器和人机交互单元组成。域控制器通过CAN FD和以太网接收多路传感器数据,完成目标融合与碰撞风险判断,再向执行器输出制动或转向请求,同时向仪表发送预警信息。系统关键接口包括:雷达数据接口(目标距离、相对速度、角度)、摄像头数据接口(图像帧、目标框、置信度)、执行器控制接口(制动减速度请求、转向角请求)以及HMI显示接口(预警等级、目标位置)。课程后续章节将围绕这个案例,逐步完成需求建模、块定义、接口定义、端口连接、时序验证和集成测试。

为了便于后续建模,这里先给出案例中一个典型接口的参数约定示例。该示例为教学假设,用于说明接口定义应包含哪些字段,并非实测数据。

接口名称:RadarTargetInterface
方向:域控制器 ← 前视雷达
数据内容:
  targetId      : Integer    目标编号
  distance_m    : Real       纵向距离,单位 m,范围 0.5 ~ 200
  speed_mps     : Real       相对速度,单位 m/s,范围 -60 ~ +60
  angle_deg     : Real       方位角,单位 °,范围 -45 ~ +45
  confidence    : Real       置信度,范围 0 ~ 1
更新周期:50 ms
传输方式:CAN FD,报文 ID 0x18F
异常处理:连续 3 帧丢失则置无效标志,并触发降级预警

从上述示例可以看到,一个可集成的接口至少需要明确五类信息:数据字段与类型、物理单位与量程、更新周期或时序、传输载体与标识、异常与降级策略。缺少任何一项,集成阶段都可能出现“数据能收到但语义不一致”“周期不匹配导致丢帧”“越界值未处理导致误判”等问题。SysML的价值就在于把这些信息挂接到模型元素上,使接口不再是口头约定或散落的文档,而是模型的一部分,可以被检查、追溯和复用。