第94章 生命周期系统
生命周期系统是 Framework Kernel 之上的统一状态管理机制。
第93章解决的是:
Kernel 如何启动、运行和关闭 Framework。
第94章进一步解决:
Framework 中的不同对象,从创建到结束,分别经历什么状态、什么事件,以及状态如何变化。
因此,生命周期不是简单的“开始→结束”,而是对对象存在、状态变化、运行过程和结束过程进行结构化管理。
1. Framework Lifecycle
Framework Lifecycle 是整个 SAI Framework 的生命周期。
它由 Kernel 负责组织。
1.1 Framework 生命周期
CREATED
↓
INITIALIZING
↓
READY
↓
STARTING
↓
RUNNING
↓
STOPPING
↓
STOPPED
↓
SHUTDOWN
异常状态:
ERROR
CONFLICT
UNKNOWN
1.2 CREATED
Framework 对象已经建立。
Framework
state = CREATED
此时:
- Kernel 已创建
- Framework 尚未初始化
- Engine 尚未全部启动
- Individual 尚未进入正常运行
1.3 INITIALIZING
Kernel 开始初始化:
Configuration
↓
Registry
↓
Container
↓
Manager
↓
Engine
↓
Extension
↓
Individual
初始化过程中需要检查:
组件是否存在
类是否存在
依赖是否满足
配置是否有效
状态是否正常
1.4 READY
初始化完成:
Framework.state = READY
表示 Framework 已经具备启动条件。
1.5 RUNNING
启动完成后:
Framework.state = RUNNING
此时可以:
接收 Information
运行 Individual
执行 Engine
处理 Action
连接 Adapter
接收 Feedback
执行 Learning
1.6 STOPPING
关闭开始:
RUNNING
↓
STOPPING
停止新的运行任务,同时结束当前生命周期。
1.7 SHUTDOWN
所有资源释放后:
Framework.state = SHUTDOWN
Framework 本次运行生命周期结束。
2. Individual Lifecycle
Individual Lifecycle 是 SAI Individual 自身的生命周期。
前面第86章已经建立 Individual。
现在需要把它放入统一生命周期系统。
2.1 Individual 状态
CREATED
↓
INITIALIZING
↓
READY
↓
RUNNING
↓
WAITING
↓
RUNNING
↓
STOPPING
↓
STOPPED
异常:
ERROR
PAUSED
UNKNOWN
2.2 Individual 启动
Create Individual
↓
Initialize Identity
↓
Initialize Ability
↓
Initialize Memory
↓
Initialize Central
↓
Initialize InformationReceiver
↓
READY
2.3 Individual 运行
Individual 收到 Information:
Information
↓
InformationReceiver
↓
Individual
↓
Perception
↓
Cognition
↓
Understanding
↓
Memory
↓
Reasoning
↓
Decision
↓
Behavior
↓
Action
↓
Expression
↓
External Execution
↓
Feedback
运行结束后:
RUNNING
↓
READY
如果需要等待下一条信息:
RUNNING
↓
WAITING
收到新信息:
WAITING
↓
RUNNING
因此 Individual 是一个持续运行的人工个体,而不是执行一次就结束的对象。
3. Information Lifecycle
Information 也有生命周期。
信息不是:
接收
↓
马上消失
而是可以经过:
RECEIVED
↓
VALIDATING
↓
ACCEPTED
↓
PERCEIVED
↓
UNDERSTOOD
↓
USED
↓
STORED
↓
UPDATED / ARCHIVED
3.1 RECEIVED
Individual 收到信息。
例如:
Information_A
source = Sensor_A
type = SENSOR_DATA
data = temperature: 92
状态:
RECEIVED
3.2 VALIDATING
检查:
来源
结构
类型
时间
完整性
有效性
3.3 ACCEPTED
验证通过:
Information.state = ACCEPTED
可以进入 Perception。
3.4 PERCEIVED
信息已经被感知系统处理:
Information
↓
Perception
↓
Elements
3.5 UNDERSTOOD
信息已经形成结构化理解:
Objects
Properties
States
Relations
Conditions
3.6 USED
信息已经参与:
Reasoning
Decision
Behavior
Action
3.7 STORED
具有长期价值的信息可以进入:
Memory
FactMemory
ExperienceMemory
LongMemory
不具有长期价值的信息可以结束当前生命周期。
4. Object Lifecycle
Object 是 SAI 内部对世界实体的结构化表示。
Object 本身也存在生命周期。
DETECTED
↓
CREATED
↓
RECOGNIZED
↓
ACTIVE
↓
UPDATED
↓
INACTIVE
↓
ARCHIVED
异常:
UNKNOWN
CONFLICT
INVALID
4.1 DETECTED
Perception 发现一个元素集合可能构成对象:
Sensor Information
↓
Elements
↓
Possible Object
4.2 CREATED
系统建立 Object:
Vehicle_A
包含:
Identity
Properties
State
Position
Relations
Methods
Abilities
4.3 RECOGNIZED
Cognition 对 Object 进行识别:
Object
↓
Recognition
↓
RECOGNIZED
4.4 ACTIVE
对象当前仍存在并参与场景:
Object.state = ACTIVE
例如:
Vehicle_A
speed = 40
position = Lane_1
state = MOVING
4.5 UPDATED
新的 Information 到来:
speed: 40 → 30
Object 更新:
Object
↓
Property Update
↓
State Update
↓
UPDATED
历史数据不应该被无条件删除。
4.6 INACTIVE
对象暂时不再处于当前场景:
ACTIVE
↓
INACTIVE
例如车辆已经离开感知范围。
4.7 ARCHIVED
如果需要保留历史:
INACTIVE
↓
ARCHIVED
进入历史记录或 Memory。
5. Behavior Lifecycle
Behavior 是 Decision 后的执行过程。
Behavior 生命周期:
NEW
↓
READY
↓
RUNNING
↓
WAITING
↓
RUNNING
↓
SUCCESS
异常状态:
FAILED
CANCELLED
TIMEOUT
CONFLICT
UNKNOWN
5.1 NEW
Decision 创建 Behavior:
Decision
↓
Behavior
state = NEW
5.2 READY
检查:
Target
Action
Condition
Capability
Risk
Resource
通过后:
READY
5.3 RUNNING
开始执行:
Behavior
↓
Action
↓
External Execution
5.4 WAITING
如果行为需要等待:
RUNNING
↓
WAITING
例如:
等待设备响应
等待时间
等待外部状态
条件满足后:
WAITING
↓
RUNNING
5.5 SUCCESS
执行完成且行为结果符合预期:
RUNNING
↓
SUCCESS
注意:
Behavior SUCCESS 只是执行过程成功,不代表外部目标一定已经达到。
仍然可以通过 Feedback 和 Verification 进行确认。
6. Device Lifecycle
Device Lifecycle 管理外部设备及其内部 Device Object 的运行状态。
设备可以经历:
OFF
↓
INITIALIZING
↓
READY
↓
RUNNING
↓
STOPPING
↓
STOPPED
异常:
ERROR
DISCONNECTED
MAINTENANCE
UNKNOWN
6.1 OFF
设备关闭:
Device.state = OFF
6.2 INITIALIZING
设备启动:
OFF
↓
INITIALIZING
检查:
Power
Connection
Controller
Sensor
Configuration
6.3 READY
设备具备执行条件:
READY
6.4 RUNNING
设备正在执行 Action:
Action
↓
DeviceAdapter
↓
Device
↓
RUNNING
6.5 ERROR
设备出现异常:
RUNNING
↓
ERROR
然后进入:
Detection
↓
Risk
↓
Diagnosis
↓
Decision
↓
Repair
↓
Verification
6.6 DISCONNECTED
Adapter 无法连接:
CONNECTED
↓
DISCONNECTED
这里需要特别区分:
Device ERROR
和:
Adapter / Connection ERROR
两者不一定是同一个问题。
7. Learning Lifecycle
Learning Lifecycle 是学习系统自身的生命周期。
前面第70、71章已经定义:
学习 = 获取知识。
因此 Learning 不是简单保存信息。
它需要经历:
NEW
↓
READY
↓
PROCESSING
↓
ANALYZING
↓
EXTRACTING
↓
VALIDATING
↓
UPDATING
↓
COMPLETED
异常:
UNCERTAIN
CONFLICT
FAILED
INVALID
7.1 NEW
创建 LearningTask:
LearningTask
state = NEW
7.2 READY
检查:
Input
Source
Goal
Condition
Memory
Experience
7.3 PROCESSING
开始处理学习输入。
例如:
Experience
↓
Analysis
7.4 ANALYZING
分析:
Condition
Action
Process
Result
Feedback
7.5 EXTRACTING
提取可以形成知识资源的结构。
例如历史经历:
Temperature > 85
Load > 80
Action = REDUCE_SPEED
Result = SAFE
可以形成:
Knowledge
7.6 VALIDATING
检查:
重复
冲突
来源
一致性
有效期
7.7 UPDATING
更新:
Memory
Knowledge
Experience
Rule
Ability Resource
History
具体更新什么,取决于学习结果。
7.8 COMPLETED
学习任务完成:
Learning.state = COMPLETED
但:
COMPLETED ≠ Knowledge 必然正确
知识仍然可以具有:
CONFIRMED
UNCERTAIN
CONFLICT
等状态。
8. 生命周期事件
生命周期不仅记录 State,还需要记录Event。
Event 表示:
导致对象状态发生变化的事件。
基本结构:
LifecycleEvent
{
id
object_id
object_type
event_type
previous_state
current_state
source
data
timestamp
}
例如:
{
id: "event_001",
object_id: "Vehicle_A",
object_type: "device",
event_type: "STATE_CHANGED",
previous_state: "RUNNING",
current_state: "STOPPED",
source: "VehicleAdapter",
timestamp: "..."
}
8.1 创建事件
OBJECT_CREATED
INDIVIDUAL_CREATED
ENGINE_CREATED
DEVICE_CREATED
8.2 启动事件
FRAMEWORK_STARTED
INDIVIDUAL_STARTED
ENGINE_STARTED
DEVICE_STARTED
8.3 状态事件
STATE_CHANGED
STATUS_UPDATED
PROPERTY_CHANGED
8.4 执行事件
BEHAVIOR_STARTED
ACTION_STARTED
ACTION_COMPLETED
ACTION_FAILED
8.5 信息事件
INFORMATION_RECEIVED
INFORMATION_ACCEPTED
INFORMATION_PERCEIVED
INFORMATION_USED
INFORMATION_STORED
8.6 学习事件
LEARNING_STARTED
LEARNING_COMPLETED
KNOWLEDGE_CREATED
KNOWLEDGE_UPDATED
8.7 异常事件
ERROR_DETECTED
CONFLICT_DETECTED
RISK_DETECTED
DIAGNOSIS_COMPLETED
REPAIR_STARTED
REPAIR_COMPLETED
VERIFICATION_COMPLETED
生命周期事件与状态的关系
需要严格区分:
Event = 发生了什么
State = 当前是什么状态
例如:
Device_A
原状态:
RUNNING
发生事件:
TEMPERATURE_HIGH
经过:
Detection
Risk
Diagnosis
Decision
决定停止:
Action = STOP
设备状态变化:
RUNNING
↓
STOPPING
↓
STOPPED
因此产生:
Event:
DEVICE_STOPPED
最终:
Event → State Change
但不能简单认为:
Event = State
统一生命周期系统
现在可以把整个 SAI Framework 的生命周期统一起来:
Framework
│
Lifecycle
│
┌──────────────┼──────────────┐
│ │ │
Individual Information Object
│ │ │
Lifecycle Lifecycle Lifecycle
│ │ │
└──────────────┼──────────────┘
│
Behavior
Lifecycle
│
Device
Lifecycle
│
Learning
Lifecycle
│
Lifecycle Event
更完整的运行关系:
Framework Lifecycle
↓
Individual Lifecycle
↓
Information Lifecycle
↓
Object Lifecycle
↓
Understanding
↓
Reasoning
↓
Decision
↓
Behavior Lifecycle
↓
Action
↓
Device Lifecycle
↓
Feedback
↓
Experience
↓
Learning Lifecycle
↓
Memory / Knowledge Update
↓
New Information
生命周期系统的核心原则
原则一:每个对象都有自己的生命周期
Framework
Individual
Information
Object
Behavior
Device
LearningTask
都可以拥有独立状态。
原则二:生命周期必须可追踪
例如:
Object_A
CREATED
↓
RECOGNIZED
↓
ACTIVE
↓
UPDATED
↓
INACTIVE
↓
ARCHIVED
系统应该能够知道:
什么时候创建
为什么更新
什么时候进入异常
谁触发了状态变化
最终处于什么状态
原则三:状态变化必须有依据
不能直接:
RUNNING → ERROR
而应该存在对应事件或检测结果:
Sensor Information
↓
Detection
↓
DetectionResult
↓
ERROR
原则四:生命周期与业务逻辑分离
例如:
Kernel Lifecycle
负责 Framework 运行状态。
而:
Reasoning
Decision
Behavior
Action
负责 SAI 的认知与执行。
因此:
Lifecycle ≠ Cognition
Lifecycle ≠ Reasoning
Lifecycle ≠ Decision
生命周期系统负责的是状态与过程管理。
本章核心模型
第94章可以形成一个统一的生命周期模型:
Object
↓
Event
↓
State Change
↓
Lifecycle
↓
Next State
整个 Framework:
Framework
↓
Individual
↓
Information
↓
Object
↓
Behavior
↓
Device
↓
Learning
每一个对象都有:
Identity
State
Event
Transition
History
最终形成:
┌──────────────┐
│ Event │
└──────┬───────┘
↓
┌──────────────┐
│ State Change │
└──────┬───────┘
↓
┌──────────────┐
│ Lifecycle │
└──────┬───────┘
↓
┌──────────────┐
│ Next State │
└──────────────┘
生命周期系统的本质:
Lifecycle = State + Event + Transition + History
而 SAI Framework 的生命周期最终形成一个持续循环:
创建
↓
初始化
↓
就绪
↓
运行
↓
状态变化
↓
事件产生
↓
反馈
↓
更新
↓
继续运行
↓
停止
↓
关闭
这使第93章的 Framework Kernel 从单纯的“启动/关闭核心”,进一步成为一个能够管理 Framework、Individual、Information、Object、Behavior、Device、Learning 全部运行状态的统一生命周期基础。