--------------------------------------------------------------------------

    Program: JM_SAP
    File:    JM_SAP.TXT
    Copyright (C) 1996
      John Mingers     <orsjm@wbs.warwick.ac.uk>
      Barry McMullin   <mcmullin@eeng.dcu.ie>

    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 1, or (at your option)
    any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  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, in the file LICENSE.TXT; if not, write to
    the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA
    02139, USA.

--------------------------------------------------------------------------

Version Information:

1.0:  1st November 1996, Barry McMullin.
      First public release.

--------------------------------------------------------------------------

This is the documentation file for the program JM_SAP (JM's Simple
Autopoiesis Program).

JM_SAP is a simple program, written in Pascal, and implementing a
version of the computer model of Autopoiesis, originally described in
this paper:

    @ARTICLE{
      Varela:Autopoiesis,
      AUTHOR    = "Francisco J. Varela and Humberto R. Maturana and
                   R. Uribe",
      TITLE     = "Autopoiesis: The Organization of Living Systems,
                   its Characterization and a Model",
      JOURNAL   = "BioSystems",
      YEAR      = 1974,
      VOLUME    = 5,
      PAGES     = "187--196"
      }

This program was originally written by:

  John Mingers
    University of Warwick
    Coventry CV4 7AL
    United Kingdom

  e-mail: orsjm@wbs.warwick.ac.uk

This public release was prepared, with John's permission, by:

  Barry McMullin
    School of Electronic Engineering
    Dublin City University
    Dublin 9
    Ireland

  e-mail: mcmullin@eeng.dcu.ie

The original program, written by John, was developed on a Prime 550
c. 1982.  John provided me, Barry McMullin, with an original listing,
and a *re-keyed* electronic version. JM_SAP was then derived from this
by porting to the Turbo Pascal V5.5 environment under DOS. In carrying
out this port I deliberately made a minimum of modifications, these
being largely restricted to correcting bugs introduced by the re-keying,
providing a random number generator of known quality, correcting a small
number of defects in implementing the algorithm, and adding graphical
display handling.  The file HISTORY.TXT provides a detailed log of these
changes.

As indicated in HISTORY.TXT, my work on this program mainly took place
during the Spring of 1994; however, pressure of other work meant that I
had to put this aside before finalising a public release, until October
1996.  At the latter time, I was finally able to complete this public
release while spending a sabbatical year as a visiting researcher with
the SWARM group at the Santa Fe Institute; this was made possible
through generous support from both Dublin City University and SFI.

JM_SAP provides very limited facilities for user interaction.  Once
started, it requests various parameters for the the run, including the
option to initialise a "pre-generated unit" - i.e. a closed membrane
containing a catalyst.  The program starts in "single stepping" mode. In
this mode, pressing the space bar (or, indeed, most other keys) will
cause execution of a single step of the simulation.  Pressing "r"
(Refresh) will refresh the display (this is useful as the graphics
routines sometimes leave a debris of "dust").  Pressing "q" (Quit) will
cause the simulation to terminate immediately. Pressing "g" (Go) will
cause the simulation to go into "run" mode, where it will run
continuously at full speed. The program will remain in "run" mode until
either the specified number of steps have been carried out, or the space
bar (or almost any other key) is pressed. In the latter case, the
program reverts to "single stepping" mode.

The program supports both the graphics mode display just described, and
a text mode display. The latter was the only display format present in
the original.  Support for it is left in place in the code; however, it
is disabled in this release, because it is quite unsatisfactory
(specifically, the aspect ratio is distorted, and bonds are not
displayed). The code is left in place partly for historical reasons, and
partly to faciliate crude porting to non DOS platforms.

In the supported graphics mode of operation, two windows are
displayed. The main, upper, window shows the state of the space. The
second window is used to log diagnostic messages, and is primarily used
for program debugging; in normal operation it simply provides a running
count of the number of timesteps.

The operation of the program is otherwise reasonably self explanatory.
If you need additional information, please refer to the program code
itself.

I developed and tested the program exclusively under Turbo Pascal V5.5.

The distributed files are:

  JM_SAP.TXT:   This documentation file.
  LICENSE.TXT:  The GNU Public License, under which the program is
                distributed.
  HISTORY.TXT:  A summary of the changes made to the program during
                the alpha phase (*prior* to v1.0).

  JM_SAP.PAS:   The main program file.

  TURBO.TP:     Turbo Pascal V5.5 configuration file.

  VGAEGA.BGI:   EGA/VGA display driver.
  JM_SAP.EXE:   Executable version of the program.

The executable file JM_SAP.EXE requires that the VGAEGA.BGI file also
be available in order to run.  It should execute correctly on any DOS PC
with an EGA or VGA compatible display.  It should run under MS-Windows,
but only in full-screen mode.

--------------------------------------------------------------------------

If you have any comments or questions on this program, please feel free
to contact me.

  Barry McMullin
  Santa Fe, October 1996.


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
| Barry McMullin, Autonomous Systems Group,  |    McMullin@EENG.DCU.IE |
| School of Electronic Engineering,          |  Voice: +353-1-704-5432 |
| Dublin City University, Dublin 9, IRELAND. |  FAX:   +353-1-704-5508 |
| http://www.eeng.dcu.ie/~mcmullin           |                         |
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++