. Search the site
FRDCSA | internal codebases | BrainLeach

BrainLeach

Architecture Diagram: GIF

Jump to: Project Description | Capabilities

Project Description

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.

Capabilities

  • 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 .