3. 安全需求工程与可追溯性

医疗机器人功能安全验证的起点不是测试,而是需求。若安全需求本身含糊、不可验证或与用户需求脱节,后续的验证活动只能证明“系统符合了一份错误的规格”。安全需求工程的核心任务,是把临床用户需求逐层分解为可验证的安全需求,并通过追溯矩阵和变更管理,保证需求在整个生命周期中始终一致、完整、可追踪。

从用户需求到安全需求:分解逻辑

用户需求描述的是临床期望,例如“手术机器人应在主从控制下避免器械末端超出预设安全边界”。这类表述包含临床意图,但无法直接测试。安全需求分解要做的是:识别该用户需求对应的危害,确定安全目标,再导出可验证的安全需求。

以腹腔镜手术机器人为例。用户需求“医生希望机械臂在组织牵引时不会突然失控”对应危害“机械臂非预期运动导致组织撕裂”。安全目标可定义为“在任何单点故障下,机械臂末端速度不得超过 50 mm/s 且不得超出虚拟边界”。由此导出的安全需求包括:控制器需在 10 ms 内检测到位置偏差超过 2 mm 并触发限速;驱动模块需具备独立于主控制器的使能切断路径;编码器信号需进行双通道交叉校验。每条安全需求都带有安全完整性等级(如 ASIL C 或 SIL 2)、验证方法和验收准则。

分解过程中要避免两类错误:一是把设计实现当作需求,例如“使用双编码器”是方案而非需求,需求应写“位置反馈应具备独立双通道且偏差超过阈值时进入安全状态”;二是遗漏派生需求,例如限速功能本身需要电源监控、时钟监控和通信超时检测,这些必须显式写入规格书。

安全需求分解与追溯关系(腹腔镜手术机器人示例) 用户需求(临床意图) UR-01:医生希望机械臂在组织牵引时不会突然失控,避免组织撕裂 危害分析 / 风险评估 安全目标(Safety Goal) SG-01:在任何单点故障下,机械臂末端速度 ≤ 50 mm/s 且不超出虚拟边界(ASIL C) 需求分解 / 功能安全概念 安全需求(Safety Requirements) SR-01 位置监控 偏差 > 2 mm 时 10 ms 内 触发限速,验证:故障注入 SR-02 独立切断路径 驱动使能独立于主控制器 验证:通道失效测试 SR-03 双通道校验 编码器交叉校验,偏差超限 进入安全状态,验证:对比测试 派生需求 / 技术安全需求 派生技术安全需求(示例) TSR-01:电源监控需在 5 ms 内检测欠压并触发安全状态 | TSR-02:通信超时阈值 20 ms | TSR-03:看门狗独立时钟源 TSR-04:安全状态切换需在 50 ms 内完成并保持,直至人工复位 需求追溯矩阵覆盖

安全需求规格书编写

安全需求规格书不是需求列表的堆砌,而是一份可验证、可追溯、可变更控制的工程文档。每条安全需求应包含以下字段:唯一标识、需求描述、来源(用户需求/危害/法规)、安全完整性等级、验证方法、验收准则、状态和版本。描述必须使用“应”字句,避免“尽量”“适当”等模糊词。

以 SR-01 为例,规格书条目可写为:

ID: SR-01
描述: 当主从位置偏差超过 2 mm 时,控制器应在 10 ms 内将机械臂末端速度限制至 50 mm/s 以下。
来源: SG-01 / HAZ-03(非预期运动)
安全等级: ASIL C
验证方法: 故障注入 + 边界测试
验收准则: 偏差 2.1 mm 时,响应时间 ≤ 10 ms,速度 ≤ 50 mm/s,连续 100 次无漏检。
状态: 已评审 / 版本 1.2

规格书编写中常见的缺陷包括:验收准则不可测量(如“响应迅速”)、验证方法与需求不匹配(用单元测试验证系统级安全状态)、遗漏安全状态定义(进入安全状态后是否保持、如何复位)。这些缺陷会直接导致后续验证无法闭环。

需求追溯矩阵

追溯矩阵是安全需求工程的骨架。它建立用户需求、安全目标、安全需求、派生需求、设计实现、测试用例之间的双向链接。正向追溯确保每条用户需求都有安全需求覆盖,反向追溯确保每条安全需求都有来源和验证。矩阵中应标记覆盖状态:完全覆盖、部分覆盖、未覆盖、冗余覆盖。

实际操作中,可用表格维护追溯关系。例如 SR-01 对应测试用例 TC-01(偏差 2.1 mm 边界测试)、TC-02(偏差 5 mm 阶跃测试)、TC-03(传感器断线故障注入)。若某条安全需求没有对应测试用例,矩阵中显示“未验证”,必须在设计冻结前补齐。追溯矩阵还应记录变更影响:当 SR-01 的阈值从 2 mm 改为 1.5 mm 时,矩阵应自动关联到受影响的测试用例和设计模块。

变更管理在医疗机器人中的实践

医疗机器人需求变更频繁,可能来自临床反馈、法规更新、供应链替换或测试缺陷。变更管理的关键不是禁止变更,而是保证每次变更都经过影响分析、评审、验证和追溯更新。

一个可操作的变更流程如下:变更请求提交后,先做影响分析,识别受影响的安全需求、设计模块、测试用例和风险分析文档;再由安全经理和系统工程师评审,判断是否引入新的危害或降低原有安全完整性;评审通过后更新规格书和追溯矩阵,分配变更版本号;最后执行回归验证,确认变更未破坏原有安全需求。变更记录应包含变更前后对比、影响范围、验证结果和批准人。

实践建议:将追溯矩阵与需求管理工具(如 DOORS、Polarion 或开源工具)绑定,每次变更自动标记受影响条目,避免人工遗漏。对于 ASIL C 及以上需求,变更后必须重新执行相关安全验证,不能仅靠代码评审放行。

安全需求工程与可追溯性不是一次性文档工作,而是贯穿医疗机器人设计、验证、注册和上市后监测的持续活动。只有把用户需求、安全目标、安全需求、派生需求、测试用例和变更记录串成一条可审计的链条,功能安全验证才具备工程可信度。