Hi Alex, This sounds realy usefull. Perhaps it could go into the BioJava CVS tree under its own module? Do you have a URL for some JavaDoc so that we can have a browse?
Thanks, Matthew Alex Rolfe wrote: > This is an outline/overview for a LIMS/Workflow framework project. If > it sounds like the sort of thing that you're interested in using or > (better yet) helping with, please let me know. Most of the design and > some of the implementation are done and it's at the point where it can > almost be useful to people without much work. > > Many of us are familiar with writing LIMS software to track data from > laboratory or computational experiments through some process. The same > components tend to get written over and over and the same mistakes get > made too. A LIMS framework makes this task easier by providing common > functionality that lets you plug in simple, reusable components for > process-specific work. > > The lims is built around the idea of Materials, Events, Queues, and > Listeners. A Material is an object to represent a computational or > biological material that will be put through some process. Events are > objects that represent the results of some work. Queues are sets of > Materials waiting for a specific step in the process. A material can be > in one queue per process at any time. Listeners are objects that do the > actual work. Each Queue has a set of Listeners that process the > materials in the queue. > > In concrete terms, the lims system provides: > - a GUI for lims design. Instead of hooking up components in code, you > specify the process structure with a flowchart. The nodes in the > flowchart correspond to Queues. You specify what listeners go with each > queue. At each queue, at most one listener returns an Event to the > system which determines the Queue to which the Material is routed. > - a runtime engine. The engine calls the listeners that you provided at the > correct times with the appropriate materials. It also records the > state of the material and the history of the material. > - a reporting infrastructure to let end-users query the history and > status of the material. > > Right now, I'm using an SQL database for persistent storage of process > definitions and state and JMS/SonicMQ as the core of the engine. > Porting to other sql or jms implementations should be fairly easy. All > of the code is in java right now. Providing an interface to other > languages should be straightforward. It could be done either > with SOAP or http bindings or some other method of passing serialized > objects. > > The lims framework would be a separate project from biojava. I expect > that it would be used by many of the same people, but the purposes are > independent: process implementation vs. biological data representation. > > There's a longer description of the system design and some ideas about > other features at http://www-genome.wi.mit.edu/~arolfe/lims-notes.ps. > Questions, suggestions, etc. are welcome. > > > Alex > _______________________________________________ > Biojava-l mailing list - [EMAIL PROTECTED] > http://biojava.org/mailman/listinfo/biojava-l > _______________________________________________ Biojava-l mailing list - [EMAIL PROTECTED] http://biojava.org/mailman/listinfo/biojava-l
