-------------------------------------------------------------------------- Program: JM_SAP File: JM_SAP.TXT Copyright (C) 1996 John Mingers Barry McMullin 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 | | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++