What is Arom ?
Arom is a knowledge representation system, a generic tool for
modeling and exploiting knowledge. It is designed as a modular system that can
be used as a building block for building knowledge-based systems. Arom is based
an original knowledge representation model based on classes and relations (Arom
is the acronym of Associating Relations and Objects for Modeling).
A second originality of Arom is the presence of an algebraic
modeling language. Such a language allows one to write equations, constraints
and queries involving slots of both classes and associations. Declarative and
expressive, this language makes it possible to implement mechanisms for
exploiting knowledge such as constraint satisfaction and discrete-time
simulation, thus opening knowledge representing systems to a broader class of
applications.
The Arom project is far from being over but we think that the
result of our work, even if it is not polished in its current state, may be of
interest. For instance it has allowed us to build a Web knowledge server in
electro-myography in the context of a European project, and a Web knowledge
server for numerical solver choice in collaboration with the Dassault company.
For this reason, we have decided to publish Arom, while it is still evolving.
Arom is written in Java 1.2. In the long run, Arom might
become an open source project, so that other people can join us. However, this
project is still too much in its infancy to be worth releasing the sources. for
the time being, only the byte-compiled classes are published. The present
version of Arom contains the following components:
- The kernel, which is the core of the Arom system. The kernel allows the
construction of knowledge bases through a textual interface.
- The Integrated Modeling Environment (IME), a graphical tool for building
and manipulating tool representation, using class-association diagrams a
la UML (Unified Modeling Language).
- The algebraic modeling language (AML), with restricted functionalities.
In the present version, it only allows the definition of variables (attributes)
by equations and uses a simple algorithm for solving non-simultaneous sets
of algebraic equations.
In the short run, other functions will be added to Arom. In
particular, a Java Application Programming Interface will make it possible to
manipulate a knowledge base programmatically.