diagnostic-problem-repair-fix

Class summary
diagnostic inherits from blackboard
fix inherits from blackboard
problem inherits from blackboard
repair inherits from blackboard
Method summary
fixes problem
handle-fix fix repair (problem problem) object-w-learning &key &allow-other-keys
handle-fix (fix fix) repair problem object-w-learning &key &allow-other-keys
issued-by problem
issued-by fix
open-problem? (problem problem)
print-object (diagnostic diagnostic) stream
print-object (repair repair) stream
print-object (problem problem) stream
print-object (fix fix) stream
problem fix
restart-data fix
restart-object object data &key &allow-other-keys
score repair
trigger diagnostic
trigger repair
trigger? (diagnostic diagnostic) trigger &key &allow-other-keys
trigger? (repair repair) trigger &key &allow-other-keys
problem   inherits from blackboard  [Class]

A problem is created by diagnostics to signal a failure or some inefficiency. Exceptionally it can also be created by repairs that do not trigger on problems. A problem is also a blackboard so that it can store extra data. The issued-by slot is automatically set by method handle-diagnosed-problems. The fixes slot is automatically set to the return value of repair-object and repair-problem

:issued-by    [Initarg]
:fixes    [Initarg]
issued-by    [Slot]

The object that created this problem, i.e. the diagnostic.

fixes    [Slot]

fixes of this problem

fixes   problem  [Generic function]

Returns and (with setf) changes the fixes of the specified problem

issued-by   problem  [Generic function]

Returns and (with setf) changes the issued-by of the specified problem

diagnostic   inherits from blackboard  [Class]

Base class for diagnostics.

:trigger    [Initarg]
trigger    [Slot]

A trigger specifies to which notification the diagnostic should respond. It can be a single symbol or a (nested) list of symbols. It is also possible to use a variable (a symbol starting with ?) which can match to any symbol or list. A trigger should respond to at least one notification somewhere, otherwise the diagnostic will never run

trigger   diagnostic  [Generic function]

Returns and (with setf) changes the trigger of the specified diagnostic

repair   inherits from blackboard  [Class]

Base class for a repair.

:trigger    [Initarg]
:score    [Initarg]
trigger    [Slot]

A trigger specifies to which notification the repair responds. It can be a single symbol or a (nested) list of symbols. It is also possible to use a variable (a symbol starting with ?) which can match to any symbol or list. Normally a trigger should respond to at least one notification somewhere.

score   repair  [Generic function]

Returns and (with setf) changes the score of the specified repair

trigger   repair  [Generic function]

Returns and (with setf) changes the trigger of the specified repair

fix   inherits from blackboard  [Class]

Fixes are created by repairs

:repair :issued-by    [Initarg]
:problem    [Initarg]
:restart-data    [Initarg]
issued-by    [Slot]

pointer to the repair

problem    [Slot]

pointer to the repaired problem

restart-data    [Slot]

restart and with what data (can be t also)

restart-data   fix  [Generic function]

Returns and (with setf) changes the restart-data of the specified fix

problem   fix  [Generic function]

Returns and (with setf) changes the problem of the specified fix

issued-by   fix  [Generic function]

Returns and (with setf) changes the issued-by of the specified fix

restart-object   object data &key &allow-other-keys  [Generic function]

overload for allowing to restart an object

open-problem?   (problem problem)  [Method]
handle-fix   fix repair (problem problem) object-w-learning &key &allow-other-keys  [Method]
trigger?   (diagnostic diagnostic) trigger &key &allow-other-keys  [Method]
trigger?   (repair repair) trigger &key &allow-other-keys  [Method]
handle-fix   (fix fix) repair problem object-w-learning &key &allow-other-keys  [Method]
print-object   (diagnostic diagnostic) stream  [Method]
print-object   (repair repair) stream  [Method]
print-object   (problem problem) stream  [Method]
print-object   (fix fix) stream  [Method]