Class summary | |
---|---|
process | inherits from tree-node and blackboard |
process-result | inherits from blackboard |
task | inherits from tree, blackboard and configuration |
Method summary | |
---|---|
continue-process | process process-label task owner |
find-data | (process-result process-result) (label t) &rest rest &key omit-owner |
find-data | (process process) (label t) &rest rest &key omit-owner |
find-process | thing label |
input | process |
label | process |
label | task |
owner | process-result |
owner | process |
owner | task |
process | process-result |
processes | task |
results | process |
results | task |
run-next-process | task |
run-process | process process-label task owner |
score | process-result |
status | process |
task | process |
unfinished-processes | task |
Function summary | |
---|---|
continue-task | task &key process-label top-only |
make-process-result | score data &key (type (quote process-result-w-learning)) process |
restart-process | task process process-label &key data |
run-task | task &key n-results |
:score | [Initarg] |
:process | [Initarg] |
process | [Slot] |
pointer to the process that produced the result
Returns and (with setf) changes the process of the specified process-result
Returns and (with setf) changes the process of the specified process-result
:task | [Initarg] |
:label | [Initarg] |
:status | [Initarg] |
:input | [Initarg] |
:results | [Initarg] |
status | [Slot] |
track of processing of this node '(continue run create)
input | [Slot] |
the input result from the previous process
results | [Slot] |
a list of all results of run/continue the process
Returns and (with setf) changes the results of the specified process
Returns and (with setf) changes the status of the specified process
:label | [Initarg] |
:processes | [Initarg] |
:unfinished-processes | [Initarg] |
:owner | [Initarg] |
:results | [Initarg] |
label | [Slot] |
something like production, interpretation etc
processes | [Slot] |
linear order of processes to run e.g.
'(conceptualize produce ...)
unfinished-processes | [Slot] |
queue of unfinished processes
owner | [Slot] |
he who owns the task, normally some agent
results | [Slot] |
all process-results of final processes ever obtained in this task
Returns and (with setf) changes the unfinished-processes of the specified task
Returns and (with setf) changes the processes of the specified task
called for executing a process, returns a list of process-result (should be ordered by score)
continues a process, same as run except for that run has already been called once on this process
retrieves the process from a process result or process and parents
takes the next process from the unfinished-processes queue and runs it returns the results and the process run
go through the data of the process and then the data of parent processes (through input)
go through the data of the process and then the data of parent processes (through input)
makes a process result the default type is with learning
high level function for running a task by running/continuing unfinished processes returns the results of finished processes and the processes themselves finished processes are those last in (processes task) which returned results. n-results -- only get the first n results (can return more results, but stops as soon as n-results is reached)
fetches relevant processes, adds them to (unfinished-processes task) calls run-task 1) all processes (and (null process-label) (null top-only)) 2) just the top (and (null process-label) top-only ) 3) just processes with process-label (and process-label top-only) 4) all processes with process-label and their children (and process-label (null top-only)) Notice1: if process-label is specified really all processes with that label are continued Notice2: if you want to continue one specific process it is probably easier you fetch it and add it to unfinished-processes yourself
restart is not really a restart. All that happens is that the relevant process-result is fetched from the parent process (of process) with process-label and then this is used to create a new process branch which is appended to unfinished-processes returns the new process Note: for technical reasons you CANNOT restart the first process, just create a dummy process to restart your first process (you can use the one below)