TMS BOOK · ACADEMY 讲义

热管理控制软件的跨企业交付边界:交付物形态、DIA/SEooC、权限分级与联合验证签署

大纲的完整展开版——讲师授课蓝本 / 学员自学材料

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 的文件,还有一整套此后你只能被动接受的条件——你能不能看见它内部在算什么、改一行逻辑要走多少轮发布、哪些标定量你名义上不能改而技术上改得动、合同终止之后对方手里那把钥匙还能不能开你的车、出了缺陷是谁背。

这些条件不是在出事那天才形成的。它们在定点会上那半小时就已经被定完了,只是当时没有人把它们写成条款。

图1 一条竖直的公司边界虚线把画面分成左右两侧,左侧标 OEM,右侧标 Tier1 或第三方开发方;上半部一条由左向右的粗箭头标注为往外发,其上写功能规格、验收判据、技术协议附件,其下一行小字标明归属于功能规格与评审那门课、本课不重讲条款模板与评审清单;下半部一条由右向左的粗箭头标注为往回收,其上并排五个方框,分别写软件件的交付形态档、安全工作产物与使用假设、标定与诊断的权限和钥匙、验证证据包与互认结论、放行签署与责任归属,其下一行小字标明归本课;右下角灰色虚线框逐条只写去向不写内容,列出商务条款与价格、索赔口径、接口冻结与变更请求流程、IP 权属四条各自的去向课号;左下角橙色框写本课的入口一问。本图为定性结构示意,框的大小、位置与距离不代表重要性、金额或先后,⛔ 不得据图取值
图1 读两件事:往外发与往回收不是先后两段流程,是方向相反的两件事——一个是你交出去的规格,一个是回到你手上的实物件;往回收那条箭头上并排的五样东西,缺任何一样,后面的签字都只是形式。左下角那一问是本课的入口:这件东西回来之后,你还能自己动它到什么程度。本图为定性结构示意,框的大小、位置与距离不代表重要性、金额或先后,⛔ 不得据图取值。

钉子①:交付形态是第一变量,⛔ 不是商务偏好。形态档一定,后面九讲的可观测量、权限等级、再验证范围、证据互认档与退出成本就基本被定死了。这句话有一个可以当场验证的形式,你现在就能拿自己项目的清单试:给定一份交付清单,若形态档尚未定,则第 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,它们在合同终止后仍然存在 ⇒ 单列进第 ⑦ 类并配撤销验证。

图2 一条竖直的公司边界虚线纵贯画面,七个横向通道跨过这条虚线,自上而下依次标注实物件、描述与接口件、安全与证据工作产物、权限与凭证、签署与责任声明、时间与节奏承诺、退出与回收物,每个通道内写出该类的具体成员,通道右端各带一个讲次归属标签;画面左侧另有一条用不同底色的竖直窄带与七个通道并排,带内两行分别写对方未交出的那部分以可观测量清单的形式进入第二类、已发出但没收回来的那部分单列进第七类并配撤销验证;画面底部一行说明带写明本图按可被交换的对象类型画全集而不按项目时间线,并说明按时间线数会整类漏掉关系结束时发生的那一族与跨全程横切的那一族。本图为全集结构示意,通道的宽度、顺序与成员数量不代表重要性或工作量,⛔ 不得据图取值
图2 读三件事:全集的组织线索是对象类型而不是项目阶段;七个通道各能指到一讲,所以这张图同时是本课的结构图;左侧那条窄带里的两样不在主线索上,而它们恰恰是最常被整类漏掉的两族。本图为全集结构示意,通道的宽度、顺序与成员数量不代表重要性或工作量,⛔ 不得据图取值。

本课的数字口径:先立住,否则任何一个数被抄走都会变成别人的验收线

这门课的「数」不是物理量,是商务与流程量——它们随项目、合同与安全等级移动。而读者最想要的恰恰是「一般给几档、一般多久」这种数。⇒ 口径必须先立住。全课的数分三类处理,每个数出现处都标明它属哪一类:

类 量族(① ② 两类为本课给数的全部项;③ 类只举几个最常被问到的,⛔ 不是封闭清单) 本课怎么给
① 标准里定死的 确认措施三类的名称与各自对象 · 组织独立性(组织侧)三级阶梯 · 等级(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 保护最强;二供导入约等于重做

这张表的填法有两条硬规矩,比表本身更重要:

  1. ⛔ 任何一格都不许填「视情况」。填不出来就写「本项目须向对方索取」——索取什么,第 2 讲给的可观测量清单会逐项列出。「视情况」读起来像已经判断过,实际上等于这一格还是空的,而空格在定点之后就没人再回来填了。
  2. 六列是六个独立的必要判断,⛔ 不是可以加权求和的评分项。给六列打分再相加,会让一列的致命缺口被另外五列的好分数补平——而 (b) 这一列的缺口是补不平的(见 1.5)。

这六列不是罗列,是接口:(b) 通向本讲的判据三与监控器规格化的要求(本体归 K2-05 预期功能安全(SOTIF/ISO 21448)与 AI 件安全论证在热管理的落法);(c) 通向第 2 讲的可观测量清单;(d) 通向第 10 讲退出成本的第一项;(e) 通向第 2 讲的再验证拆账;(f) 通向第 10 讲的二供导入清单。每一列都是某一讲的入口——这也是「不许留空格」的真正理由:空的那一格,会在后面某一讲变成一条谈不下去的条款。

图3 六行六列的定性矩阵表:六行自上而下为源码、目标码、受保护模型、FMU、AUTOSAR 软件组件加配置文件、纯二进制加描述文件,行左侧一条竖直箭头标注可改动性由高到低并注明排序口径为能改一行控制逻辑并自行重编出可上车件、不含改标定量;六列分别为可改动空间、可插入自有监控与诊断、调试可见度、工具链与许可依赖、改一处的再验证范围与周期代价、IP 保护与二供导入可行性,每格内为定性结论短句、无任何数字或评分;矩阵右侧一条窄列标注这一列通向哪一讲并逐列写出下游落点,下方说明带写明六列是六个独立的必要判断而不是可加权的评分项、填不出的格写明本项目须向对方索取,左上角方框声明本六档为本课归纳的分档而不是任何标准既有的分类。本图为定性对照示意,行列次序与格的大小不代表优劣或代价比例,⛔ 不得据图取值
图3 读三件事:① 六档只沿一条轴排序,排序口径就写在箭头旁,⛔ 不按价格也⛔ 不按供方意愿;② 可改动与可见度在中间两档上分离,这正是 (a) 与 (c) 必须分成两列的原因;③ 右侧窄列说明每一列各自通向后面哪一讲——所以填不出的格不是小事,它是某一讲的入口被堵住了。本图为定性对照示意,行列次序与格的大小不代表优劣或代价比例,⛔ 不得据图取值。

1.3 判据一(可见度):能集成 ≠ 能定位,而这件事的补救只有事前一个时点

目标码与受保护模型这两档有一个共同的、极具欺骗性的特征:集成阶段一切顺利。接口对得上、件跑得起来、台架上功能都对。问题出在几个月之后——标定和路试阶段冒出一个偶发现象,你去查内部变量,发现A2L 里没有、调试器里也看不到。

于是故障定位的形状整个变了。可见档下你做的是:现象出现 → 取内部变量 → 定位到具体成因 → 自己改或向对方提一个精确的变更 → 验证关闭。不可见档下你做的是:现象出现 → 复现并录制外部信号 → 打包退回对方 → 对方排期并复现 → 对方给一个带诊断量的临时版本 → 再路试一次取证据;而这最后一步常常又指向新的猜想,于是整段回到「打包退回对方」重来一遍。

关键不在于多了几个步骤,而在于多出来的是一个会重复的循环,它的计量单位是 nrel(轮)而不是天。故障定位的节奏因此从「以天计」变成「以发布轮次计」。

nrel 是平台相关量,本课按三段式给:

  • ① 怎么反算:它由对方的变更响应时限与最小发布批量共同夹出(这两个量见 1.4),再由你自己的里程碑倒推出「剩余时间里容得下几轮」。
  • ② 典型带:本课未取得可信的公开区间——它随供方规模、件的安全等级、是否与其它客户共用基线而变,跨项目不可迁移。⇒ 替代物是向对方索取其标准发布流程的节点图与历史轮次记录,用它算你自己那个数;索取清单的完整版在第 2 讲。⛔ 不给「一般几天」。
  • ③ 何时必须重算:供方换基线策略、件的安全等级变更、切点变更、形态档变更。

这一档为什么会被反复低估——原因是结构性的,不是谁疏忽。代价不发生在集成阶段,而发生在标定与路试阶段,中间隔着好几个月;而定档决策发生在定点阶段。决策时点与代价发生时点分离,做决策的那批人在代价出现时往往已经不在这个议题上了。

⇒ 今天就能用的那个动作:把「可观测量清单」写进交付要求,而且必须写在定点之前。清单内容是「对方必须把哪些内部量导出到 A2L 或诊断数据标识符」。⚠ 这里有一条口径必须守住:能事后要到的,不算可见度——事后让对方加一个数据标识符导出来,那是一次变更,要走一个完整的发布轮次,它算节奏代价。只有随件就有的,才算可见度。

⚠ 这一条⛔ 不能被读成「所以应该要源码」——为什么不能,见本讲最后一节。

图4 两条共用同一横向事件轴的对照时间线,轴上只标事件节点名不标天数:上线标注内部变量可见,依次为现象出现、本方取内部变量、定位到具体成因、本方改动或提出精确变更、验证关闭;下线标注内部变量不可见,依次为现象出现、本方复现并录制外部信号、打包退回对方、对方排期并复现、对方给出带诊断量的临时版本、再次路试取证据,末端一条循环回箭头指回打包退回对方并注明每循环一次就多一个发布轮次;两线之间一条竖直对照说明带写明两条线的差别不在工时而在轮次。本图横轴为事件顺序示意,⛔ 不代表时间比例,⛔ 不得据图取值
图4 读两件事:① 不可见档下多出来的不是几个步骤,而是一个会重复的循环,它的计量单位是发布轮次 nrel,⛔ 不折算成天数;② 这笔代价发生在标定与路试阶段,而定档决策发生在定点阶段——两个时点分离,正是这一档被反复低估的结构性原因。本图横轴为事件顺序示意,⛔ 不代表时间比例,⛔ 不得据图取值。

1.4 判据二(节奏):完全不可改档下,项目节奏被对方排期锁死

纯 hex + A2L 这一档,OEM 手上只剩标定这一根杠杆。任何一行逻辑的变更,都是对方的一次完整发布。这句话的后果不是「慢一点」,而是:你连「这件事要多久」都算不出来——项目计划表里那一格,你只能填一个愿望。

因为算出那个数需要两个量,而这两个量都在对方手里:

  • 变更响应时限——从你提出变更,到对方给出答复(受理、排期、还是拒绝)的那一段;
  • 最小发布批量——对方答复之后,要攒够多少个变更才发一次件的那一段。

⛔ 这两个量绝不能合成一个「变更周期」。它们作用在不同的段上,各有各的瓶颈:响应时限卡在对方的受理与评估流程上,发布批量卡在对方的集成与回归节奏上。合成一个数之后,你既不知道该去催哪一头,也不知道改善哪一头更划算。

两个量都是平台相关量,三段式:

  • ① 怎么反算:由你自己的里程碑倒推。从标定冻结点往回数,看剩余时间里能容纳几轮完整发布(这就是 nrel 的上限),再由容得下的轮次反推每一轮最多允许多长;两个量各夹一端。
  • ② 典型带:本课未取得可信的公开区间——它随供方规模、件的安全等级、是否与其它客户共用基线而变,跨项目不可迁移。⇒ 替代物:向对方索取其标准发布流程的节点图与历史轮次记录(过去 12 个月里这个件发了几次、每次从提出到交付经过了哪些节点),用它算你自己那个数。⛔ 不给天数——给出来就会被抄成别人的验收线。
  • ③ 何时必须重算:供方换基线策略、件的安全等级变更、切点变更、形态档变更。

⇒ 今天就能用的那个动作:把这两个量放进定点前的技术议题清单,并各自单列一行。本课只给「必须谈」的技术理由和这两个量的反算路径;条款文本怎么写归 Q2-02 主机厂—供应商技术对接与商务谈判——这条分界请在会上讲清楚,否则技术侧和商务侧会各自以为对方在写。

⚠ 判据二和判据一常被当成同一件事,其实不是:判据一问的是「出了问题你能不能自己看见」,判据二问的是「看见之后这件事多久能改完」。同一档上两者可以一好一坏——源码档下你看得见也改得动;而一份「给了符号与映射的目标码」可以可见度不差,节奏照旧被对方锁死。

图5 双层时间条对照:上层条带标注本方里程碑,自左向右四个节点为定点、集成冻结、标定冻结、量产准入;下层条带标注对方发布轮次,画成若干等宽方块串联,每块写一次完整发布,方块之间的间隔标注攒批等待并在上方注明最小发布批量决定这一段;两层之间两条竖直标注线,一条为变更响应时限横跨从提出变更到对方答复,另一条为剩余可容纳轮次从当前时刻横跨到标定冻结节点;右侧竖直文字框写明两个量各夹一端、⛔ 不得合成一个变更周期。本图横轴为顺序与结构示意,⛔ 不代表时间比例,方块数量为示意,⛔ 不得据图取值
图5 读三件事:① 你能容纳几轮变更,是由本方里程碑与对方发布节奏共同夹出来的,⛔ 不是由任何一方单独决定;② 变更响应时限与最小发布批量作用在不同的段上,所以必须拆成两个量去谈;③ 这两个量若没进技术协议,从标定冻结点往回数这个动作就做不了,计划表里那一格只能填愿望。本图横轴为顺序与结构示意,⛔ 不代表时间比例,方块数量为示意,⛔ 不得据图取值。

1.5 判据三(可插入性):还有没有独立的安全兜底手段

前面两列影响的是代价与节奏,这一列影响的是安全论证能不能闭合——它问的是:出事的时候,你还有没有第二道手段。

能不能在交付件之外插入自有监控与诊断,决定了 OEM 手上还有没有一个不依赖该件自身的兜底。受保护模型与纯二进制档下,监控只能加在件的外部信号侧。⚠ 这不是「位置换了一下」,而是观察对象变了:件内的监控看的是内部状态,件外的监控看的是件的输出——而输出要等内部状态经过传播与滤波之后才显现出来。

⇒ 由此必须做的动作只有一个:重新对照危害时间预算核算一次检出延迟。监控搬到件外之后,从故障发生到被检出的时间变长了;原来在时间预算里成立的那条链,现在未必还成立。⛔ 不许把「插了监控」直接当成「兜底成立」——延迟没重算的监控,在时间预算上可能根本来不及,而它在评审材料里看起来和一个有效的监控一模一样。

检出延迟的增量是平台相关量,由「件外可观测的那个信号相对内部状态滞后多少」决定。本课未取得可信的公开区间,也不给数——它随信号链路、滤波设计与故障传播路径而变,跨平台完全不可迁移。⇒ 替代物是一个明确的反算入口:把监控搬到件外之后,重新走一遍危害时间预算的核算;核算方法本体归 K2-03 功能安全(ISO 26262)在热管理中的应用,监控器本身要满足的规格化要求归 K2-05 预期功能安全(SOTIF/ISO 21448)与 AI 件安全论证在热管理的落法,本课只给「必须重算」这条触发条件。

⚠ 还有一条容易混的:这一列说的「独立」是指安全机制通道意义上的独立(防的是共因失效),⛔ 与第 5 讲要讲的「谁有资格签」那种组织意义上的独立不是一件事。本课把这两个「独立性」在符号表里分成两行、各带后缀,凡写「独立性」三字必带限定词——混谈它们会推出一些看起来严谨、实际荒谬的结论。

图6 并列两幅对照结构图:左幅标注监控可插在件内,一个大方框代表交付件,框内画出被监控的内部状态量与一个监控器方框,两者之间一条短箭头标注直接观察内部状态;右幅标注监控只能加在件外,同样一个大方框代表交付件但框内灰色填充并标注内部状态不可见,监控器画在框外,与件的输出信号之间一条较长箭头标注只能观察输出,箭头中段一个小方块标注传播与滤波带来的滞后;两幅下方共用一条横向说明带,三行分别写检出延迟变长、必须重新对照危害时间预算核算、核算方法本体去向 K2-03 而监控器本身的规格化要求去向 K2-05。本图为定性结构示意,框的大小、箭头长度与滞后方块位置不代表延迟数值或比例,⛔ 不得据图取值
图6 读两件事:① 监控搬到件外之后,观察对象从内部状态变成了件的输出——这是可观测对象的变化,⛔ 不只是位置的变化;② 由此推出的动作是重新核算危害时间预算,⛔ 不是默认兜底仍然成立。本图为定性结构示意,框的大小、箭头长度与滞后方块位置不代表延迟数值或比例,⛔ 不得据图取值。

1.6 本讲第二条读反:「拿到源码=最安全」

第一条读反在本课开篇已经点破。这里点破第二条,它在定档这件事上直接影响动作。

误区:以为只要能拿到源码,风险就都解决了,所以谈判时应当一路往源码档要。

源码档确实把可改动与可见度两列都拉满。但它同时把两样东西整段接了过来:

  1. 改完之后的再验证范围——你改了一行,谁来验、验到哪一档?这笔账在定档那一刻就已经产生了,⛔ 不是等到联合验证那一讲才谈。
  2. 缺陷归因——出问题时,「这是你改的那一行,还是我原来那一行」会从一句口头争论变成一个必须靠证据回答的问题;而回答它需要基线、需要改动记录、需要双方都认的复现方法。

⛔ 这一条也⛔ 不能被读成「源码档不好」。在某些分工下它就是对的选择——尤其当上层策略本来就由你写、而你要的正是把控制逻辑资产留在自己手里的时候。

正确的动作不是升档,而是先回答一个问题:我要解决的到底是哪一列的问题?

  • 痛点是看不见((c) 列)⇒ 处置是第 2 讲的可观测量清单,写进交付要求即可,⛔ 不必升档;
  • 痛点是改不动、等不起((e) 列的节奏那一半)⇒ 处置是 1.4 那两个量,谈死它们;
  • 痛点是没有安全兜底((b) 列)⇒ 处置是判据三:确认监控能插在哪一侧,并重算检出延迟。

把「要源码」当成万能解的代价很具体:谈判筹码全花在最贵的一档上,而真实痛点往往一张清单就能解决;更糟的是,筹码花完之后,上面那三件该谈的可能一件都没谈。

⇒ 本讲的收尾动作,一句话:把你项目上的每一条痛点,逐条落到六列中的某一列,再看那一列有没有比升档更便宜的处置。落不到任何一列的痛点,说明它根本不是形态问题——那多半是分工问题(第 3 讲)或假设问题(第 4 讲),换形态档解决不了它。

后面还有 9 讲正文 · 关键公式 · 案例拆解 · 常见误区 · 动手做

会员专属

后续为会员深水区内容——四库数据与深度拆解。

查看会员方案