This API provides documentation for the packages and classes making up the Omegahat software distribution.

See:
          Description

Packages
org.omegahat.DataStructures.Data  
org.omegahat.DataStructures.Data.Viewers  
org.omegahat.DataStructures.Matrix  
org.omegahat.DataStructures.Trees  
org.omegahat.Environment.Compile Generic code underlying the dynamic compilation of classes.
org.omegahat.Environment.Console Basic shell/command-line interpreter front end for interactive language.
org.omegahat.Environment.Databases Variety of containers for Omegahat objects providing database facilities (storage and retrieval by keys).
org.omegahat.Environment.DataStructures Interfaces used by the language to implement extensible operator overloading, etc.
org.omegahat.Environment.Debugger Early work on providing debugging facilities.
org.omegahat.Environment.Debugger.ParserViewer Simple GUI viewer of the sub-expressions in a top-level task expression.
org.omegahat.Environment.GUI Incomplete Swing-based GUI front-end to the interactive interpreter.
org.omegahat.Environment.GUITools Collection of classes that allow Omega functions to be used as event callbacks.
org.omegahat.Environment.GUITools.MethodViewer Display of fields, methods, constructors of class(es).
org.omegahat.Environment.Interpreter The different evaluators, evaluator group managers and interfaces controlling the interactive language.
org.omegahat.Environment.IO Filters for processing directories, filenames, zip and Jar files.
org.omegahat.Environment.Language Basic language-level objects such as functions, closures, lazy evaluation classes, etc.
org.omegahat.Environment.Language.UserClasses Interpreted/user-level class facility in interactive language.
org.omegahat.Environment.lib.Language Collection of interpreted and compiled utility functions that can be dynamically added and removed to and from an evaluator to provide convenience facilities such as sequence functions, subset operations, Switch, time and Quote functions, etc.
org.omegahat.Environment.ObjectDataStructures S-like vector and list classes implemented succinctly in terms of Java objects rather than primitives.
org.omegahat.Environment.Parser.AntlrParser The ANTLR grammar for the current interactive language.
org.omegahat.Environment.Parser.Parse Data structures used by the parser to create expression trees.
org.omegahat.Environment.System Class controlling the interactive environment (class loaders, etc.)
org.omegahat.Environment.TaskManagement Classes to manage tasks, by manipulating queues of objects that implement the Task interface.
org.omegahat.Environment.Tools.ClassHierarchy GUI viewer for class relationships.
org.omegahat.Environment.Tools.ClassList Facilities for resolving and loading classes (given partially qualified class names) from URLs, regular directories, archives (zip and jar files), whether the entries be in the system classpath or not.
org.omegahat.Environment.Tools.DataScanner Quite general filters/tools to read data from streams.
org.omegahat.Environment.Tools.Factory Generic factory mechanism to be extended where a factory is needed.
org.omegahat.Environment.Tools.FileLocator Facilities for locating files from a collection of directories, archives, remote servers, etc.
org.omegahat.Environment.Tools.VariableExpansion Mechanism to expand shell-like variable references from a supplied table.
org.omegahat.Environment.Utils Convenient data structure classes that don't really belong anywhere else.
org.omegahat.Graphics.Devices The interfaces and classes defining output devices (including Components) and also graphics parameters.
org.omegahat.Graphics.Layouts Classes defining the region allocation, that is the layout facilities at the level of a single device (Component).
org.omegahat.Graphics.lib.Language Methods providing operator overloading (specificall [ and [[) in the interpreted Omegahat language for GraphicalContainerInt.
org.omegahat.Graphics.Plots High-level plotting classes that use the different org.omegahat.Graphics.Primitives, org.omegahat.Graphics.Layouts and org.omegahat.Graphics.Devices.
org.omegahat.Graphics.Plots.DataStructures Classes describing data contents used in particular plot types.
org.omegahat.Graphics.Plots.Examples Example applications and classes for using the Graphics.Plots classes.
org.omegahat.Graphics.Plots.Examples.Events  
org.omegahat.Graphics.Primitives Classes defining graphical objects in general, plus particular primitive objects, and related drawing primitives.
org.omegahat.Graphics.Utils Color utilities (parser factory) for graphics used by some GUI tools.
org.omegahat.Graphics.Viewers Classes for displaying not the plot, but the data structures which define the plot, that is, the graph hierarchy.
org.omegahat.Interfaces.Converters Basic interfaces for converting objects between systems.
org.omegahat.Interfaces.CORBA CORBA facilities for Java and interactive Omegahat languages.
org.omegahat.Interfaces.CORBA.Parser Extensions to basic parser to support CORBA method invocation with same syntax as local method calls.
org.omegahat.Interfaces.CORBA.TaskManagement Classes for managing distributed tasks through CORBA, dispatching tasks from an Omega TaskQueue.
org.omegahat.Interfaces.CORBA.Tools.InterfaceRepository Interface Repository contents viewer GUI.
org.omegahat.Interfaces.CORBA.Tools.NameServer Naming Service GUI viewer.
org.omegahat.Interfaces.CORBA.Tools.Support GUI Classes supporting CORBA tools in parallel packages.
org.omegahat.Interfaces.Managers Manager facility for conversion between objects in different systems.
org.omegahat.Models.Formulae.Expressions Data structures associated with model language parser.
org.omegahat.Models.Formulae.Parser Very early start on model language parser.
org.omegahat.Numerics.GeneticAlgorithms Interfaces and classes to perform operations using the Genetic Algorithm approach to combinatorial optimization and exploration.
org.omegahat.Numerics.LinearAlgebra Access to algorithms for common operations in linear algebra, and to classes for the inputs and outputs of these operations.
org.omegahat.Numerics.Optimizers A collection of interfaces and some basic classes to perform iterations in the context of optimization.
org.omegahat.Probability.Distributions Basic classes for parametric probability distributions, and specifically the Student T.
org.omegahat.Probability.Distributions.Native Implementation of the Student T distribution via JNI and the R source, if it is available on your machine.
org.omegahat.S.InterfaceManager.Converters Interfaces and classes used to generate converters that know how to convert objects to S; these allow users to define such conversion methods.
org.omegahat.S.InterfaceManager.Managers Specialization of the Interfaces.Managers class to S.
org.omegahat.XML.DataStructures Package defining data structures connecting XML information with classes used in other packages.
org.omegahat.XML.lib.Language Methods providing operator overloading (specificall [ and [[) in the interpreted Omegahat language for XML classes - Node, NodeList, attribute NodeMaps.
org.omegahat.XML.Readers Some readers for dataframes stored in XML dataframes, supporting both row and column oriented XML DTDs.
org.omegahat.XML.Validation Tools to validate an XML document using a non-terminating error handler so that all errors are displayed for the document rather than a single one and exit.

 

This API provides documentation for the packages and classes making up the Omegahat software distribution. The software is provided as part of the Omega project for statistical software. The initial distribution is intended to suggest the spirit of the project, point out some interesting directions, and perhaps provide tools that will be useful for those who want to explore these directions, particularly in the context of Java and the Web. We cordially invite anyone interested to try things out, look at the code, and if possible contribute to our work.

At the same time, we should make it clear that this is in no way a finished system for statistical computing, still less a competitor for the existing languages and systems. There are many exciting new things that can be done with the approaches explored here, but the details required to make it all a ``real'' system are only sketched. In the spirit of open-source software, we want to publicize the ideas early to get the maximum feedback and contributions from anyone interested.

Omegahat currently consists of three main parts:

  1. the Java classes and interfaces described in this API;
  2. an interactive language, accessible through the shell script omegahat, included with this distribution;
  3. inter-system interfaces, currently from S and R to CORBA and Java.

The Java classes are suitable building-blocks for others interested in statistical software based on Java. In particular, there are a number of interfaces and classes in which we have taken first steps at recasting familiar statistical computing concepts (e.g. data frames, graphics objects) into the new context. Here we especially need lots of feedback and suggestions for improvements, because the implementation of these concepts will be crucial for future work.

The interactive language can largely be seen at this stage as a way to develop Java-based software interactively. It provides convenient access to Java classes, both within Omegahat and generally, along with some features for defining global functions and data structures that are convenient for interactive computing. An introduction is available in a Postscript document.

The main packages described in this API are: