CAM-8 Software Development
We plan to give emphasis to those aspects of the software that are
most relevant to large CAM-8 machines, such as the one under
development by the Air Force. This will include data analysis and CA
visualization utilities for large systems, and the development of
C-based modeling libraries. We also plan to upgrade, document,
distribute, and support existing CAM-8 simulators and software,
placing the results in the public domain and distributing them on the
Internet.
Some of the projects that we plan to pursue include
- PROGRAMMING UTILITIES: We need a variety of
programming tools to help construct and test models, evaluate whether
and how well they are working, construct spatial test-data, and to
pinpoint problems.
- C-BASED MODELING LIBRARIES: Current software is
written in a CAM-8 machine-language that we have developed. It is
important to convert this software into a set of library routines
callable from C, to facilitate outside software development and
interfacing to other software and utilities.
- SIMULATION LIBRARIES: We want to facilitate the
extensive reuse of code that is natural in a simulation context. One
convenient way to do this is to accumulate libraries of simulations
with only a few free parameters left unspecified (e.g., leave only the
updating rule unspecified). These libraries should in turn be
constructed of library components that can be "mixed and matched."
- VISUALIZATION: Generic utilites are needed for
visualizing interesting aspects of CA systems on CAM-8, particularly
for 3-dimensional simulations.
- ARITHMETIC DATA ANALYSIS: Utilities are needed
for performing arbitrary-precision arithmetic array operations on
CAM-8---to allow the machine to do its own spatial data-analysis.
- SPACETIME DATA TRANSFORMATIONS: The spacetime
circuitry technique discussed in the proposal provides a general
framework for achieving a large class of efficient data
transformations on CAM-8; utilites to make it easy to use should be
pursued.
In addition to systems-level software, many basic theoretical and
methodological issues need to be addressed. These range from studying
ways to organize and combine known modeling techniques, to the search
for very general methods for going from macroscopic physical behavior
to simple CA rules. These are areas that we have contributed to in
the past, and we plan to continue this research.