Next: , Up: Introduction



1.1 Orientation

This documentation accompanies the Monod program, and describes the purpose, principles, usage, design and implementation, results and future prospects of this program. Monod is an open-source project, released under the GNU Public License (GPL), and can be downloaded in its entirety from SourceForge at http://monod.sourceforge.net/. The present documentation collates all information (short of the source code) concerning Monod, from purpose to theory to usage to implementation. It serves as a brain dump for the maintainer(s) and developer(s) to make sure good ideas don't get forgotten (hence the perpetual disarray) before someone has time to implement them, and as a repository of failed attempts. It also serves as a reference manual for those aspects of Monod that would otherwise be forgotten and unmaintainable. Finally, and most importantly, the documentation can be used to quickly ramp up with the current state of the project and get in gear to provide much needed collaboration! We now present an overview of the documentation. The current chapter provides an introduction to the Monod project, including the initial motivation for the project; the large-scale architecture of Monod; comparisons with other biologically-inspired computational approaches; and a history and description of the major future milestones of the project.

The second chapter, Three Design Patterns, describes the first three layers at the bottom of the hierarchical design stack introduced in the previous chapter.

The next chapter, The Cytoplasm and the Monod Cell, gives details of the full abstract computational model. We present those biological processes which served as inspiration for Monod and the model proper, contained in the cytoplasm, which contains formalized computational analogues of these biological processes. The Proteins section is one of the most central sections of the entire documentation. Then we wrap the cytoplasm with a set of tools to make it into a self-contained system, the Monod Cell.

The fourth chapter, Monod Cultures, is the last chapter which includes non-implementation aspects of the model, and is the culmination of the project. It shows how evolutionary techniques may be applied to the Monod model in order to create more complex and robust “programs” that are intrinsically parallel.

The next chapter, Results and Future Projects, discusses in some detail many of the experiments that have been attempted with Monod, and others that are planned, expanding on the previous overview in the first chapter. The examples run from the simple to the complex. Those examples that are complete are included in the standard Monod distribution, as described in the next chapter.

The sixth chapter, Compilation and Usage, describes the pre-requisites needed to compile and/or run the various parts of Monod. The various Makefile targets are described, along with their products and how they can be run.

The final chapter, Implementation Details, describes the code used to implement Monod. The first section (Contributing to Monod) is useful if you're planning to contribute to the project, which is highly encouraged! The other sections describe various aspects of the implementation, from the language and data structures to overall architecture and testing.