为什么是 CAE-SDB?
在 TPCA / PCN 中,CAE-SDB 用于一次明确 Target State Entry 之前的结构化判定。
已有概念定义中:
- C = Condition;
- A = Authority;
- E = Execution Chain;
- S = Structure;
- D = Dynamics;
- B = Boundary。
但仅仅给出六个定义,还不能回答一个更基础的问题:
为什么是 C / A / E?为什么又是 S / D / B?
CAE-SDB 不是为了形成一个 3×3 分类表而人为组合出来的六个标签。
它实际上包含两个作用层次不同的分析轴:
CAE — Transition Role Axis
状态迁移功能角色轴
SDB — State Validation Axis
状态验证轴
两个轴分别回答不同的问题。
1. CAE:Target State Entry 的三类迁移功能角色
当 Target State 已经明确以后,一次状态迁移首先需要回答三个基本工程问题:
C:具不具备?
A:允不允许?
E:接不接得住?
对应到 Target State Entry,可以表示为:
进入前 Target State Entry 进入后
│ │ │
C A E
Condition Authority Execution Chain
这里的“进入前—入口—进入后”表示 C / A / E 所对应的工程功能位置,并不表示 E 在进入目标状态以后才进行判定。
C、A、E 均在 Target State Entry 之前进入 PCN 的前置判定。
C:具不具备?
C 判断进入目标状态之前所需要的现场条件、对象条件、识别条件、数据条件、任务条件、参数条件等是否成立。
例如:
工件是否存在?
识别结果是否成立?
位置是否正确?
必要参数是否具备?
任务数据是否完整?
C 所回答的是:
进入这个 Target State 所需要的事实条件是否已经具备。
A:允不允许?
即使 C 已经成立,也不意味着系统一定允许进入。
还需要判断:
安全许可是否成立?
上位系统是否授权?
区域是否允许进入?
资源锁是否取得?
是否需要人工确认?
对方设备是否已经许可?
因此 A 回答的是:
当前系统是否被允许进入这个 Target State。
关键 A 可以构成独立必要约束。
即使:
C = 成立
E = 成立
只要关键 A 不成立:
A = 不成立
仍然不得进入目标状态。
E:接不接得住?
即使条件成立、许可也成立,还需要判断:
进入以后,后续执行链是否能够继续。
因此 E 不等于单一设备的 Ready。
它可以涉及:
本体设备
末端执行机构
下游承接
备用路径
回退路径
异常排出路径
结果上传或回写链路
所以:
C:具不具备?
A:允不允许?
E:接不接得住?
分别对应一次状态迁移中的不同工程角色。
CAE 的核心不是按照“机器人信号、PLC 信号、MES 信号”分类,而是判断:
这个状态在本次 Target State Entry 中承担什么迁移功能角色。
2. SDB:相关状态本身如何被判定
确定某个状态属于 C、A 或 E,只说明:
这个状态在本次状态迁移中承担什么功能角色。
还需要进一步判断:
- 这个状态所依赖的工程结构是否已经建立;
- 当前取得的状态是否仍然有效;
- 当前状态相对于预定义边界处于什么位置。
因此需要第二个分析轴:
S:结构建立了吗?
D:当前状态有效吗?
B:当前状态在界内吗?
这就是 SDB。
S:结构建立了吗?
S = Structure。
S 判断相关对象、信号、接口、映射关系、许可来源、角色及执行链边界是否已经定义、接入并可观测。
例如:
需要的信号定义了吗?
接口接入了吗?
映射关系明确吗?
许可来源明确吗?
角色关系明确吗?
执行链边界定义了吗?
这些状态可以被观测吗?
如果这些基础结构本身不存在或者不完整,那么后续状态判定就缺少可靠的工程基础。
因此 S 最简单的理解是:
判断所需的工程结构建立完整了吗?
D:当前状态有效吗?
结构建立以后,还存在第二个问题:
现在看到的状态,还是当前真实有效的状态吗?
例如:
Robot Ready = TRUE
不能只因为存在这个变量,就认为它现在一定有效。
还需要考虑:
是否超时?
是否刷新?
是否抖动?
是否发生冲突?
是否存在延迟?
多个状态源是否同步?
置信度是否仍然有效?
许可是否刚刚被撤销?
因此:
状态存在 ≠ 状态当前有效
D = Dynamics 所判断的是:
在时间和状态变化过程中,当前状态是否仍具有本次 Target State Entry 的判定效力。
B:当前状态在界内吗?
当相关工程结构已经建立,并且取得了当前有效状态以后,还需要进一步判断:
这个当前状态相对于预先定义的允许范围、限制值或边界处在什么位置。
这就是 B = Boundary。
例如某个尺寸允许范围为:
19.90 mm ~ 20.10 mm
当前测量结果:
20.06 mm
则 B 判断的是:
20.06 mm 是否处于规定边界内?
同样的逻辑也可以应用于:
温度范围
压力范围
缓存容量
负载率
距离
速度
允许区域
许可等级
状态集合
其他预定义工程边界
因此 B 的核心不是 Wait、Return、Manual Confirm 或 Safety Lock。
这些属于后续控制路径。
B 只负责:
判断当前有效状态相对于预定义边界的位置关系。
3. CAE 与 SDB 是两个不同维度的分析轴
由此可以看到:
CAE 回答的是:
相关状态在本次状态迁移中承担什么功能角色?
SDB 回答的是:
这个状态的结构、当前有效性和边界关系分别是什么?
可以进一步压缩为:
CAE — Transition Role Axis
C:具不具备?
A:允不允许?
E:接不接得住?
以及:
SDB — State Validation Axis
S:结构建立了吗?
D:当前状态有效吗?
B:当前状态在界内吗?
因此二者不是两套重复分类,而是两个不同维度的分析轴。
完整关系为:
Target State Entry
│
▼
识别与本次迁移有关的状态
│
▼
CAE:迁移功能角色映射
│
├── C:具不具备?
├── A:允不允许?
└── E:接不接得住?
│
▼
SDB:对相关状态进行性质判定
│
├── S:结构建立了吗?
├── D:当前状态有效吗?
└── B:当前状态在界内吗?
│
▼
CAE-SDB Result
因此可以简单理解为:
CAE 回答“这个状态在迁移中是什么角色”。
SDB 回答“这个状态的结构、当前有效性和边界关系如何”。
4. 一个简单工程例子
假设某自动化设备在进入加工阶段之前,需要确认工件尺寸。
这里首先存在一个 C 状态变量:
C 状态变量:
Workpiece_Dimension
它的工程含义是:
工件尺寸属于进入加工阶段之前需要确认的条件状态。
然后进一步从 S / D / B 判断。
C-S:结构
测量对象是否明确?
尺寸检测传感器是否接入?
信号地址是否正确?
单位是否统一?
测量值是否与当前工件建立正确对应?
C-D:当前有效性
这个尺寸是不是当前工件的测量值?
测量结果是否已经刷新?
数据是否超时?
工件移动以后旧值是否已经失效?
C-B:边界
假设规定:
允许尺寸:
19.90 mm ~ 20.10 mm
则判断当前有效测量值是否处于这个范围内。
例如:
20.06 mm → 在界内
20.18 mm → 超出边界
这里:
C
说明“工件尺寸”在本次 Target State Entry 中承担 Condition 的功能角色。
而:
S / D / B
分别判断:
这个尺寸状态所需的工程结构建立了吗?
现在取得的尺寸值还是当前有效值吗?
这个当前有效尺寸值是否落在规定边界内?
两层逻辑因此可以明确区分。
同样的方法也可以作用于 A 与 E。
例如:
A:
某项安全许可属于进入目标状态所需的 Authority。
A-S:
许可来源、接口和授权关系是否建立完整?
A-D:
许可当前是否仍然有效?
A-B:
当前许可状态或授权等级是否处于允许进入的规定边界内?
以及:
E:
下游承接能力属于进入目标状态后执行链能否继续的 Execution Chain 状态。
E-S:
下游承接链及相关接口是否定义完整?
E-D:
当前下游能力状态是否仍然有效?
E-B:
当前容量、负载或位置等状态是否处于允许承接的规定边界内?
5. CAE-SDB Result 不是终点
CAE-SDB 的目的不是产生一个新的异常分类表。
它最终需要形成:
CAE-SDB Result
并继续进入:
CAE-SDB Result
↓
Arbitration
↓
Multipath Control
Arbitration 根据关键许可、控制约束以及多个判定结果处理控制优先关系。
Multipath Control 再形成实际工程控制路径。
代表性路径可以包括:
Allow
Wait
Recheck
Retry
Return
Degrade
Manual Confirm
Prohibit
Safety Lock
其他预先定义路径
因此:
S / D / B 不是控制动作。
特别是 B 只表示 Boundary 判定,不代表 Wait、Return、Manual Confirm 等具体路径。
CAE-SDB 提供的是:
进入控制仲裁之前的结构化判定基础。
6. 当前理论边界与后续验证
本文说明的是 CAE-SDB 当前的底层结构解释。
它并不意味着已经通过数学方法证明:
在所有可能工程系统中,
CAE 与 SDB 已经不存在任何可扩展空间。
更准确的验证对象应限定在一次已经明确的 Target State Entry 作用域内。
CAE 第四变量反例测试
需要寻找的是:
是否存在 C / A / E 之外,但又是一次明确 Target State Entry 不可缺少的第四种迁移功能角色 X。
即:
X ≠ C
X ≠ A
X ≠ E
同时 X 又不能通过改变原有定义强行归入 C / A / E。
SDB 第四性质反例测试
需要寻找的是:
对于已经纳入本次迁移判定的相关状态,是否存在 S / D / B 之外,但又不可缺少的第四种独立判定性质 P。
即:
P ≠ S
P ≠ D
P ≠ B
验证重点不是为了维护当前 CAE-SDB 结构,而是主动寻找其解释不了的现实对象。
如果后续跨行业、跨设备和跨系统案例反复出现无法由当前定义自然表达的独立角色或判定性质,则应将其作为新的理论问题处理。
小结
CAE-SDB 可以理解为两个不同维度的分析轴。
CAE — 状态迁移功能角色轴
C:具不具备?
A:允不允许?
E:接不接得住?
对应的是围绕 Target State Entry 的三个工程功能位置:
进入前 → Target State Entry → 进入后
其中 C、A、E 均在 Target State Entry 之前进入 PCN 的前置判定。
SDB — 状态验证轴
S:结构建立了吗?
D:当前状态有效吗?
B:当前状态在界内吗?
因此完整关系可以概括为:
Target State Entry
↓
识别相关状态
↓
Transition Role
C / A / E
↓
State Validation
S / D / B
↓
CAE-SDB Result
↓
Arbitration
↓
Multipath Control
CAE-SDB 的作用不是增加一套新的状态标签。
它关注的是:
对于一次明确的 Target State Entry,识别相关状态在迁移中的功能角色,并分别判断这些状态的结构完整性、动态时序有效性以及相对于预定义边界的位置关系。
最终,CAE-SDB Result 继续进入 Arbitration 与 Multipath Control,使状态迁移前的多源状态判断能够与后续控制路径形成明确工程关系。
参考文献与外部依据
以下资料用于说明状态迁移、复杂离散事件系统建模、状态时间信息和分布式事件顺序等已有工程基础。
这些资料不构成 CAE-SDB 双轴结构的理论来源说明,也不用于直接证明 CAE-SDB 的完备性。
HAREL D.
Statecharts: A Visual Formalism for Complex Systems.
Science of Computer Programming, 1987, 8(3): 231–274.
DOI: 10.1016/0167-6423(87)90035-9
https://www.sciencedirect.com/science/article/pii/0167642387900359OPC Foundation.
OPC Unified Architecture — Part 4: Services.
DataValue 将 Value、StatusCode、SourceTimestamp、ServerTimestamp 等信息关联,用于表示工业状态值、状态质量及时间信息。
https://reference.opcfoundation.org/specs/OPC-10000-4/fullLAMPORT L.
Time, Clocks, and the Ordering of Events in a Distributed System.
Communications of the ACM, 1978, 21(7): 558–565.
DOI: 10.1145/359545.359563
https://www.microsoft.com/en-us/research/publication/time-clocks-ordering-events-distributed-system/
文档信息
题目:为什么是 CAE-SDB?——状态迁移功能角色与状态验证的双轴结构
文档类型:技术札记
版本:Public Note Version 1.0
首次发布日期:2026-08-25
最后更新:2026-08-25
作者:全野南政 / Nansei Zenno
当前 URL:https://zennns.com/zh/notes/why-cae-sdb/
本文属于 TPCA / PCN 状态迁移前置控制体系的公开说明内容。