首页 理论 架构 工程 文档 白皮书 著作 研究 案例 下载 博客 关于 开始使用 →

第265章 行为Runtime

第265章 行为Runtime

265.1 行为Runtime定义

在个体Runtime完成个体加载、认知Runtime完成认知计算、匹配Runtime完成能力匹配、决策Runtime完成方案选择之后,机器个体必须进入实际行为阶段。

行为Runtime(Behavior Runtime)是机器个体在运行过程中,根据已经形成的决策结果组织行为、执行动作、获得执行结果,并根据执行结果改变对象或自身状态的运行环境。

因此,行为Runtime不是单纯的“执行程序”,而是一个完整的行为运行过程:

BehaviorRuntime={Behavior,Action,Execution,Result,StateChange}BehaviorRuntime= \{Behavior,Action,Execution,Result,StateChange\}

其中:

  • Behavior:行为,表示机器个体准备实施的完整行为过程;
  • Action:动作,表示行为中的具体执行步骤;
  • Execution:执行,表示动作实际发生的过程;
  • Result:结果,表示动作或行为执行后的实际结果;
  • StateChange:状态变化,表示执行前后的状态差异。

行为Runtime的基本流程为:

DecisionResult→Behavior→Action→Execution→Result→StateChangeDecisionResult \rightarrow Behavior \rightarrow Action \rightarrow Execution \rightarrow Result \rightarrow StateChange

如果执行结果还需要反馈给认知、学习和维护系统,则进一步形成:

StateChange→Feedback→Memory→LearningStateChange \rightarrow Feedback \rightarrow Memory \rightarrow Learning

因此,行为Runtime是决策Runtime与学习Runtime、维护Runtime之间的重要连接层。


265.2 行为

行为(Behavior)是机器个体为了完成某一目标,根据决策结果组织的一组具有目的性的动作过程。

行为不是单个动作。

例如:

完成设备故障诊断

可以形成一个行为:

Behavior=DiagnoseDeviceFaultBehavior=DiagnoseDeviceFault

该行为可能包含:

Behavior→Action1→Action2→Action3Behavior \rightarrow Action_1 \rightarrow Action_2 \rightarrow Action_3

例如:

行为:设备故障诊断

动作1:读取温度
动作2:读取压力
动作3:比较检测结果
动作4:形成诊断结果

因此:

Behavior≠ActionBehavior\neq Action

行为回答:

要完成什么行为过程?

动作回答:

具体执行什么操作?

行为可以定义为:

Behavior={ID,Individual,Goal,Method,Actions,Condition,State}Behavior= \{ID,Individual,Goal,Method,Actions,Condition,State\}

其中:

  • ID:行为标识;
  • Individual:执行行为的机器个体;
  • Goal:行为目标;
  • Method:采用的方法;
  • Actions:动作集合;
  • Condition:执行条件;
  • State:行为当前状态。

265.3 行为与决策Runtime的连接

行为Runtime不是自行产生最终决策。

它接收DecisionRuntime产生的决策结果。

基本关系:

DecisionRuntime→DecisionResult→BehaviorRuntimeDecisionRuntime \rightarrow DecisionResult \rightarrow BehaviorRuntime

其中:

DecisionResult={Method,Goal,Condition,Reason,Status}DecisionResult= \{Method,Goal,Condition,Reason,Status\}

例如:

Goal:
完成设备故障诊断

Method:
Method-B

Decision:
Approved

行为Runtime根据这个结果建立行为:

DecisionResult
        ↓
Behavior
        ↓
Action List

因此:

Decision≠BehaviorDecision\neq Behavior

决策回答:

选择什么方案?

行为回答:

按照这个方案实施什么行为?


265.4 动作

动作(Action)是行为Runtime中能够被实际执行的最小操作单位之一。

例如:

读取温度
读取压力
读取设备状态
写入诊断结果
更新设备状态

可以分别形成动作对象。

动作可以表示为:

Action={ID,BehaviorID,Subject,Object,Operation,Condition,Result,State}Action= \{ID,BehaviorID,Subject,Object,Operation,Condition,Result,State\}

例如:

Action-001
Subject:ICAI-001
Object:TemperatureSensor
Operation:ReadTemperature
Condition:SensorAvailable

动作执行之后产生:

ActionResultActionResult

因此:

Action→Execution→ActionResultAction \rightarrow Execution \rightarrow ActionResult

需要严格区分:

Action≠ExecutionAction\neq Execution

动作是“执行什么”,执行是“实际执行这个动作的过程”。


265.5 行为与动作的关系

一个行为可以包含一个或者多个动作:

Behavior={Action1,Action2,…,Actionn}Behavior=\{Action_1,Action_2,\ldots,Action_n\}

例如:

BehaviorDiagnosis={ReadTemperature,ReadPressure,Diagnose}Behavior_{Diagnosis} = \{ReadTemperature,ReadPressure,Diagnose\}

形成:

Behavior
│
├── Action 1
│   └── ReadTemperature
│
├── Action 2
│   └── ReadPressure
│
└── Action 3
    └── Diagnose

动作可以按照顺序执行:

Action1→Action2→Action3Action_1 \rightarrow Action_2 \rightarrow Action_3

也可以根据条件决定下一动作:

Actioni→ConditionActioni+1Action_i \xrightarrow{Condition} Action_{i+1}

因此行为Runtime实际上是一个动作执行状态机。


265.6 执行

执行(Execution)表示Action真正进入运行过程。

执行不是动作定义本身,而是动作从“准备执行”进入“实际运行”的过程。

执行状态可以定义为:

Pending
↓
Ready
↓
Executing
↓
Completed

异常情况下:

Pending
↓
Ready
↓
Executing
↓
Failed

因此:

ExecutionState∈{Pending,Ready,Executing,Completed,Failed,Cancelled}ExecutionState\in \{Pending,Ready,Executing,Completed,Failed,Cancelled\}

一个执行对象可以表示为:

Execution={ID,ActionID,Status,StartTime,EndTime,Input,Output,Error}Execution= \{ID,ActionID,Status,StartTime,EndTime,Input,Output,Error\}

例如:

Action:
ReadTemperature

Execution:
Executing

Input:
TemperatureSensor-01

Output:
82

Status:
Completed

这里:

Action = ReadTemperature
Execution = 实际执行 ReadTemperature
Result = 82

三者不能混淆:

Action≠Execution≠ResultAction\neq Execution\neq Result


265.7 动作执行过程

行为Runtime执行一个动作时,可以形成如下过程:

LoadAction→ValidateCondition→StartExecution→Execute→CollectResult→UpdateStateLoadAction \rightarrow ValidateCondition \rightarrow StartExecution \rightarrow Execute \rightarrow CollectResult \rightarrow UpdateState

具体过程:

加载动作
   ↓
检查条件
   ↓
开始执行
   ↓
执行操作
   ↓
获得结果
   ↓
更新状态

如果条件不满足:

Condition=false⇒ExecutionBlockedCondition=false \Rightarrow ExecutionBlocked

如果动作执行失败:

ExecutionFailed⇒ActionFailedExecutionFailed \Rightarrow ActionFailed

如果动作执行成功:

ExecutionCompleted⇒ActionCompletedExecutionCompleted \Rightarrow ActionCompleted

因此行为Runtime必须保存执行状态,而不能只保存最终结果。


265.8 结果

结果(Result)是动作或者行为执行后产生的实际输出。

单个动作产生:

Action→ActionResultAction\rightarrow ActionResult

多个动作形成完整行为结果:

ActionResult1,…,ActionResultn→BehaviorResultActionResult_1,\ldots,ActionResult_n \rightarrow BehaviorResult

可以定义:

ActionResult={ActionID,Status,Value,Message,Time}ActionResult= \{ActionID,Status,Value,Message,Time\}

例如:

Action:读取温度
Status:Completed
Value:82

完整行为结果可以定义为:

BehaviorResult={BehaviorID,Status,Actions,GoalStatus,Time}BehaviorResult= \{BehaviorID,Status,Actions,GoalStatus,Time\}

例如:

Behavior:
设备故障诊断

Action 1:
Temperature = 82

Action 2:
Pressure = 7.1

Action 3:
Diagnosis = TemperatureHigh

Behavior Status:
Completed

但是:

BehaviorCompleted≠GoalCompletedBehaviorCompleted\neq GoalCompleted

行为可以执行完成,但目标可能没有完成。

例如:

行为执行完成:
是

诊断过程完成:
是

设备恢复正常:
否

因此行为Runtime必须同时记录行为执行状态和目标完成状态。


265.9 状态变化

行为Runtime最重要的结果之一,是产生状态变化。

如果执行动作之前对象状态为:

StatetState_t

执行动作之后状态为:

Statet+1State_{t+1}

则:

Statet→ActionStatet+1State_t \xrightarrow{Action} State_{t+1}

状态变化为:

StateChange=Statet+1−StatetStateChange=State_{t+1}-State_t

例如:

执行前:

DeviceState = warning
MethodState = Method-A

行为执行:

RepairMethod

执行后:

DeviceState = normal
MethodState = Method-B

于是:

Statet→Action→Statet+1State_t\rightarrow Action\rightarrow State_{t+1}

这说明行为Runtime并不是只产生页面输出,而是真正改变机器个体所管理的对象状态。


265.10 状态变化与Domain Object

状态变化最终必须作用于Domain Object。

因此:

Action→DomainObject→StateChangeAction \rightarrow DomainObject \rightarrow StateChange

例如:

$device->setState('normal');

这里改变的是Domain Object中的领域状态。

之后才可以通过Repository持久化:

DomainObject→Repository→MySQLDomainObject \rightarrow Repository \rightarrow MySQL

因此:

StateChange≠DatabaseUpdateStateChange\neq DatabaseUpdate

状态变化首先发生在领域对象中,数据库更新只是这种状态变化的持久化结果。


265.11 行为Runtime对象模型

行为Runtime可以建立如下结构:

BehaviorRuntime
│
├── Individual
│
├── DecisionResult
│
├── Behavior
│
├── Actions
│   ├── Action
│   ├── Action
│   └── Action
│
├── Executions
│
├── Results
│
└── StateChanges

形式化表示:

BR={Individual,DecisionResult,Behavior,Actions,Executions,Results,StateChanges}BR= \{ Individual, DecisionResult, Behavior, Actions, Executions, Results, StateChanges \}

其中:

Actions={A1,A2,…,An}Actions=\{A_1,A_2,\ldots,A_n\} Executions={E1,E2,…,En}Executions=\{E_1,E_2,\ldots,E_n\} Results={R1,R2,…,Rn}Results=\{R_1,R_2,\ldots,R_n\}


265.12 行为Runtime执行模型

完整行为Runtime可以表示为:

BehaviorRuntime=DecisionResult→Behavior→Action→Execution→Result→StateChangeBehaviorRuntime = DecisionResult \rightarrow Behavior \rightarrow Action \rightarrow Execution \rightarrow Result \rightarrow StateChange

展开后:

DecisionResult
      ↓
建立Behavior
      ↓
加载Action
      ↓
检查Condition
      ↓
开始Execution
      ↓
执行Action
      ↓
产生ActionResult
      ↓
更新Domain Object
      ↓
产生StateChange
      ↓
形成BehaviorResult

如果存在多个动作:

Behavior→A1→A2→A3→ResultBehavior \rightarrow A_1 \rightarrow A_2 \rightarrow A_3 \rightarrow Result

如果某一个动作失败:

Ai→FailedA_i\rightarrow Failed

则Runtime需要根据行为规则决定:

停止
继续
重试
切换动作
进入维护

因此行为Runtime也可以连接自我维护Runtime。


265.13 行为状态

行为自身也具有生命周期状态:

BehaviorState∈{Created,Ready,Running,Paused,Completed,Failed,Cancelled}BehaviorState\in \{ Created, Ready, Running, Paused, Completed, Failed, Cancelled \}

状态变化:

BehaviorStatet→EventBehaviorStatet+1BehaviorState_t \xrightarrow{Event} BehaviorState_{t+1}

例如:

Created
↓
Ready
↓
Running
↓
Completed

失败:

Created
↓
Ready
↓
Running
↓
Failed

暂停:

Running
↓
Paused
↓
Running

因此:

BehaviorState≠RuntimeStateBehaviorState\neq RuntimeState

Runtime表示整个运行环境的状态,BehaviorState表示当前行为的状态。


265.14 动作状态

每一个Action也可以拥有独立状态:

ActionState∈{Pending,Ready,Executing,Completed,Failed,Skipped,Cancelled}ActionState\in \{ Pending, Ready, Executing, Completed, Failed, Skipped, Cancelled \}

例如:

Action-001 = Completed
Action-002 = Completed
Action-003 = Failed

于是:

BehaviorState=FailedBehaviorState=Failed

或者根据规则:

Action3=Failed⇒Retry(Action3)Action_3=Failed \Rightarrow Retry(Action_3)

也可能:

Action3=Failed⇒AlternativeActionAction_3=Failed \Rightarrow AlternativeAction

这就形成行为Runtime内部的条件执行机制。


265.15 行为Runtime与反馈

行为执行完成以后,并不意味着整个ICAI运行循环结束。

行为结果需要进入反馈:

BehaviorResult→FeedbackBehaviorResult \rightarrow Feedback

例如:

行为:
设备诊断

结果:
TemperatureHigh

反馈:
当前方法没有使设备恢复正常

形成:

Result→FeedbackResult \rightarrow Feedback

随后:

Feedback→Memory→Experience→LearningFeedback \rightarrow Memory \rightarrow Experience \rightarrow Learning

因此行为Runtime成为行为系统与学习系统之间的连接点。


265.16 行为Runtime与学习

行为Runtime本身不负责学习。

它负责:

Behavior→Action→ResultBehavior\rightarrow Action\rightarrow Result

学习系统负责:

Feedback→Memory→Experience→LearningFeedback\rightarrow Memory\rightarrow Experience\rightarrow Learning

二者通过反馈连接:

BehaviorRuntime→Result→Feedback→LearningRuntimeBehaviorRuntime \rightarrow Result \rightarrow Feedback \rightarrow LearningRuntime

因此:

BehaviorRuntime≠LearningRuntimeBehaviorRuntime\neq LearningRuntime

但:

BehaviorRuntime→LearningRuntimeBehaviorRuntime\rightarrow LearningRuntime

这使ICAI能够通过实际行为结果形成经验,并进一步改变未来的方法、能力或决策。


265.17 行为Runtime与自我维护

行为执行过程中也可能发现异常。

例如:

Action-001:成功
Action-002:成功
Action-003:失败

如果失败超过允许次数,则:

Detection→Risk→Diagnosis→RepairDetection \rightarrow Risk \rightarrow Diagnosis \rightarrow Repair

因此:

BehaviorRuntime→Detection→MaintenanceRuntimeBehaviorRuntime \rightarrow Detection \rightarrow MaintenanceRuntime

维护完成以后:

Repair→Verification→BehaviorRuntimeRepair \rightarrow Verification \rightarrow BehaviorRuntime

形成:

行为
 ↓
动作
 ↓
执行
 ↓
异常
 ↓
检测
 ↓
诊断
 ↓
修复
 ↓
验证
 ↓
继续行为

所以行为Runtime不仅支持正常执行,也必须能够与自我维护机制连接。


265.18 行为Runtime工程映射

理论结构可以直接映射到PHP OOP:

Behavior→BehaviorObjectBehavior \rightarrow BehaviorObject Action→ActionObjectAction \rightarrow ActionObject Execution→ExecutionObjectExecution \rightarrow ExecutionObject Result→ResultObjectResult \rightarrow ResultObject StateChange→StateChangeObjectStateChange \rightarrow StateChangeObject

例如:

class BehaviorRuntime
{
    protected $individual;
    protected $decisionResult;
    protected $behavior;
    protected $actions;
    protected $executions;
    protected $results;
    protected $stateChanges;

    public function setIndividual($individual)
    {
        $this->individual = $individual;
    }

    public function setDecisionResult($decisionResult)
    {
        $this->decisionResult = $decisionResult;
    }

    public function setBehavior($behavior)
    {
        $this->behavior = $behavior;
    }

    public function setActions($actions)
    {
        $this->actions = $actions;
    }

    public function setExecutions($executions)
    {
        $this->executions = $executions;
    }

    public function setResults($results)
    {
        $this->results = $results;
    }

    public function setStateChanges($stateChanges)
    {
        $this->stateChanges = $stateChanges;
    }
}

这里的BehaviorRuntime只是Runtime领域对象,用于保存当前行为运行上下文。

它不是BehaviorEngine。

因此:

BehaviorRuntime≠BehaviorEngineBehaviorRuntime\neq BehaviorEngine


265.19 BehaviorEngine

真正负责行为执行计算的是BehaviorEngine。

例如:

class BehaviorEngine
{
    public function execute($behavior)
    {
        $results = array();

        foreach ($behavior['actions'] as $action) {

            if (!$action['condition']) {
                $results[] = array(
                    'action_id' => $action['id'],
                    'status' => 'blocked'
                );

                continue;
            }

            $results[] = array(
                'action_id' => $action['id'],
                'status' => 'completed',
                'value' => $action['value']
            );
        }

        return $results;
    }
}

这里Engine负责行为执行计算。

因此:

BehaviorRuntime→BehaviorEngineBehaviorRuntime \rightarrow BehaviorEngine

而不是:

BehaviorRuntime=BehaviorEngineBehaviorRuntime=BehaviorEngine


265.20 BehaviorService

Service负责组织行为执行过程:

class BehaviorService
{
    protected $engine;

    public function __construct($engine)
    {
        $this->engine = $engine;
    }

    public function execute($runtime)
    {
        return $this->engine->execute(
            $runtime->getBehavior()
        );
    }
}

因此:

BehaviorService→BehaviorEngineBehaviorService \rightarrow BehaviorEngine

Service不直接完成底层动作计算。


265.21 BehaviorController

Controller负责接收外部行为执行请求:

class BehaviorController
{
    protected $service;

    public function __construct($service)
    {
        $this->service = $service;
    }

    public function execute($runtime)
    {
        return $this->service->execute($runtime);
    }
}

完整MVC调用关系:

Browser→BehaviorController→BehaviorService→BehaviorEngine→BehaviorResultBrowser \rightarrow BehaviorController \rightarrow BehaviorService \rightarrow BehaviorEngine \rightarrow BehaviorResult

如果行为导致领域对象发生变化:

BehaviorEngine→DomainObject→Repository→MySQLBehaviorEngine \rightarrow DomainObject \rightarrow Repository \rightarrow MySQL


265.22 行为Runtime持久化

行为Runtime本身可以保存运行历史。

例如:

behavior_runtime
behavior_actions
behavior_executions
behavior_results
behavior_state_changes

关系:

BehaviorRuntime→Behavior→Action→Execution→Result→StateChangeBehaviorRuntime \rightarrow Behavior \rightarrow Action \rightarrow Execution \rightarrow Result \rightarrow StateChange

Repository负责持久化:

Repository→MySQLRepository \rightarrow MySQL

因此:

BehaviorRuntime≠RepositoryBehaviorRuntime\neq Repository BehaviorRuntime≠MySQLBehaviorRuntime\neq MySQL


265.23 行为Runtime完整数据流

从决策到行为完成:

MatchingResult→Method→Decision→DecisionResultMatchingResult \rightarrow Method \rightarrow Decision \rightarrow DecisionResult

然后:

DecisionResult→Behavior→Action→Execution→Result→StateChangeDecisionResult \rightarrow Behavior \rightarrow Action \rightarrow Execution \rightarrow Result \rightarrow StateChange

再进入反馈:

StateChange→Feedback→Memory→Experience→LearningStateChange \rightarrow Feedback \rightarrow Memory \rightarrow Experience \rightarrow Learning

完整ICAI运行链:

Cognition→Need→Goal→Capability→Matching→Method→Decision→Behavior→Action→Execution→Result→StateChange→Feedback→Memory→Experience→Learning→UpdateCognition \rightarrow Need \rightarrow Goal \rightarrow Capability \rightarrow Matching \rightarrow Method \rightarrow Decision \rightarrow Behavior \rightarrow Action \rightarrow Execution \rightarrow Result \rightarrow StateChange \rightarrow Feedback \rightarrow Memory \rightarrow Experience \rightarrow Learning \rightarrow Update


265.24 行为Runtime与个体状态

行为不仅可以改变外部对象,也可以改变机器个体自身状态。

例如:

Individual State:
ready

执行行为:

process_task

执行期间:

running

执行结束:

completed

形成:

IndividualStatet→BehaviorIndividualStatet+1IndividualState_t \xrightarrow{Behavior} IndividualState_{t+1}

例如:

ready→running→completedready \rightarrow running \rightarrow completed

如果出现异常:

running→errorrunning \rightarrow error

如果进入维护:

error→maintenanceerror \rightarrow maintenance

因此行为Runtime可以同时管理:

个体状态
对象状态
行为状态
动作状态
执行状态

但这些状态必须保持语义上的独立。


265.25 状态变化的统一模型

设行为执行前状态为:

StS_t

动作集合为:

A={A1,A2,…,An}A=\{A_1,A_2,\ldots,A_n\}

则:

St+1=F(St,A,Condition,Rule)S_{t+1} = F(S_t,A,Condition,Rule)

如果动作按顺序执行:

S0→A1S1→A2S2→A3S3S_0 \xrightarrow{A_1} S_1 \xrightarrow{A_2} S_2 \xrightarrow{A_3} S_3

最终:

Sfinal=SnS_{final}=S_n

这就是行为Runtime产生实际状态变化的基本数学模型。


265.26 预期状态与实际状态

行为执行之前,可以定义预期状态:

ExpectedStateExpectedState

执行以后获得:

ActualStateActualState

二者比较:

StateCompare=Compare(ExpectedState,ActualState)StateCompare= Compare(ExpectedState,ActualState)

例如:

Expected:
DeviceState = normal

Actual:
DeviceState = warning

则:

ExpectedState≠ActualStateExpectedState\neq ActualState

这说明行为虽然可能已经执行完成,但是目标状态没有达到。

因此:

BehaviorCompleted≠GoalCompletedBehaviorCompleted \neq GoalCompleted

如果:

ExpectedState=ActualStateExpectedState=ActualState

则:

GoalCompleted=trueGoalCompleted=true

否则:

GoalCompleted=falseGoalCompleted=false


265.27 行为Runtime验证

行为执行结束以后必须进行验证。

Verification=F(ExpectedState,ActualState,Rule)Verification= F(ExpectedState,ActualState,Rule)

验证结果:

Success
Failed

完整过程:

Execution→Result→StateChange→VerificationExecution \rightarrow Result \rightarrow StateChange \rightarrow Verification

因此:

ExecutionCompleted≠VerificationCompletedExecutionCompleted \neq VerificationCompleted

动作执行完成只说明动作结束。

验证完成才说明系统已经确认执行结果符合要求。


265.28 行为Runtime失败处理

行为执行失败时,不应该直接等同于系统故障。

可以区分:

ActionFailure
BehaviorFailure
GoalFailure
PersistenceFailure
SystemFailure

例如:

ActionFailure≠SystemFailureActionFailure\neq SystemFailure

一个动作失败可能只是:

Method-A不适合当前条件

此时可以:

Failure→Feedback→LearningFailure \rightarrow Feedback \rightarrow Learning

或者:

Failure→Detection→Diagnosis→RepairFailure \rightarrow Detection \rightarrow Diagnosis \rightarrow Repair

因此失败本身也属于ICAI运行过程中的有效信息。


265.29 行为Runtime状态机

完整行为Runtime可以表示为:

Created
   ↓
DecisionLoaded
   ↓
BehaviorCreated
   ↓
ActionsLoaded
   ↓
ConditionChecked
   ↓
Executing
   ↓
ResultCollected
   ↓
StateChanged
   ↓
Verified
   ↓
Completed

异常路径:

Executing
   ↓
Failed
   ↓
Detection
   ↓
Diagnosis
   ↓
Repair
   ↓
Verification
   ↓
Resume

或者:

Failed
   ↓
Feedback
   ↓
Learning
   ↓
MethodUpdate
   ↓
NewDecision
   ↓
NewBehavior

因此行为Runtime不是孤立的一次性过程,而是ICAI持续运行循环中的一个核心阶段。


265.30 四级Runtime连接

截至本章,ICAI已经形成连续的Runtime结构:

第一层:IndividualRuntime

IndividualRuntimeIndividualRuntime

负责:

Individual
State
Knowledge
Capability
Goal

第二层:CognitiveRuntime

IndividualRuntime→CognitiveRuntimeIndividualRuntime \rightarrow CognitiveRuntime

负责:

Input
Object
State
Relation
Scene
Knowledge
CognitionResult

第三层:MatchingRuntime

CognitiveRuntime→MatchingRuntimeCognitiveRuntime \rightarrow MatchingRuntime

负责:

Need
Goal
Capability
Condition
Matching
MatchingResult

第四层:DecisionRuntime

MatchingRuntime→DecisionRuntimeMatchingRuntime \rightarrow DecisionRuntime

负责:

Method
Risk
Conflict
Candidate
Decision
DecisionResult

第五层:BehaviorRuntime

DecisionRuntime→BehaviorRuntimeDecisionRuntime \rightarrow BehaviorRuntime

负责:

Behavior
Action
Execution
Result
StateChange

于是形成:

IndividualRuntime→CognitiveRuntime→MatchingRuntime→DecisionRuntime→BehaviorRuntimeIndividualRuntime \rightarrow CognitiveRuntime \rightarrow MatchingRuntime \rightarrow DecisionRuntime \rightarrow BehaviorRuntime

这五个Runtime共同构成机器个体从“存在”到“认知”、从“匹配”到“决策”、从“决策”到“行为执行”的连续运行结构。


265.31 行为Runtime与完整ICAI循环

行为Runtime执行完成后,结果不会停止在Behavior层。

完整循环继续向后运行:

Behavior→Action→Execution→Result→StateChangeBehavior \rightarrow Action \rightarrow Execution \rightarrow Result \rightarrow StateChange

然后:

Result→Feedback→Memory→Experience→Learning→UpdateResult \rightarrow Feedback \rightarrow Memory \rightarrow Experience \rightarrow Learning \rightarrow Update

更新之后再次进入认知:

Update→CognitionUpdate \rightarrow Cognition

最终形成:

Cognition→Need→Goal→Capability→Matching→Method→Decision→Behavior→Action→Execution→Result→StateChange→Feedback→Memory→Experience→Learning→Update→CognitionCognition \rightarrow Need \rightarrow Goal \rightarrow Capability \rightarrow Matching \rightarrow Method \rightarrow Decision \rightarrow Behavior \rightarrow Action \rightarrow Execution \rightarrow Result \rightarrow StateChange \rightarrow Feedback \rightarrow Memory \rightarrow Experience \rightarrow Learning \rightarrow Update \rightarrow Cognition

这不是生成式模型循环,而是由对象、状态、关系、规则、方法、结果、记忆和经验构成的离散计算循环。


265.32 行为Runtime与MVC

行为Runtime进入Web管理系统时,可以采用统一MVC结构:

Browser→BehaviorController→BehaviorService→BehaviorEngine→BehaviorRuntimeBrowser \rightarrow BehaviorController \rightarrow BehaviorService \rightarrow BehaviorEngine \rightarrow BehaviorRuntime

执行结果:

BehaviorRuntime→BehaviorResult→Controller→ViewData→Smarty→HTMLBehaviorRuntime \rightarrow BehaviorResult \rightarrow Controller \rightarrow ViewData \rightarrow Smarty \rightarrow HTML

如果需要持久化:

BehaviorRuntime→DomainObject→Repository→MySQLBehaviorRuntime \rightarrow DomainObject \rightarrow Repository \rightarrow MySQL

因此完整结构为:

Browser
   ↓
Controller
   ↓
Service
   ↓
BehaviorEngine
   ↓
BehaviorRuntime
   ↓
Behavior
   ↓
Action
   ↓
Execution
   ↓
Result
   ↓
StateChange
   ↓
DomainObject
   ↓
Repository
   ↓
MySQL

页面展示则沿另一方向返回:

Result
   ↓
ViewData
   ↓
Smarty
   ↓
HTML
   ↓
Browser

265.33 行为Runtime与Smarty

Smarty仍然只负责表现层。

因此:

BehaviorRuntime≠SmartyBehaviorRuntime\neq Smarty

行为Runtime产生:

BehaviorResultBehaviorResult

Controller将其转换成:

ViewDataViewData

然后:

ViewData→Smarty→HTMLViewData \rightarrow Smarty \rightarrow HTML

例如页面可以显示:

当前行为:设备故障诊断

行为状态:Completed

动作:
1. ReadTemperature —— Completed
2. ReadPressure —— Completed
3. Diagnose —— Completed

结果:
TemperatureHigh

状态变化:
DeviceState:warning → maintenance

目标完成:
No

页面只是行为Runtime结果的可视化。


265.34 行为Runtime的核心边界

行为Runtime必须保持以下工程边界:

Behavior≠ActionBehavior\neq Action Action≠ExecutionAction\neq Execution Execution≠ResultExecution\neq Result Result≠FeedbackResult\neq Feedback Behavior≠LearningBehavior\neq Learning Behavior≠MaintenanceBehavior\neq Maintenance BehaviorRuntime≠BehaviorEngineBehaviorRuntime\neq BehaviorEngine BehaviorRuntime≠RepositoryBehaviorRuntime\neq Repository BehaviorRuntime≠MySQLBehaviorRuntime\neq MySQL BehaviorRuntime≠SmartyBehaviorRuntime\neq Smarty

同时:

BehaviorCompleted≠GoalCompletedBehaviorCompleted\neq GoalCompleted StateChange≠DatabaseUpdateStateChange\neq DatabaseUpdate

这些边界保证行为Runtime不会把行为、动作、执行、结果、状态和持久化混成一个对象。


265.35 行为Runtime完整模型

综合本章,可以得到:

BehaviorRuntime={Behavior,Action,Execution,Result,StateChange}BehaviorRuntime= \{ Behavior, Action, Execution, Result, StateChange \}

其核心过程为:

Behavior→Action→Execution→Result→StateChangeBehavior \rightarrow Action \rightarrow Execution \rightarrow Result \rightarrow StateChange

其输入来自决策:

DecisionResult→BehaviorRuntimeDecisionResult \rightarrow BehaviorRuntime

其输出进入反馈:

BehaviorRuntime→FeedbackBehaviorRuntime \rightarrow Feedback

其状态变化进入领域对象:

StateChange→DomainObjectStateChange \rightarrow DomainObject

其持久化进入Repository:

DomainObject→Repository→MySQLDomainObject \rightarrow Repository \rightarrow MySQL

其页面展示进入Smarty:

BehaviorResult→ViewData→Smarty→HTMLBehaviorResult \rightarrow ViewData \rightarrow Smarty \rightarrow HTML

最终形成完整的行为Runtime模型:

DecisionResult→Behavior→Action→Execution→Result→StateChange→Feedback\boxed{ DecisionResult \rightarrow Behavior \rightarrow Action \rightarrow Execution \rightarrow Result \rightarrow StateChange \rightarrow Feedback }

行为Runtime因此成为ICAI从**“决定做什么”进入“实际做什么”**的核心运行层,也是后续学习、经验积累、自我维护以及个体持续发展的实际行为入口。

Leave a Reply

Your email address will not be published. Required fields are marked *