|
|
Cellular Automata
Modelling Language
|
|
|
|
|
CAML (Cellular Automata Modelling Language) is an
XML application for Cellular Automata (CA). A CA can be described
with an XML document. Such a document can be interpreted or translated
by software-generators.
This web site offers the Document Type Definition
(DTD), the documentation, an open
source library for parsing and interpreting CAML documents and
a little GUI for that library.
|
|
|
|
|
|
![](images/glider.gif)
|
|
introduction
|
|
|
|
When developing or applying Cellular Automata (CA) it is useful
to handle a specific CA on a more abstract level than the level
of programming languages or function-calls.
CAML is an XML application (i.e., it is described with XML). XML
applications are not traditional programmer-languages that specify
a computation flow. They are developed to specify and characterize
elements of an environment.
CAML abstracts CA components by adapted XML elements and supports
their hierarchical order within an XML document.
Every CA is built up by a hierarchical order of elements which represent
the different rules and properties.
This way a semantic model is constructed: the kind of order and
nesting of the elements represent the specific CA.
Because CAML is derived from XML, it 'inherits' the platform independency,
readability (for humans (text-based) and software (structured))
and the more general and abstract handling because it's independent
of the implementation (programming language).
Therefore, a CAML document can be exchanged between all software
simulators which possess a CAML interpreter or use libCAML.
|
|
|
|
|
|
![](images/glider.gif) |
|
documentation
|
|
|
|
Here you can get the DTD, a language reference and some
examples of CAML. |
|
|
|
Document Type Definition (version
0.4)
|
|
This is the DTD (a context-free grammar) for CAML according to
XML.
|
|
|
|
Documentation (version 0.4)
|
|
This document is a language reference describing all elements
of CAML.
|
|
|
|
Samples (version
0.4)
|
|
Some examples to get an imagination of CAML documents.
|
|
|
|
|
![top](images/sierp.gif) |
![](images/glider.gif) |
|
publication
|
|
|
|
C. Veenhuis, M. Köppen,
Document Oriented Modelling
of Cellular Automata,
Proc. 2nd International Conference on Hybrid Intelligent Systems
(HIS02),
Santiago, Chile, December 1 - 4, 2002
|
|
|
|
|
|
![](images/glider.gif) |
|
libCAML
|
|
|
|
libCAML is an open source library (GNU LGPL) providing the parsing
and interpreting of CAML documents.
It's written in C++ and successfully compiles on MS Windows (Borland
C++ Builder 5, MS Visual C++ 6), Linux (g++ compiler) and Cygwin
(g++ compiler).
No additional libraries or stuff are needed.
|
|
|
|
version 0.4 |
|
|
|
Binaries
|
|
The compiled binaries of the examples for Win32, Linux and Cygwin.
|
|
|
|
Source
|
|
The open source libCAML library (includes an API docu).
|
|
|
|
Samples
|
|
Examples of CAML documents (also contained in source archive
above).
|
|
|
|
|
|
![](images/glider.gif) |
|
CAML Viewer
|
|
|
|
CAML Viewer is an interpreter with a graphical user interface for
CAML documents.
It is open source according to the GNU GPL.
It's written with Borland C++ Builder 5 and thus a MS
Windows application.
At present there is no documentation for this software. But it
is simple so you can learn using it in 10 minutes while playing
around.
(Note: for recompiling you need the above libCAML source archive)
|
|
|
|
Interpreter (version
0.4)
|
|
|
|
|
![top](images/sierp.gif) |
![](images/glider.gif) |
|
impressum
|
|
|
|
Fraunhofer Institute for Production Systems and Design
Technology
Department Security and Testing Technology
Pascalstr. 8-9
10587 Berlin
Germany
Homepage |
|
|
|
|
|
Christian Veenhuis
veenhuis{AT}ipk.fhg.de
Homepage |
|
|
|
|
|
|
![top](images/sierp.gif) |
|
|