Functional division
The application is divided into four independent modules:
- a main menu
- that satisfies all the standard
expectations. It allows the user to start a new project and to
save, load or close an existing one. It should eventually have
a help section and should allow for customization of the
application.
- a project
- which consists of a number of
objects like processes, distributions, samples, models and
methods for model selection. They can be created, edited,
copied, saved and deleted at random.
All mathematical computations are done within the project
module.
- an editor
- that allows for easy analysis and
direct manipulation of all objects. Attributes are arranged in
a comprehensive hierarchy. Actions show immediate
response. Standard input methods like choice lists, buttons
and text fields are used when appropriate. It is also possible
to restore default values after a change.
- a plot
- where processes, samples, models, methods
and experiments can be observed and randomly selected for
analysis and manipulation. The execution of an experiment must
be observable on the plot. The graphical output must be of
scientific quality and available for print.
Communication between the menu, a plot, a project and the editor is
done in XML. This allows for independent implementation of the
different modules. The editor could be an HTML page. A plot could be a
Java applet. It is also possible to let the mathematical objects
communicate via XML. This helps to distribute calculations over a
network.
This first version of the application is a proof of concept and
hopefully not the final application. There are exceptions to the
XML-communication that should be eliminated. The programming
interfaces can be simplified. It should be possible to distribute
calculations over a network. The final idea is to have an open source
system for statistical analysis that can be customized and extended
much like the LATEX system, with packages and
front ends that can change with the purpose of the system.