|
|
BrainLeach
Architecture Diagram:
GIF
| |
Jump to:
Project Description | Capabilities
The name Brain Leach was tip of the tounge humor from Joe Gresham
regarding this functionality.
brainleach records session commands.
It keeps a basic, expandable
todo list (an [[HTN]]).
There is a current task context which is
defined as a subset of goals from the HTN.
The most precise
context is obtained by taking the current task context and
repeatedly applying the following rule: if all children of a node
are in the set, the parent is included and the children removed.
As atomized commands are recorded into the [[Atomized Command
List]], each terminal node in the HTN is associated with a
subsequence of the [[Atomized Command List]], called the [[Task
Script]], s.t. foreach element s_i in S exists s_j in S j>i s.t.
depends(S_j,S_i), and that the sequence is sufficient to achieve
the task.
These commands can then be reapplied against a system
automatically to reobtain the result.
It is possible to edit the
sequences ex post facto.
all instances of [[task script]] are stored in a database that can
be consulted for reference.
There are also added to the wiki.
Tasks in the HTN are associated with RT tickets.
Based on closing of tickets, preference relations, and possibly
judgements of the complexity and necessity of various tasks,
scores are computed for productivity that are fed into the score
system.
Possibly there should be visualization of the progress of the
systems in [[problemspace]] or [[setanta]].
There are checklist lookups and automated assistance.
The
computer can take over the completion of more complex tasks.
In
this way, [[task script]]s are automatically developed for various
tasks and added to a library.
The [[task script]]s are also added to the wiki in docbook style
formatting.
Comments are also solicited from the user, and the system often
asks the user to clarify what the previous steps accomplished.
The user is able to issue commands to interact with the task
database.
For now it only works off the shell and in emacs and possibly
screen, but in the future should be more responsive to using more
programs.
The problem is that we cannot currently record them.
brainleach gets Emacs input from manager::Records::Context.
Should have an interface for auto-posting to RT about what has
already been done.
Records all sessions, so as to provide the ability to review later
when that code is complete.
- brainleach - Model configuration as a directed graph, with commands as edges.
- brainleach should support an agentive behaviour where you make a user directory and give it sudo and then tell the FRDCSA about it, it logs in and begins configuring the machine to be a server.
- brainleach should monitor squid access logs in order to generate references.
- Have brainleach take its queue and data from elog.
- brainleach can use FURL as its documentation language.
- brainleach should make sure that every problem has something written about it - by recording those problems that don't have anything written about it.
- Get brainleach, study (the two are actually related) working well.
- Use brainleach to learn how to package systems.
Extend brainleach to be more powerful.
- Use brainleach to help to close tasks, and to record them, etc.
- Setup brainleach to start automatically.
- brainleach scripts in the wiki should link to downloadable or similar versions of the scripts, so they don't have to copy and paste.
- brainleach should run things through declassify
- brainleach should use Convert::Wiki to convert from docbook outputted HTML to the wiki.
- Setup brainleach?
- brainleach should have tab completion for previously entered tasks.
- Figure out way to have brainleach query timeout...
- brainleach or the backwatcher program should use constraint satisfaction techniques for debugging.
- packager could really make use of brainleach, eh!
- Extract an API for HTNs for brainleach.
- brainleach should integrate with seeker in order to systematically handle links.
seeker could benefit from the same HTN system.
- setanta can learn from brainleach how to solve certain problems.
- brainleach will assist in bringing people up to speed on a project, by recording the troubleshooting tree of the project.
This page is part of the FWeb package.
It derives from the
Robotics Institute projects page.
Last updated Mon Jan 15 08:33:43 CST 2007
.
|