9 Projects (and Defaults, Scripts)

Projects hold all the components of a PDP simulation. Projects are essentially just an object with groups for the networks, the environments which provide the patterns, the processes to control the simulation, and the logs of the statistical data. Typically a user will load and save the project as whole, since the project represents the conceptual experiment or simulation. Also, the first action a new user must perform is to create a new project to hold the various components that will be created thereafter.

This chapter describes operations and features of the project that affect the project as a whole. This includes the following:

Basic Project Management
There are a number of different kinds of things one needs to do with a simulation as a whole, like saving and loading it, recording what parameters were used, etc. This section gives some tips on these tasks.
The Project Viewer
The project window contains an interactive project viewer program that enables users to conveniently view and manipulate many aspects of the project. This is especially useful for configuring processes, because they link together all the different elements of a project to actually achieve various processing goals. In addition, specs can all be viewed together in the project viewer, making it easier to manage complex sets of specs.
Startup Arguments and Controlling PDP++ with Signals
These sections describe how to affect how PDP++ runs (e.g., turing off the graphical user interface and running it in the background). If a process is running in the background, it can be controlled by sending it signals.
Customization Through Defaults and Settings
There are several levels of defaults and settings that can be modified in the PDP++ environment to get things to work just the way you like them. In addition to XWindow defaults, there are some global parameters, and a specialized set of object-specific defaults that are actually stored on the project itself (in the defaults group).
Scripts
These allow the user to add all kinds of different functionality to the software by creating objects that hold different CSS scripts. These script objects are saved with the project, and can be run from a simple pull-down menu.