From: Joerg Heitkoetter (joke@ls11.informatik.uni-dortmund.de)
Date: Fri Mar 19 1993 - 17:08:46 UTC
Dear folks:
find enclosed the README and *nix man(1) page of HODGE-C, a cellular-
automata simulator, including some colorful animation sequences.
It has been posted to comp.sources.misc, and will be made available
very soon (See AVAILABILITY below).
Enjoy!
-joke
HODGE-C:
--------
HODGE-C is a (`mostly ANSI') C language implemenatation of
Gerhard & Schuster's hodge-podge machine. It implements a class
of cellular automata, that resemble very closely autocatalytic
chemical reactions, like for example, the Belousov-Zhabotinskii (BZ)
reaction.
For an introductory article on hodge-podge see:
A.K.Dewdney's Computer Recreations column, in Scientific American,
August 1988.
HODGE-C is distributed free of charge and the other terms of the GPL, ie.
the GNU General Public License.
HODGE-C v0.98j is available via ftp from lumpi.informatik.uni-dortmund.de
(129.217.36.140). Log on with user name "ftp" and give your full e-mail
address as password. The file hodge-c-0.98j.tar.Z in directory /pub/CA/src
contains the complete software and documentation.
HODGE-C v0.98j was posted to comp.sources.misc, and thus is available
from every newsarchive server close to you.
(In Germany ftp to ftp.germany.eu.net, and see directory
/pub/newsarchive/comp.sources.misc)
For more information contact:
Joerg Heitkoetter
(joke@ls11.informatik.uni-dortmunde.de)
c/o Systems Analysis Group, LSXI
Department of Computer Science ////
University of Dortmund UNI DO//
P.O. Box 500 500 ___ ////
4600 Dortmund 50 \*\\///
Germany \\\\/
---- save the following to a file and say: more/less file ----------------
HODGE-C(1) USER COMMANDS HODGE-C(1)
NAME
hodge - an implementation of Gerhard & Schuster's hodge-
podge machine
SYNOPSIS
hodge [ _o_p_t_i_o_n_s ]
[-A, --animation-file-name <_n_a_m_e>]
[-C, --color-map-file-name <_n_a_m_e>]
[-D, --dump-data-file-name <_n_a_m_e>]
[-F, --number-of-frames <_n_u_m_b_e_r>]
[-G, --groth-rate <_n_u_m_b_e_r>]
[-J, --ill-cells-denominator <_n_u_m_b_e_r>]
[-K, --infected-cells-denominator <_n_u_m_b_e_r>]
[-M, --monitor-process <_p_r_o_c_e_s_s>]
[-N, --number-of-cell-states <_n_u_m_b_e_r>]
[-P, --plot-file-name <_n_a_m_e>]
[-S, --size-of-grid <_s_i_z_e>]
[-T, --time-steps <_n_u_m_b_e_r>]
[-X, --start-of-film <_t_i_m_e_s_t_e_p>]
[-Y, --skip-between-takes <_n_u_m_b_e_r>]
[-b, --batch]
[-d, --no-dump]
[-f, --number-of-dumps <_n_u_m_b_e_r>]
[-g, --gnuplot-data-format]
[-h, --help]
[-i, --idl-data-format]
[-m, --moore-neighbourhood]
[-n, --no-film]
Version 0.98j Last change: 9 March 1993 1
HODGE-C(1) USER COMMANDS HODGE-C(1)
[-o, --on-line-visualization]
[-s, --seed-for-random <_s_e_e_d_v_a_l_u_e>]
[-t, --torus]
[-v, --version]
[-w, --warranty]
[-x, --start-of-dump <_t_i_m_e_s_t_e_p>]
[-y, --skip-between-dumps <_n_u_m_b_e_r>]
DESCRIPTION
hodge implements a class of cellular automata (CA), that are
also known as hodge-podge machines. They have caught great
attention when being discussed in A.K. Dewdney's ``Computer
Recreations'' column in _S_c_i_e_n_t_i_f_i_c
_A_m_e_r_i_c_a_n. hodge, resem-
bles the currently closest to reality simulation of the
Belousov-Zhabotinskii (BZ) reaction, the most complex anor-
ganic, oscillating reaction; but hasn't been invented for
this special purpose though (refer to the BIBLIOGRAPHY sec-
tion below).
hodge's input and output streams, and all of it's default
parameters may be changed using various options (see the
OPTIONS section below).
By default hodge generates 3 types of data files:
o+ a single _p_l_o_t _f_i_l_e, containing a per line
statistical
shapshot of the CA's internal state
o+ one or more _d_u_m_p _f_i_l_e(_s), each containing a
snapshot of
all cell values of the CA, in either Gnuplot (line-
oriented) or IDL (block-oriented) format, and
o+ one or more _a_n_i_m_a_t_i_o_n _d_a_t_a
_f_i_l_e(_s), each containing a
snapshot of all cell values of the CA, written in
_p_o_r_t_-
_a_b_l_e _p_i_x_m_a_p _f_o_r_m_a_t, using as much
colors, as specified
with the `--number-of-cell-states' option.
Please, refer to the FORMATS section below.
ANIMATION
hodge's main purpose is to generate the previously mentioned
shapshot files for `making movies'. All you need is, eg. E.
I. du Pont de Nemours & Company's ImageMagick PD software
(available via _a_n_o_n_y_m_o_u_s _f_t_p from
export.lcs.mit.edu, as
Version 0.98j Last change: 9 March 1993 2
HODGE-C(1) USER COMMANDS HODGE-C(1)
file `contrib/ImageMagick.tar.Z.') using the package's ani-
mate(1) command you'll soon see BZ waves move across the
grid. An example for this is given in the hodge/movie
folder of the HODGE-C distribution.
A different approach is to use IDL from Research Systems,
Inc. Boulder, CO, USA. An example for this purpose is given
in the hodge/idl folder of the HODGE-C distribution.
An animation companion to pixmon(1) called playmate(1) is
also in the making, and will be distributed in near future
(refer to the AVAILABILITY section below). Its application
is rather simple: all there is to do is to include a ``tee-
log'' in the `--monitor-process' eg.:
--monitor-process 'tee >pmdata.pix | pixmon ...'
to collect pixmon(1) data, that is later turned into
animated pixmaps by playmate(1).
A final, powerful and low cost solution for animation is to
install the KHOROS visualization package on your system. It
comes for free from the University of New Mexico, and is
better than most commercial products. KHOROS also features
an easy to use _g_r_a_p_h_i_c_a_l
_p_r_o_g_r_a_m_m_i_n_g _i_n_t_e_r_f_a_c_e called
CAN-
TATA and is very easy to learn for beginners in
_s_c_i_e_n_t_i_f_i_c
_v_i_s_u_a_l_i_z_a_t_i_o_n. KHOROS features a bunch of
converters to it's
internal VIFF(5) format, that is easily generated from
hodge's dump (eg. asc2viff(1)) and animation data files (eg.
pbm2viff(1), rast2viff, raw2viff(1), etc.)
OPTIONS
-A, --animation-file-name _f_i_l_e_n_a_m_e
Set the animation data file name pattern. (Defaults to
_h_o_d_g_e-%_0_0_0_3_d._p_p_m.)
-C, --color-map-file-name _f_i_l_e_n_a_m_e
Set the color map file name. (Defaults to _h_o_d_g_e._m_a_p.)
-D, --dump-data-file-name _f_i_l_e_n_a_m_e
Set the data file name pattern. (Defaults to _h_o_d_g_e-
%_0_0_0_3_d._d_m_p.)
-F, --number-of-frames _n_u_m_b_e_r
Set the number of frames, ie. the number of animation
data files to write.
-G, --groth-rate _n_u_m_b_e_r
The rate the value of an infected cell increases;
described as parameter g in A.K. Dewdney's article
(defaults to 25).
Version 0.98j Last change: 9 March 1993 3
HODGE-C(1) USER COMMANDS HODGE-C(1)
-J, --ill-cells-denominator _n_u_m_b_e_r
This parameter is used in the equation A/k1 + B/k2,
where A is the count of all ILL neighbour cells and B
is a counter of all INFECTED neighbour cells; this is
parameter k1 (k2) in A.K. Dewdney's article (defaults
to 2).
-K, --infected-cells-denominator _n_u_m_b_e_r
This parameter is used in the equation A/k1 + B/k2,
where A is the count of all ILL neighbour cells and B
is a counter of all INFECTED neighbour cells; this is
parameter k2 (k1) in A.K. Dewdney's article (defaults
to 3).
-M, --monitor-process _p_r_o_c_e_s_s
Set a monitor process; hodge opens a pipe to the given
process and writes it's CA's contents to this pipe,
enabling the process to visualize the incoming data.
Defining a monitor process, implies the `--on-line-
visualization' option. (See the OPTION SUMMARY for the
process default.)
-N, --number-of-cell-states _n_u_m_b_e_r
Set the number of states a SANE cell has to go through,
being INFECTED to finally become an ILL cell (defaults
to 100).
-P, --plot-file _f_i_l_e_n_a_m_e
Plot data will go to _f_i_l_e_n_a_m_e (defaults to
_h_o_d_g_e._p_l_t).
-S, --size-of-grid _s_i_z_e
Set the CA's grid size, ie. the grid's _x and _y dimen-
sions (_x=_y).
-T, --time-steps _n_u_m_b_e_r
Run the simulation for _n_u_m_b_e_r of timesteps.
-X, --start-of-film _t_i_m_e_s_t_e_p
Set the time step, when to start writing animation
data.
-Y, --skip-between-takes _n_u_m_b_e_r
Set the amount of timesteps to pass between successive
animation data takes.
-b, --batch
Run hodge in batch mode, ie. don't prompt the user for
any input; and don't produce any user notification out-
put.
-d, --no-dump
Don't write any dump files.
Version 0.98j Last change: 9 March 1993 4
HODGE-C(1) USER COMMANDS HODGE-C(1)
-f, --number-of-dumps _n_u_m_b_e_r
Set the number of dump files to write.
-g, --gnuplot-data-format
Set the _d_u_m_p _f_i_l_e _f_o_r_m_a_t to Gnuplot
(default).
-h, --help
Print a usage message containing all options.
-i, --idl-data-format
Set the _d_u_m_p _f_i_l_e _f_o_r_m_a_t to IDL.
-m, --moore-neighbourhood
Use a _M_o_o_r_e _n_e_i_g_h_b_o_u_r_h_o_o_d,
during computation of the
CA's next state, by default a _V_o_n-_N_e_u_m_a_n_n
_n_e_i_g_h_b_o_u_r_h_o_o_d
is used, ie. to North, East, South and West, North-
East, South-East, South-West and North-West are added,
when using this flag.
-n, --no-film
Don't write any animation data files.
-o, --on-line-visualization
Start the process given with the `--monitor-process'
option, and display the CA's contents on each time
step. (Note: you need either the pixmon(1) facility,
or an appropriate double.)
-s, --seed-for-random _s_e_e_d _v_a_l_u_e
Set the random number generator's seed with the integer
_s_e_e_d _v_a_l_u_e.
-t, --torus
Make the 2D space of the CA grid borderless, ie. the 2D
grid is folded to a 3D torus.
-v, --version
Print a version and copyright message.
-w, --warranty
Print a warranty information message.
-x, --start-of-dump _t_i_m_e_s_t_e_p
Set the time step, when to start dumping.
-y, --skip-between-dumps _n_u_m_b_e_r
Set the amount of timesteps to pass between successive
dumps.
OPTION SUMMARY
To give no option at all is the same as to give the
Version 0.98j Last change: 9 March 1993 5
HODGE-C(1) USER COMMANDS HODGE-C(1)
following options:
hodge.map'
--monitor-process 'pixmon -dx 128 -dy 128 -
scale 5 -cmap
--animation-file-name hodge-%0003d.ppm
--color-map-file-name hodge.map
--number-of-frames 1
--start-of-film 1
--skip-between-takes 1
--dump-data-file-name hodge-%0003d.dmp
--gnuplot-data-format
--start-of-dump 1
--skip-between-dumps 1
--time-steps 1000
--grid-size 128
--number-of-cell-states 100
--ill-cells-denominator 2
--infected-cells-denominator 3
--groth-rate 25
--plot-file-name hodge.plt
--seed-for-random 12345678
FORMATS
The only INPUT FORMAT hodge acknowledges, is a _c_o_l_o_r
_m_a_p
_f_i_l_e, using 256 colors with the following RGB format:
# File: demo.map
# Creator: joke
# <- this is a comment line: '#' in the 1st column
<red intensity 0> <green intensity 0> <blue intensity 0>
<red intensity 1> <green intensity 1> <blue intensity 1>
<red intensity 2> <green intensity 2> <blue intensity 2>
...
Version 0.98j Last change: 9 March 1993 6
HODGE-C(1) USER COMMANDS HODGE-C(1)
<red intensity 255> <green intensity 255> <blue intensity 255>
Thus a non-commented color map file consist of 256 lines
each one containing such a color description. Eg. to get a
greyscale `color' map, simply use the same intensities for
all colors.
The OUTPUT FORMATS are as follows:
o+ The _p_l_o_t _f_i_l_e _f_o_r_m_a_t is precisely
specified as:
<timestep 0> <# sane> <# infected> <# ill> <percentage of
infected cells>
<timestep 1> <# sane> <# infected> <# ill> <percentage of
infected cells>
<timestep 2> <# sane> <# infected> <# ill> <percentage of
infected cells>
...
<timestep n> <# sane> <# infected> <# ill> <percentage of
infected cells>
on a per line base, with <timestep 0> running from 1 to n,
the latter being specified by the `--time-steps' option.
o+ The _d_u_m_p _f_i_l_e _f_o_r_m_a_t depends on
whether the Gnuplot data
file format, or the IDL data file format has been chosen,
with the first being the default, when no user-
specification via run-time option has taken place.
o+ The Gnuplot (line-oriented) data file format:
<xcell index 0> <ycell index 0> <xycell value 0,0>
<xcell index 1> <ycell index 0> <xycell value 1,0>
<xcell index 2> <ycell index 0> <xycell value 2,0>
...
<xcell index n> <ycell index 0> <xycell value n,0>
<xcell index 0> <ycell index 1> <xycell value 0,0>
<xcell index 1> <ycell index 1> <xycell value 1,1>
<xcell index 2> <ycell index 1> <xycell value 2,1>
...
<xcell index n> <ycell index 1> <xycell value n,1>
...
<xcell index n> <ycell index n> <xycell value n,n>
o+ The IDL (block-oriented) data file format:
<xcell-index 0>
<xcell-index 1>
<xcell-index 2>
...
<ycell-index 0>
<ycell-index 1>
<ycell-index 2>
Version 0.98j Last change: 9 March 1993 7
HODGE-C(1) USER COMMANDS HODGE-C(1)
...
<xycell value 0,0>
<xycell value 1,0>
<xycell value n,0>
...
<xycell value n,n>
o+ The _a_n_i_m_a_t_i_o_n _f_i_l_e _f_o_r_m_a_t
is the portable pixmap format,
as defined by _J_e_f_f _P_o_s_k_a_n_z_e_r for his
bitmap conversion
collection pbmplus. I thus direct the reader to the
appropriate manual page(s) of that package, ie.
pbmplus(1), and ppm(5).
EXAMPLES
The following are two examples displaying the dumps of a _2_x_2
grid:
The Gnuplot data file format:
1 1 0
1 2 10
2 1 37
2 2 100
The IDL data file format:
1
2
1
2
1
2
1
2
0
10
37
100
FILES
Unless specified otherwise hodge reads in the first, and
writes the following files at run-time:
hodge.map _d_e_f_a_u_l_t _c_o_l_o_r _m_a_p
Version 0.98j Last change: 9 March 1993 8
HODGE-C(1) USER COMMANDS HODGE-C(1)
hodge.plt _p_l_o_t _d_a_t_a _f_i_l_e
hodge-xyz.ppm _a_n_i_m_a_t_i_o_n _d_a_t_a
_f_i_l_e(_s) _i_n _p_p_m _f_o_r_m_a_t
hodge-xyz.dmp _d_u_m_p _d_a_t_a _f_i_l_e(_s) _i_n
_e_i_t_h_e_r _G_n_u_p_l_o_t _o_r _I_D_L
_f_o_r_m_a_t
The distribution of HODGE-C contains, besides the usual
source and makefiles, the following files:
INSTALL _h_i_n_t_s _f_o_r
_i_n_s_t_a_l_l_a_t_i_o_n _o_f hodge _o_n _y_o_u_r
_s_y_s_t_e_m
configure _C _s_h_e_l_l _s_c_r_i_p_t _t_o
_c_o_n_f_i_g_u_r_e hodge _f_o_r _y_o_u_r
_s_y_s_t_e_m
config/*.cf _v_a_r_i_o_u_s _s_y_s_t_e_m'_s
_c_o_n_f_i_g_u_r_a_t_i_o_n _f_i_l_e_s
contrib/infekt2.c _M_a_r_t_i_n _G_e_r_h_a_r_d'_s
_o_r_i_g_i_n_a_l _s_o_u_r_c_e
cmaps/*.map _v_a_r_i_o_u_s _c_o_l_o_r _m_a_p_s
khoros/README _h_i_n_t_s _f_o_r _m_a_k_i_n_g
_m_o_v_i_e_s _w_i_t_h KHOROS
khoros/movie _C _s_h_e_l_l _s_c_r_i_p_t _t_o
_r_u_n hodge
khoros/bz-*.vif _d_e_m_o _a_n_i_m_a_t_i_o_n
_d_a_t_a
magick/README _h_i_n_t_s _f_o_r _m_a_k_i_n_g
_m_o_v_i_e_s _w_i_t_h IMAGEMAGICK
magick/movie _C _s_h_e_l_l _s_c_r_i_p_t _t_o
_r_u_n hodge
magick/bz-*.gif _d_e_m_o _a_n_i_m_a_t_i_o_n
_d_a_t_a
magick/gif2vif _s_h_e_l_l _s_c_r_i_p_t
_c_o_n_v_e_r_t_i_n_g _G_I_F _t_o _V_I_F_F
_f_i_l_e_s
idl/README _h_i_n_t_s _f_o_r _m_a_k_i_n_g
_m_o_v_i_e_s _w_i_t_h IDL
idl/idemo _C _s_h_e_l_l _s_c_r_i_p_t _t_o _r_u_n
hodge
idl/iload _s_h_e_l_l _s_c_r_i_p_t _t_h_a_t
_u_n_c_o_m_p_r_e_s_s_e_s _a_n_d _l_o_a_d_s
_i_d_a_t_a._Z
idl/idata.Z _d_e_m_o _a_n_i_m_a_t_i_o_n
_d_a_t_a
typ? _d_e_m_o _C _s_h_e_l_l _s_c_r_i_p_t
_t_o _p_r_o_d_u_c_e _t_y_p_e #? (_1-_4) _p_l_o_t
_f_i_l_e_s
typ?.gnu gnuplot(1) _c_o_m_m_a_n_d _f_i_l_e
_t_o _p_r_o_d_u_c_e _2_D _a_n_d _3_D _p_l_o_t_s
BUGS
hodge has even more options than ls.
The pseudo code given in the _S_c_i_e_n_t_i_f_i_c
_A_m_e_r_i_c_a_n article
contains a subtle bug: Dewdney confused the meaning of A and
B, ie. he says ``A counts the infected neighbours and B the
ill ones,'' but it's the other way round. For the
interested, _M_a_r_t_i_n _G_e_r_h_a_r_d'_s original
ATART ST version of
the hodge-podge machine is included in this distribution.
ALGORITHM
Due to this confusion I give here the correct algorithm core
in pseudo code:
foreach cell do
A := count of ill neighbour cells // range: [0..8]
B := count of infected neighbour cells // range: [0..8]
S := value of all neighbour cells + value of cell // range:
[0..8*n]
Version 0.98j Last change: 9 March 1993 9
HODGE-C(1) USER COMMANDS HODGE-C(1)
case state(cell) of
SANE:
begin
newval := A/k1 + B/k2
end
INFECTED:
begin
B := B + 1 // count self (sic!)
newval := S/B + g // ...else B could be zero
end
ILL:
begin
newval := 0 // 0 means SANE
end
esac
if newval > MAXVALUE // number-of-cell-states
option (=n)
value(cell) := 0
else
value(cell) := newval
od
BIBLIOGRAPHY
BZ specific publications:
A.K. Dewdney, Computer Recreations, _S_c_i_e_n_t_i_f_i_c
_A_m_e_r_i_c_a_n,
August, 1988.
Stefan C. Mueller, Theo Plesser and Benno Hess, The Struc-
ture of the Core of the Spiral Wave in the Belousov-
Zhabotinskii Reaction, _S_c_i_e_n_c_e, 230(4726), November, 1985.
Stefan C. Mueller, Theo Plesser and Benno Hess, Three-
dimensional Representation of Chemical Gradients,
_B_i_o_p_h_y_s_i_-
_c_a_l _C_h_e_m_i_s_t_r_y, February, 1987.
Cellular automata theory and practice:
D. Farmer, T. Toffoli and S. Wolfram, _C_e_l_l_u_l_a_r
_A_u_t_o_m_a_t_a,
North-Holland, Amsterdam, 1984.
S. Wolfram, _T_h_e_o_r_y _a_n_d
_A_p_p_l_i_c_a_t_i_o_n_s _o_f _C_e_l_l_u_l_a_r
_A_u_t_o_m_a_t_a,
World Scientific Publishing, Singapore, 1986.
Christopher G. Langton, _A_r_t_i_f_i_c_i_a_l
_L_i_f_e, Addison-Wesley,
Redwood City, CA, 1989. (The Proceedings of an Interdisci-
plinary Workshop on the Synthesis and Simulation of Living
Systems held September, 1987 in Los Alamos, New Mexico.)
Version 0.98j Last change: 9 March 1993 10
HODGE-C(1) USER COMMANDS HODGE-C(1)
Christopher G. Langton, et al., _A_r_t_i_f_i_c_i_a_l
_L_i_f_e _I_I, _A
_p_r_o_c_e_e_d_i_n_g_s _v_o_l_u_m_e _i_n _t_h_e
_S_a_n_t_a _F_e _I_n_s_t_i_t_u_t_e _S_t_u_d_i_e_s
_i_n _t_h_e
_S_c_i_e_n_c_e _o_f _C_o_m_p_l_e_x_i_t_y,
Addison-Wesley, Reading, MA, 1990.
(Proceedings of the Workshop on Artificial Life held Febru-
ary, 1990 in Santa Fe, New Mexico.)
Introductory books:
Paul Davies, _C_o_s_m_i_c _B_l_u_e_p_r_i_n_t,
Heinemann, London, UK, 1988.
John Briggs and F. David Peat, _A_n
_I_l_l_u_s_t_r_a_t_e_d _G_u_i_d_e _t_o _C_h_a_o_s
_T_h_e_o_r_y _a_n_d _t_h_e _S_c_i_e_n_c_e _o_f
_W_h_o_l_e_n_e_s_s, Harper & Row, New York,
NY 1989.
SEE ALSO
gnuplot(1), imagemagick(1), khoros(1), pbmplus(1), pix-
mon(1), playmate(1), xv(1), ppm(5)
AUTHOR
Copyright (C) 1993 by Joerg Heitkoetter
Systems Analysis Group, University of Dortmund, Germany.
Send bugs, comments, etc., to (joke@ls11.informatik.uni-dortmund.de).
CREDITS
I'd like to thank _J_o_a_c_h_i_m _S_p_r_a_v_e, of the
Systems Analysis
Group for lending and extending his pixmon(1) visualization
package, to suit my needs; moreover _U_l_i _H_e_r_m_e_s
and _F_r_a_n_k
_K_u_r_s_a_w_e for help with IDL. I am also greatfully
indepted to
_H_e_i_k_e _S_c_h_u_s_t_e_r and _M_a_r_t_i_n
_G_e_r_h_a_r_d for their enthusiasm and
friendly explanations, when we met at the Biomathematics
Research Group, at the former Max-Planck-Institute for
Nutrition Physiology, in 1988, which has been renamed to MPI
for Molecular Physiology, in February 1993. More thanks go
to _J_e_n_n_a _W. _D_e_a, currently at UCSC, for lots of
questions on
CAs, and giving me an opportunity; to once again spend my
time on things, I do not have time for.
AVAILABILITY
This work is protected by the terms of the GNU General Pub-
lic License. Please refer to the LICENSE file accompanying
the sources of this software package for a lengthy, boring,
but absolute complete description.
The sources come from MAGPIE -- The European Free Software
Factory Project. For more information on MAGPIE send email
to (joke@ls11.informatik.uni-dortmund.de).
HODGE-C is available via anonymous ftp from the group's
Version 0.98j Last change: 9 March 1993 11
HODGE-C(1) USER COMMANDS HODGE-C(1)
server lumpi.informatik.uni-dortmunde.de (129.217.36.140) as
file `hodge-c-0.98j.tar.Z' in /pub/CA/src.
WARRANTY
This program is free software; you can redistribute it
and/or modify it under the terms of the GNU General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later ver-
sion.
This program is distributed in the hope that it will be use-
ful, but WITHOUT ANY WARRANTY; without even the implied war-
ranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PUR-
POSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public
License along with this program; if not, write to the Free
Software Foundation, Inc., 675 Mass Ave, Cambridge, MA
02139, USA.
Version 0.98j Last change: 9 March 1993 12
--
-joke
--
Joerg Heitkoetter
Systems Analysis Group
University of Dortmund, Germany
(joke@ls11.informatik.uni-dortmund.de).
This archive was generated by hypermail 2.1.7 : Tue Oct 14 2003 - 21:44:10 UTC