Todo for the OpenAI Integrated Development Environment (IDE)
What we've got so far
Currently the GUI Subproject has the following features:
Feature | Percent done |
Basic editing functions for a neuralnet.
(Create Network, add/remove layers and neurons, change weights)
|
90% |
Scrolling for the network topology pane
|
done |
Zooming for the network topology pane
|
done |
Graphic plotter
(Errorgraph)
| 80% |
Loading/saving data
(neuralnet, TrainingSets, workspace)
| 80% |
Editing TrainingData
(Table Editor for float-values)
| 80% |
Propertysystem
(Allows to display/change livevalues of
the GUI- and dataobjects)
| 75% |
Run a neuralnet
(training, running, errorgraph)
| 50% |
Integration of a script-language
(currently BeanShell, Scripteditor)
| 50% |
How can u help us?
As you see above, there is still a lot of work to do, to get a
basic version of the IDE done. In the following list you'll
see what we need and whats the priority of the tasks:
If you think you can do one of these tasks, write a mail to Thomas Weber
Tasks to be finished to get the first version on the road
Feature | Priority (9=max) |
Basic preferences/settings dialog
Should be a table-like editor, easy to configure and extend.
|
3 |
Show me the future !
After the first public release of the IDE, we want to extend it step by step.
Some advanced features will be needed then.
Feel free to recommend ways to achieve some
of these longterm goals...
Maybe you know some out-of-the-box API's we could use here, also.
Advanced features for future releases
You should take a look into the actual version of the proposal for
OpenAI core services, also.
- Generic PlugIn API
The GUI should be extendable via PlugIns. PlugIns should
be recognized at startup of the application and they have to be dynamically
loaded and integrated. PlugIns can be compiled independent of the mainapplication.
Possible PlugIn types:
-
TrainingData-Editors.
Different editors to view/edit trainingdata. i.e.: Bitmapeditor, Binaryeditor
-
Filters/converters for TrainingData.
PlugIns to load/save different types of
data. i.e.: Spreadsheet-files, plain ascii,
csv, SQL-Databases
-
Scriptintegration
In the first version there will be a menu to call
scripts. Later, it would be handy to bind scripts to toolbars
and context menus. The user should be able to write and
integrate scripts so we'll need toolbar and menueditors
as well as a framework thats able to do the binding. The
framework should be abstract and not fixed to BeanShell. Maybe
we could add other scripting engines also (i.e. Jython, Jruby). To
achieve 'typesafe' bindings (i.e. for context menus) we need a
way to use descriptors for each script (prefered: a XML-file
to describe a scripts input/output and usage).
- Other networks/AI types
The goal of OpenAI is to develope a common base for all kind
of AI-tools. To achieve this, the GUI must have a
lowlevel-PlugIn mechanism, also. I dont think we can have a
whole network-type (including visualisation and editing)
compiled into a single PlugIn. What we need here is a
module-API.
Possible Modules:
- NeuralNet. The hardcoded neuralnet should be changed
to a module, later
- Other neuralnet-types
- Genetic Algorithm Development and visualisation (tough one)
- Controller for thornhalo's agent-framework
- Whatever you want :-)
Last changed: T.Weber 05/02/02