K4-09 热管理控制软件的跨企业交付边界:交付物形态、DIA/SEooC、权限分级与联合验证签署
课程代码 K4-09 · 板块 K 控制、软件与标定 / 嵌入式软件与开发 时长 约 3.5~4.0 小时(10 讲) 前置 K4-01 热管理嵌入式软件架构与 AUTOSAR 基础;K4-03 MIL/SIL/HIL 验证流程;K4-07 热管理控制功能规格(软件需求)的编写、评审与向 Tier1 交接;K2-03 功能安全(ISO 26262)在热管理中的应用 本讲义定位 讲师授课蓝本 / 学员自学讲义,是 K4-09 大纲的完整展开版
按任务导航
| 你手上的事 | 直接看 | 还要配 |
|---|---|---|
| 判「这家给我们的到底是什么形态的软件件」 | 第 1 讲:六档形态谱的排序轴与六列代价,六列逐列问一遍就定得下档 | 第 2 讲——一份清单里出现两档以上时的记账规则只有一条 |
| 在技术协议里写「谁做哪一段安全工作」 | 第 3 讲:DIA 四栏的填表结构,以及把「落缝」变成可数的缺栏格数 | 第 5 讲——确认措施的执行方必须在 DIA 里点名,⛔ 不许留「按体系」 |
| 收到一份带安全分析报告的外购件,不知道够不够 | 第 4 讲:SEooC 随件三件、AoU 可判真伪的四要素、回验表五列 | 第 5 讲——这份结论谁签才算数 |
| 要给 Tier1 或第三方标定商发 A2L 与钥匙 | 第 6 讲:对外裁剪的两条判据 + 角色 × 可标性的授权矩阵 | 第 7 讲——每一格都要配撤销条件与撤销验证方法 |
| 合同要终止了,要把权限收回来 | 第 7 讲:撤销可执行性判据(动作+验证),trev 按四段拆账 | 第 6 讲——先有矩阵,才知道要收回的是哪几样 |
| 对方交来 HIL 报告,要判认不认、认多少 | 第 8 讲:互认三档与分档两条依据,rs 是被反算出来的 | 第 2 讲——能继承还是必须重出,按最不可见那一档记账 |
| 要定谁签字放行、签完谁背缺陷 | 第 9 讲:签署表五栏、签署点即责任转移点、证据覆盖范围口径 | 第 8 讲——已互认的范围就是那条分界线的位置 |
| 要在架构分层图上画一条自研与外包的线 | 第 10 讲:切在 RTE 层与切在 SWC 层是两种命,一句话判据在定点前用 | 第 1 讲——线画完,每个模块仍要各自定形态档 |
| 要估「现在换供应商要付多少」 | 第 10 讲 10.5:Cexit 五项拆账,两个量纲分列 ⛔ 不相加 | 第 2 讲——五项里最不好估的那一项是需重出的验证条数 |
⛔ 本课不覆盖:
【栏一 · 不讲哪些题目】商务价格与合同条款文本 → Q2-02 主机厂—供应商技术对接与商务谈判(本课只给「必须谈死」的技术理由);索赔口径与商务后果 → M2-05 售后保修与在役失效数据分析:从索赔表读出真实故障率并反馈设计;IP 权属与合同终止后的权利 → M5-05 合作开发与供应关系中的 IP 权属:技术协议 IP 条款、职务发明与商业秘密保护;产业分工与议价权 → A5-03 产业链地图:主机厂—Tier1—Tier2 分工 / N5-02 软件定义热管理与整车 OTA 演进;HARA、ASIL 分解、安全机制与 Safety Case 本体 → K2-03 功能安全(ISO 26262)在热管理中的应用;SOTIF 与 AI 件的论证链本体 → K2-05 预期功能安全(SOTIF/ISO 21448)与 AI 件安全论证在热管理的落法;机械与结构件承接安全要求的路径 → I7-03 功能安全导向的结构与失效模式设计;SecurityAccess 机制本体与种子-密钥算法强度 → K5-01 OBD/UDS 诊断与故障码(DTC)设计 / K2-04 网络安全与 OTA 安全基础;诊断例程的整车前置条件与残留位检查 → K5-01 OBD/UDS 诊断与故障码(DTC)设计 / K3-01 整车热管理控制策略总览与模式管理;接口冻结与变更请求的流程本体 → M1-02 热管理项目管理与主机厂—供应商协同;标定量归属与内部版责任矩阵 → K6-05 标定数据管理与版本控制;标定量自身的规格字段口径 → K6-10 标定量规格定义:轴点、插值/外插保护、上下限与不可标量;OTA 的分级、灰度与回滚 → K7-02 软件定义热管理与 OTA 迭代;发布件构成与变型编码 → K4-04 软件版本、配置与变量管理;HIL 台架架构与三关本体 → K4-03 MIL/SIL/HIL 验证流程;回归范围裁剪与失败分诊 → K4-08 控制软件回归验证:基线与激励库、回归范围裁剪、自动执行与失败分诊;功能规格模板与评审清单 → K4-07 热管理控制功能规格(软件需求)的编写、评审与向 Tier1 交接;CAE 模型的黑箱交付与脱敏(对象不上车、不进 ECU)→ J7-07 仿真任务的输入、交付与模型资产管理;AUTOSAR 分层本身 → K4-01 热管理嵌入式软件架构与 AUTOSAR 基础。
【栏二 · ⛔ 真正不给的数】① 未取得原文的标准条款限值与等级号:「哪一项确认措施在哪个 ASIL 上要求哪一档独立性(组织侧)」的对应表,本课一格都不转述——本项目未取到 ISO 26262-2 的原文 → 去向是该部分的现行版本原文,逐格自行确认;ISO 14229 系列的条款内容与带年号的版本标识同样不写(本项目对该系列的已核档缺目录页字段)→ 以现行目录为准,引用前须另核。② 本项目自己的验收阈值:本课的判据表只写「判什么 / 怎么判 / 判不了时怎么办」,⛔ 不给任何可直接抄进验收文件的阈值——没有「抽多少条算过」「几天内答复算合格」这样的线 → 去向是你自己的可承受敞口、台架能力与本企业规范。③ 教学假设之外的具体产品参数:某供应商的实际发布节点时长、某工具链的许可版本与价格、某平台的标定量族数与权限矩阵格数 → 去向是向对方索取其标准发布流程的节点图与历史轮次记录;族数与格数由你自己的 A2L 与标定量责任矩阵现算。⚠ 凡被标为平台相关量的(变更响应时限、最小发布批量、再验证条数与工时、抽样复测比例、撤销生效时延、退出成本、凭证有效期,以及正文里同样标了这四个字的另外几个——发布轮次、可观测量清单条数、检出延迟增量、标定量族数与权限矩阵格数、放行有效期等;⛔ 这不是一份封闭清单)本课在正文里按三段式给反算路径与教学假设算例,⛔ 不在本栏之列——它们不是「不给」,是本课未取得可信的公开区间,正文逐族写明替代物。
引言:交出去的是规格,收回来的是一件你可能再也动不了的东西
写功能规格、做评审、开对接会——这些动作在 K4-07 热管理控制功能规格(软件需求)的编写、评审与向 Tier1 交接 里已经走通一遍了,方向是往外发:你把要什么说清楚,交给对方。本课处理的是方向相反的那一半:东西回来了。回来的不只是一个能刷进 ECU 的文件,还有一整套此后你只能被动接受的条件——你能不能看见它内部在算什么、改一行逻辑要走多少轮发布、哪些标定量你名义上不能改而技术上改得动、合同终止之后对方手里那把钥匙还能不能开你的车、出了缺陷是谁背。
这些条件不是在出事那天才形成的。它们在定点会上那半小时就已经被定完了,只是当时没有人把它们写成条款。
钉子①:交付形态是第一变量,⛔ 不是商务偏好。形态档一定,后面九讲的可观测量、权限等级、再验证范围、证据互认档与退出成本就基本被定死了。这句话有一个可以当场验证的形式,你现在就能拿自己项目的清单试:给定一份交付清单,若形态档尚未定,则第 6~10 讲的五张表(权限矩阵、互认档、签署表、切点、退出成本表)中至少有三张填不出来——不是填得不准,是那一格根本没有取值的依据。⇒ 凡是在会上说「形态后面再谈,先把功能定了」的项目,实际上是把这五张表的取值权交了出去,而它们此后只能被动接受。⛔ 不要把这条读成「形态很重要」——那是常识,常识推不出任何动作;它推出的动作是:定点前先定档,且把定档写进交付要求。
钉子②:责任不按「谁干的活」分,按「谁被告知了什么、谁签了字」分。它的可判形式同样具体:任取一个已经发生的缺陷,问它的责任归属,答案只由四件东西决定——DIA 分派表上的那一行、相关 AoU 的回验记录、签署表上那一栏字、以及授权留痕的那一条;⛔ 不由「谁写的代码」决定。本课后面的全部工作就是把这四件从口头共识变成可逐条查证的表,因为它们出事时是唯一的物证。⛔ 不要把这条读成「要多签字」——它恰恰推出一个相反的动作:拒签的成本远低于签完再追责,评审席上说不清的项应当挂起(第 9 讲给判据)。
最容易被读反的一条,先在这里点破:「AoU 写得越清楚、越具体 ⇒ 说明供方越负责,我这边可以放心」。方向是反的。① 直觉是这样说的:假设写得细,说明对方想清楚了、把责任扛住了。② 事实是:AoU 是供方按自设假设做件时对整车侧提的条件,它一旦写成可判真伪的具体句(点名承担方、生效工况、失效行为),你就已经被告知了——责任随之落到「你有没有逐条回验」这一侧。假设写清而你未回验,事后责任在你;反过来,假设写成「整车应合理使用」这类不可判定句,责任反而留在交付方。③ 因此照直觉排优先级,会正好把最该回验的那一档排到最后:看到一份写得细、条条落地的 AoU 清单就放心地往后排,看到一份含糊的假设声明反倒因为「看不出要我做什么」而放着不管——两种情形你都没回验,而前一种正是责任最重的那一档。⇒ 正确读法:AoU 的具体程度是责任转移的刻度,⛔ 不是供方尽责程度的刻度;清单越具体,回验优先级越高、回验记录越要进签署表的证据包清单。⛔ 也不要把它读成另一个方向的反话——「AoU 写细了是坏事」同样错:写细是好事,坏的是写细之后不回验。
一个今天就能做的动作:翻出手上任意一份 SEooC 件的 AoU 清单,数两个数——写成可判真伪句的条数,以及已有回验记录的条数。两个数的差,就是你此刻的敞口条数。(回验表长什么样、五列各填什么,在第 4 讲。)
⚠ 与之同型的第二条本课在第 1 讲另立:「拿到源码=最安全」也是读反的——源码档同时把再验证范围与缺陷归因整段接了过来,而可见度问题的正确解法是在交付要求里先写死可观测量清单,⛔ 不是升档要源码。
这门课的全集:按「跨过公司边界时可被交换的对象类型」画,⛔ 不按项目时间线
先声明我沿什么线索数。⛔ 不沿「定点 → 开发 → 集成 → 验证 → 签署」这条项目时间线枚举——那条线索会整类漏掉两族东西,而漏掉之后清单看起来还是完整的(没有任何一格是空的):一族发生在关系结束时(撤销、回收、二供导入、退出成本),它在时间线的末端之外;一族是跨全程横切的(授权留痕与可审计性),它不属于任何一个阶段,所以哪个阶段都不会认领它。⇒ 改沿「一件东西跨过公司边界时,可被交换的对象类型」画,共七类——它们的共同属性是每一件都能被交出去或被收回来,这也是判断某样东西属不属于这个全集的唯一判据。
| # | 对象类型 | 里面装着什么 | 在哪一讲落地 |
|---|---|---|---|
| ① | 实物件 | 源码 / 目标码 / 受保护模型 / FMU / SWC+ARXML / hex+A2L 六档形态 | 第 1、2 讲 |
| ② | 描述与接口件 | A2L 及其对外裁剪版、ARXML 与工具链许可、ICD、可观测量清单与诊断 DID 清单 | 第 2、3、6 讲 |
| ③ | 安全与证据工作产物 | 安全手册、AoU 清单、安全分析工作产物、验证报告与覆盖率、回归报告 | 第 3、4、8 讲 |
| ④ | 权限与凭证 | SecurityAccess 权限等级的钥匙、标定量授权等级、诊断例程白名单、工具端与账号授权 | 第 6、7 讲 |
| ⑤ | 签署与责任声明 | DIA 分派表、确认措施归属、互认结论、放行签署表 | 第 3、5、8、9 讲 |
| ⑥ | 时间与节奏承诺 | 变更响应时限、最小发布批量、凭证有效期、里程碑与证据交换节点 | 第 1、3、7 讲 |
| ⑦ | 退出与回收物 | 二供导入交付物清单、撤销动作与撤销验证、资产返还与退出成本 | 第 7、10 讲 |
有两样不在这条线索上,但同属这个集合,必须单列:(a)「没有交出去的东西」也是全集的一员——对方内部保留的编译器版本、内部变量、私有扩展、内部基线,它们不跨边界,但你在哪一档形态下拿不到它们,恰恰决定了故障定位与再验证的代价 ⇒ 它以可观测量清单这一件的形式进入第 ② 类,⛔ 不并进第 ① 类。(b)「已经发出去但没收回来的」不是第 ④ 类的子集,而是一条独立状态——旧钥匙、已装机的工具授权、已在对方手里的裁剪版 A2L,它们在合同终止后仍然存在 ⇒ 单列进第 ⑦ 类并配撤销验证。
本课的数字口径:先立住,否则任何一个数被抄走都会变成别人的验收线
这门课的「数」不是物理量,是商务与流程量——它们随项目、合同与安全等级移动。而读者最想要的恰恰是「一般给几档、一般多久」这种数。⇒ 口径必须先立住。全课的数分三类处理,每个数出现处都标明它属哪一类:
| 类 | 量族(① ② 两类为本课给数的全部项;③ 类只举几个最常被问到的,⛔ 不是封闭清单) | 本课怎么给 |
|---|---|---|
| ① 标准里定死的 | 确认措施三类的名称与各自对象 · 组织独立性(组织侧)三级阶梯 · 等级(ASIL)的取值集合 · SecurityAccess 的服务标识 0x27 · ISO 26262 的部分号与 A2L 的标准名 · AUTOSAR 分层名 | 给名称与出处;版次与日期一律写「以现行版本目录为准,引用前须核」,⛔ 不钉死年份。⛔ 只按射程引用、⛔ 不复述条款内容,⛔ 不给任何对应表 |
| ② 本课归纳的分档数 | 形态谱六档与六列 · DIA 四栏 · SEooC 随件三件 · AoU 四要素与回验记录表五列 · 可标性四档 · 互认三档与两条分档依据 · 权限矩阵四栏与每栏四项属性 · 诊断白名单四个高风险族 · 签署表五栏 / 二供导入五件 / 退出成本五项 | 给准确档数,并逐处标明这是本课归纳的分档,⛔ 不是任何标准既有的分类。⚠ 未列入的⛔ 不等于不存在:遇到六档之外的混合包,按六列逐列填,填不出的列就是这一档的真实敞口 |
| ③ 与平台强相关的量 | 变更响应时限 · 最小发布批量 · 再验证条数 Nreval 与工时 Wreval · 抽样复测比例 rs · 撤销生效时延 trev · 退出/迁移成本 Cexit · 凭证有效期,以及正文里另外几个同样标了「平台相关量」的(发布轮次 nrel、可观测量清单条数、检出延迟增量、标定量族数与权限矩阵格数、放行有效期…)。⚠ 这一栏是举例,⛔ 不是封闭清单——判据是「它随平台、合同或供方结构而变」,凡命中这条判据的量一律按同一套走 | 走三段式:怎么反算 / 典型带 / 何时必须重算。⚠ 这一类量的第二段,本课逐个写明「本课未取得可信的公开区间」并给替代物(反算路径 + 向谁索取那份原始记录 + 对应的教学假设算例)——⛔ 不写「取决于项目」了事 |
⚠ 关于第 ③ 类为什么没有典型带:这一类量不是物理量,它们随供方规模、件的安全等级、是否与其它客户共用基线、本方台架能力而变,任何一个跨项目的百分比或天数被抄走,都会变成别人项目里的验收线——这正是本课最不愿意造成的后果。⇒ 本课给的是反算结构:每一族都写清「由哪几样夹出来」,再用教学假设算例把拆账走一遍,让你能在自己的数上重算一次。
⚠ 算例里的所有数值一律是教学假设值,作用是把拆账结构算给你看,⛔ 不对应任何真实平台、供应商或项目,⛔ 不得取用为验收依据或报价依据——每处算例出现时都会再标一次,因为事后没有人分得出哪个数是假设。
两条量纲约定也在这里一并钉住,后面每一讲都按它走:全课工时一律以人·日计,⛔ 不用人·月(月的天数随日历变,跨公司对账时两边算出的数不同);节奏代价单独用「轮」(发布轮次 nrel)计,⛔ 不折算成天数并入工时——折算要用对方的排期,而那正是不可改档下你拿不到的那个数。
本课的射程,与全讲路线图
射程:本课处理的是跨过公司边界的那一层——形态怎么定档、责任怎么逐条分派、假设怎么回验、谁有资格签、权限发出去怎么收回来、对方的证据认到哪一档、签字之后责任怎么移、以及这条线切在哪一层决定了你还换不换得动供应商。⛔ 本课不重讲被它调用的那些本体:安全分析与 Safety Case、诊断与权限的机制本体、标定量的规格字段、发布件构成、台架架构与回归裁剪——它们各有属主(见上面「本课不覆盖」栏一的去向)。这条分界的意义是:本课给你的每一张表,都是你能在会议室里当场填、当场指出空格的东西。
全课十讲的走法:第 1 讲把六档形态谱排成一条轴,给六列代价与三条判据(可见度 / 节奏 / 可插入性);第 2 讲处理混合交付这个实务常态——逐模块定档、记账规则、可观测量清单的时点判据,并走第一个拆账算例(再验证范围 Nreval 与工时 Wreval 为什么必须分列);第 3 讲进入责任分派,DIA 四栏怎么填、怎么把「落缝」变成可数的缺栏格数、为什么它必须与 ICD 同时冻结;第 4 讲讲 SEooC 与 AoU——四要素、回验表五列、假设不成立时的三条归属判据,反钉子在这里完整展开;第 5 讲回答「谁有资格签」:确认措施三类、组织独立性(组织侧)三级阶梯,以及两个同名不同义的「独立性」为什么⛔ 不得互相推导;第 6 讲与第 7 讲是权限的两半——前者讲发什么、发到哪一档(对外 A2L 裁剪、角色 × 可标性矩阵),后者讲怎么收得回来(钥匙托管、trev 四段拆账、留痕可审计、三表咬合);第 8 讲讲联合验证的四个分工位与证据包互认三档,rs 怎么被反算出来、不一致了怎么办;第 9 讲落到签署表五栏与责任转移点,并把三张表串成一条能追到人的链;第 10 讲回到架构图上画那条线,给切点判据、二供导入五件与 Cexit 五项拆账。
前两讲是定档与记账,第 3~5 讲是把责任写成表,第 6~7 讲是把权限写成可执行的发放与回收,第 8~9 讲是把证据与签字接起来,第 10 讲是回头看这条线当初该切在哪。学完的验收标准很朴素:拿到一份真实的交付清单,你能把形态档定下来,能指出 DIA 上哪几格是空的,能说出手上这份 AoU 清单的敞口条数,并且说得出每一条撤销条款的验证方法是什么。
第 1 讲 交付物形态谱:六档怎么排、六列怎么填,以及三条判据各自逼出什么动作
定点会上最常见的一句话是「形态我们后面再谈,先把功能和价格定了」。这一讲要说明的就是这句话为什么代价极高:形态一旦定下,后面九讲要谈的可观测量、权限层级、再验证范围、证据互认档与退出成本,取值范围就已经被夹住了。到那时你仍然可以「谈」,但谈的是在一个已经收窄的区间里挑一个点,而不是决定这个区间有多宽。
这一讲的交付物很具体:一张你当天就能拿去填的六档 × 六列定档表,加上三条判据各自对应的一个动作(要什么清单、谈死哪两个量、重算哪一笔账)。
先把本讲的符号与口径钉住,后面不再打断:
- 「档」这个字在本课有三个同名不同物的用法——形态档(本讲的六档)、可标性档(标定量授权的四档)、互认档(证据包互认的三档)。全课一律带限定词,本讲凡写「档」都指形态档。
- 「可改动」全课只有一个口径:能改一行控制逻辑,并自行重新编出可上车的件。⛔ 不含「改标定量」——标定是另一根杠杆,它在六档里每一档都有,哪怕纯二进制那一档也有。
- 「可见度」全课只有一个口径:内部变量能不能在 A2L 或调试器里被取到(含符号与映射是否随件交付)。⛔ 不含「事后能不能让对方加一个诊断 DID 把它导出来」——那是一次变更、要走对方的发布轮次,算节奏代价不算可见度。
- nrel(发布轮次,单位:轮):一处变更从提出到拿到可上车件,所需的对方完整发布次数。⚠ 它的单位是「轮」不是「天」——因为天数由对方的排期决定,而那正是不可改档下你拿不到的那个数。
- 本课一切工时一律以人·日计,⛔ 不用人·月;节奏代价用轮单独计,⛔ 不折算成天数并入工时。
1.1 六档形态谱:只沿一条轴排序,这条轴的口径写死
六档,按可改动性由高到低固定排序:
| 档 | 形态 | 你拿到的到底是什么 | 它随件必然带来什么 |
|---|---|---|---|
| ① | 源码 | 可编译的控制逻辑源文件与构建脚本 | 对方的编译器与构建配置版本——不对齐,你编出来的件与对方验过的件不是同一个件,他的证据也就不落在你的件上 |
| ② | 目标码(obj + lib) | 已编译的目标文件与库,接口靠头文件与链接符号对接 | 接口声明与链接约定;符号与映射给不给是一件单独的要约,⛔ 不随目标码自动附带 |
| ③ | 受保护模型 | 可仿真、可集成、可配置的模型件,内部实现被保护 | 对方的模型工具版本与模型保护许可——这两样进了你的工具链依赖清单 |
| ④ | FMU | 按 FMI 打包的件,对外只暴露它自己声明的那些接口变量 | 能承载该 FMI 版本的集成环境;可见的变量集合在打包那一刻就被对方定死了 |
| ⑤ | AUTOSAR SWC + ARXML | 软件组件实现,加上描述它怎么被连接与配置的 ARXML | 生成与解析该 ARXML 的工具链及其许可版本;组件内部实现仍在对方手里 |
| ⑥ | 纯 hex + A2L | 可刷写的二进制,加上一份描述哪些标定量能改的 A2L | 只有标定这一条通路;A2L 里没有的量,在你这一侧就不存在 |
为什么只许沿「可改动性」这一条轴排。因为后面九讲的所有条款都要有一个统一的自变量:可观测量清单的取法、再验证范围的取法、权限矩阵的粒度、互认档的分布、退出成本的五项,全部随形态档单调地变。若改按价格排、或按供方愿不愿意给排,六档之间就不存在单调关系——第 2 讲那条「混合交付按最不可见的那一档取」的记账规则当场失效,因为「最不可见」在一条非单调的轴上根本定义不出来。
⚠ 这六档与六列都是本课归纳的分档,⛔ 不是任何标准既有的分类,引用时请照这样标注。同样要写明的还有一条:未列入这六档的形态⛔ 不等于不存在。实务里常见的「带部分源码的混合包」「给源码但不给构建环境」都不在这六档上——遇到它们的做法不是硬塞进某一档,而是按下一节的六列逐列填,填不出来的那一列,就是这一档在你项目上的真实敞口。
⛔ 本课不给任何一档的价格、工时或市场占比——本课未取得可信的公开区间,任何一个被抄走的百分比都会变成别人的选型依据。
1.2 六列代价:一份形态清单要逐档回答的六个问题
一张只有「档名」的形态清单没法拿去定点,因为它回答不了「这一档到底让我少了什么」。要让它可用,每一档都必须回答六个问题:
- (a) OEM 可改动空间——能不能改一行控制逻辑并自行重编出可上车件。
- (b) 可否插入自有监控与诊断——能不能加一路合理性校验或一条故障码。
- (c) 调试可见度——能不能设断点、看内部变量、拿到符号与映射。
- (d) 集成所需工具链与许可依赖——对方的编译器版本、模型保护许可、配置工具链。
- (e) 改一处的再验证范围与周期代价——本讲只给量纲与取法,拆账在第 2 讲:再验证范围 Nreval(单位:项,是条数)、再验证工时 Wreval(单位:人·日)、发布轮次 nrel(单位:轮),三个量分列、⛔ 不混单位、⛔ 不相加。之所以要分列:同样的条数在不同形态档下工时可以差一个量级,因为不可见档要把现象退回对方复现。
- (f) IP 保护强度与二供导入可行性。
⛔ (a) 与 (c) 绝不能合成一列。「能改」与「能看」恰恰在中间两档上分离:受保护模型和 FMU 可以集成、可以配置、跑得起来,但内部变量看不见。合成一列,这两档的判断就会整体失真——而它们正是实务里最常被选中的两档。
| 形态档 | (a) 可改动空间 | (b) 可插入性 | (c) 调试可见度 | (d) 工具链与许可依赖 | (e) 改一处的再验证与周期 | (f) IP 与二供导入 |
|---|---|---|---|---|---|---|
| ① 源码 | 能改逻辑并自行重编 | 可插在件内,直接观察内部状态 | 符号与映射随件,可设断点、可看内部变量 | 依赖对方编译器与构建配置版本 | 改完之后的再验证范围整段落到你这一侧 | IP 保护最弱;二供导入门槛最低 |
| ② 目标码 | 只能改外围与接口层,⛔ 不能改件内逻辑 | 只能包在接口层,观察对象仍是件的输出侧 | 内部变量不可见;符号与映射须单独索取 | 依赖对方编译器与链接约定的版本一致 | 件内改动必须退回对方,按轮次计 | IP 保护中等;二供导入须重做集成 |
| ③ 受保护模型 | 只能改外部配置与参数接口 | 只能加在件外的信号侧 | 内部变量不可见 | 依赖对方模型工具版本与模型保护许可 | 件内改动必须退回对方,按轮次计 | IP 保护较强;二供导入须重写该件 |
| ④ FMU | ⛔ 不能改内部实现 | 只能加在件外的信号侧 | 只看得到打包时被声明出来的那些变量 | 依赖能承载该 FMI 版本的集成环境 | 件内改动必须退回对方;连「多看一个变量」都要重新打包 | IP 保护强;二供导入须重写该件 |
| ⑤ SWC + ARXML | 可改连接关系与配置,⛔ 不能改组件内部逻辑 | 可在同一集成环境里另加组件,但观察的仍是组件对外的接口量 | 组件内部变量默认不可见;符号与映射须单独索取 | 依赖 ARXML 工具链与许可版本 | 配置侧改动可由本方重出集成验证;组件内部改动仍须退回对方 | IP 保护较强;二供导入时工具链与许可版本是第一道门槛 |
| ⑥ hex + A2L | 只剩标定一根杠杆 | 只能加在件外的信号侧 | 只看得到 A2L 里已有的量 | 依赖刷写工具与 A2L 版本的对应关系 | 任何逻辑变更都是对方的一次完整发布 | IP 保护最强;二供导入约等于重做 |
这张表的填法有两条硬规矩,比表本身更重要:
- ⛔ 任何一格都不许填「视情况」。填不出来就写「本项目须向对方索取」——索取什么,第 2 讲给的可观测量清单会逐项列出。「视情况」读起来像已经判断过,实际上等于这一格还是空的,而空格在定点之后就没人再回来填了。
- 六列是六个独立的必要判断,⛔ 不是可以加权求和的评分项。给六列打分再相加,会让一列的致命缺口被另外五列的好分数补平——而 (b) 这一列的缺口是补不平的(见 1.5)。
这六列不是罗列,是接口:(b) 通向本讲的判据三与监控器规格化的要求(本体归 K2-05 预期功能安全(SOTIF/ISO 21448)与 AI 件安全论证在热管理的落法);(c) 通向第 2 讲的可观测量清单;(d) 通向第 10 讲退出成本的第一项;(e) 通向第 2 讲的再验证拆账;(f) 通向第 10 讲的二供导入清单。每一列都是某一讲的入口——这也是「不许留空格」的真正理由:空的那一格,会在后面某一讲变成一条谈不下去的条款。
1.3 判据一(可见度):能集成 ≠ 能定位,而这件事的补救只有事前一个时点
目标码与受保护模型这两档有一个共同的、极具欺骗性的特征:集成阶段一切顺利。接口对得上、件跑得起来、台架上功能都对。问题出在几个月之后——标定和路试阶段冒出一个偶发现象,你去查内部变量,发现A2L 里没有、调试器里也看不到。
于是故障定位的形状整个变了。可见档下你做的是:现象出现 → 取内部变量 → 定位到具体成因 → 自己改或向对方提一个精确的变更 → 验证关闭。不可见档下你做的是:现象出现 → 复现并录制外部信号 → 打包退回对方 → 对方排期并复现 → 对方给一个带诊断量的临时版本 → 再路试一次取证据;而这最后一步常常又指向新的猜想,于是整段回到「打包退回对方」重来一遍。
关键不在于多了几个步骤,而在于多出来的是一个会重复的循环,它的计量单位是 nrel(轮)而不是天。故障定位的节奏因此从「以天计」变成「以发布轮次计」。
nrel 是平台相关量,本课按三段式给:
- ① 怎么反算:它由对方的变更响应时限与最小发布批量共同夹出(这两个量见 1.4),再由你自己的里程碑倒推出「剩余时间里容得下几轮」。
- ② 典型带:本课未取得可信的公开区间——它随供方规模、件的安全等级、是否与其它客户共用基线而变,跨项目不可迁移。⇒ 替代物是向对方索取其标准发布流程的节点图与历史轮次记录,用它算你自己那个数;索取清单的完整版在第 2 讲。⛔ 不给「一般几天」。
- ③ 何时必须重算:供方换基线策略、件的安全等级变更、切点变更、形态档变更。
这一档为什么会被反复低估——原因是结构性的,不是谁疏忽。代价不发生在集成阶段,而发生在标定与路试阶段,中间隔着好几个月;而定档决策发生在定点阶段。决策时点与代价发生时点分离,做决策的那批人在代价出现时往往已经不在这个议题上了。
⇒ 今天就能用的那个动作:把「可观测量清单」写进交付要求,而且必须写在定点之前。清单内容是「对方必须把哪些内部量导出到 A2L 或诊断数据标识符」。⚠ 这里有一条口径必须守住:能事后要到的,不算可见度——事后让对方加一个数据标识符导出来,那是一次变更,要走一个完整的发布轮次,它算节奏代价。只有随件就有的,才算可见度。
⚠ 这一条⛔ 不能被读成「所以应该要源码」——为什么不能,见本讲最后一节。
1.4 判据二(节奏):完全不可改档下,项目节奏被对方排期锁死
纯 hex + A2L 这一档,OEM 手上只剩标定这一根杠杆。任何一行逻辑的变更,都是对方的一次完整发布。这句话的后果不是「慢一点」,而是:你连「这件事要多久」都算不出来——项目计划表里那一格,你只能填一个愿望。
因为算出那个数需要两个量,而这两个量都在对方手里:
- 变更响应时限——从你提出变更,到对方给出答复(受理、排期、还是拒绝)的那一段;
- 最小发布批量——对方答复之后,要攒够多少个变更才发一次件的那一段。
⛔ 这两个量绝不能合成一个「变更周期」。它们作用在不同的段上,各有各的瓶颈:响应时限卡在对方的受理与评估流程上,发布批量卡在对方的集成与回归节奏上。合成一个数之后,你既不知道该去催哪一头,也不知道改善哪一头更划算。
两个量都是平台相关量,三段式:
- ① 怎么反算:由你自己的里程碑倒推。从标定冻结点往回数,看剩余时间里能容纳几轮完整发布(这就是 nrel 的上限),再由容得下的轮次反推每一轮最多允许多长;两个量各夹一端。
- ② 典型带:本课未取得可信的公开区间——它随供方规模、件的安全等级、是否与其它客户共用基线而变,跨项目不可迁移。⇒ 替代物:向对方索取其标准发布流程的节点图与历史轮次记录(过去 12 个月里这个件发了几次、每次从提出到交付经过了哪些节点),用它算你自己那个数。⛔ 不给天数——给出来就会被抄成别人的验收线。
- ③ 何时必须重算:供方换基线策略、件的安全等级变更、切点变更、形态档变更。
⇒ 今天就能用的那个动作:把这两个量放进定点前的技术议题清单,并各自单列一行。本课只给「必须谈」的技术理由和这两个量的反算路径;条款文本怎么写归 Q2-02 主机厂—供应商技术对接与商务谈判——这条分界请在会上讲清楚,否则技术侧和商务侧会各自以为对方在写。
⚠ 判据二和判据一常被当成同一件事,其实不是:判据一问的是「出了问题你能不能自己看见」,判据二问的是「看见之后这件事多久能改完」。同一档上两者可以一好一坏——源码档下你看得见也改得动;而一份「给了符号与映射的目标码」可以可见度不差,节奏照旧被对方锁死。
1.5 判据三(可插入性):还有没有独立的安全兜底手段
前面两列影响的是代价与节奏,这一列影响的是安全论证能不能闭合——它问的是:出事的时候,你还有没有第二道手段。
能不能在交付件之外插入自有监控与诊断,决定了 OEM 手上还有没有一个不依赖该件自身的兜底。受保护模型与纯二进制档下,监控只能加在件的外部信号侧。⚠ 这不是「位置换了一下」,而是观察对象变了:件内的监控看的是内部状态,件外的监控看的是件的输出——而输出要等内部状态经过传播与滤波之后才显现出来。
⇒ 由此必须做的动作只有一个:重新对照危害时间预算核算一次检出延迟。监控搬到件外之后,从故障发生到被检出的时间变长了;原来在时间预算里成立的那条链,现在未必还成立。⛔ 不许把「插了监控」直接当成「兜底成立」——延迟没重算的监控,在时间预算上可能根本来不及,而它在评审材料里看起来和一个有效的监控一模一样。
检出延迟的增量是平台相关量,由「件外可观测的那个信号相对内部状态滞后多少」决定。本课未取得可信的公开区间,也不给数——它随信号链路、滤波设计与故障传播路径而变,跨平台完全不可迁移。⇒ 替代物是一个明确的反算入口:把监控搬到件外之后,重新走一遍危害时间预算的核算;核算方法本体归 K2-03 功能安全(ISO 26262)在热管理中的应用,监控器本身要满足的规格化要求归 K2-05 预期功能安全(SOTIF/ISO 21448)与 AI 件安全论证在热管理的落法,本课只给「必须重算」这条触发条件。
⚠ 还有一条容易混的:这一列说的「独立」是指安全机制通道意义上的独立(防的是共因失效),⛔ 与第 5 讲要讲的「谁有资格签」那种组织意义上的独立不是一件事。本课把这两个「独立性」在符号表里分成两行、各带后缀,凡写「独立性」三字必带限定词——混谈它们会推出一些看起来严谨、实际荒谬的结论。
1.6 本讲第二条读反:「拿到源码=最安全」
第一条读反在本课开篇已经点破。这里点破第二条,它在定档这件事上直接影响动作。
误区:以为只要能拿到源码,风险就都解决了,所以谈判时应当一路往源码档要。
源码档确实把可改动与可见度两列都拉满。但它同时把两样东西整段接了过来:
- 改完之后的再验证范围——你改了一行,谁来验、验到哪一档?这笔账在定档那一刻就已经产生了,⛔ 不是等到联合验证那一讲才谈。
- 缺陷归因——出问题时,「这是你改的那一行,还是我原来那一行」会从一句口头争论变成一个必须靠证据回答的问题;而回答它需要基线、需要改动记录、需要双方都认的复现方法。
⛔ 这一条也⛔ 不能被读成「源码档不好」。在某些分工下它就是对的选择——尤其当上层策略本来就由你写、而你要的正是把控制逻辑资产留在自己手里的时候。
正确的动作不是升档,而是先回答一个问题:我要解决的到底是哪一列的问题?
- 痛点是看不见((c) 列)⇒ 处置是第 2 讲的可观测量清单,写进交付要求即可,⛔ 不必升档;
- 痛点是改不动、等不起((e) 列的节奏那一半)⇒ 处置是 1.4 那两个量,谈死它们;
- 痛点是没有安全兜底((b) 列)⇒ 处置是判据三:确认监控能插在哪一侧,并重算检出延迟。
把「要源码」当成万能解的代价很具体:谈判筹码全花在最贵的一档上,而真实痛点往往一张清单就能解决;更糟的是,筹码花完之后,上面那三件该谈的可能一件都没谈。
⇒ 本讲的收尾动作,一句话:把你项目上的每一条痛点,逐条落到六列中的某一列,再看那一列有没有比升档更便宜的处置。落不到任何一列的痛点,说明它根本不是形态问题——那多半是分工问题(第 3 讲)或假设问题(第 4 讲),换形态档解决不了它。
后面还有 9 讲正文 · 关键公式 · 案例拆解 · 常见误区 · 动手做