Dynamic Linkage Code
Dynamic Linkage Social Aggregation Model
Status: Alpha
Brought to you by:
sviscido
% Documentation file for the Dynamic Linkage toolbox % % This file contains basic documentation on the Dynamic Linkage toolbox. % It is not intended for users, but is intended for developers and % programmers. It is also not intended to be comprehensive. A more % comprehensive PDF document will be provided for both developers and end % users at the time of software release. % % Contents of this file: % 1. Directory Structure % 2. Contents of the directories % 3. Naming conventions % % README % 1.Directory Structure % The Dynamic Linkage toolbox is arranged into directories (folders) to % help keep things organized. Directories and their associated files are % listed below: % % DynamicLinkage This is the main directory % Containers Classes that contain other objects % Environment Classes pertaining to the physical environment % Organisms The Organism class and all sub-classes % Utility Objects that execute useful methods % UserInterface Objects for the various parts of the UI % Recorders Objects that record data stored on other objects % Work The default folder for storing temporary data % % 2. Contents of the directories % Below, the contents of each directory will be explained. See the % Contents.m file for a complete list of files, and the Programmer's % Reference Guide for more details. % % DynamicLinkage % This is the main, or parent, directory for the toolbox. It contains % the subdirectories (subfolders) that store the various class definition % files and scripts for the program. It also stores certain basic % documentation files (changelog, Contents.m, etc.) and the basic % executables and class definition files for starting the program. % % Containers % This folder contains the class definition files for the 'pure % container' objects. Pure containers are objects that hold other % objects, but do not have any existence independent of those objects. % For example, a Pack object holds the members of a wolf pack. If you % took the members out, the pack would not exist as an entity. % Container classes in this directory include: % Graveyard % Pack % Population % Group % % Environment % This folder contains class definition files for objects related to the % non-living (physical) environment. This includes the overall Habitat % object, as well as the PhysicalCharacteristics object. Note that the % Habitat object is a container as well as an entity (it exists % independent of what it contains, unlike a wolf Pack, which cannot exist % without wolvers). % Environment classes in this directory include: % Habitat % PhysicalCharacteristics % % Organisms % This folder contains class definition files for the different types of % organisms. It also contains subfolders for the larger subclasses, such % as predators. % % Utility % This folder contains objects that perform utility functions not % assocated with any one particular object. For example, an object that % does unit conversions (radians to degress, feet to cm) might go here. % % Recorders % This folder contains objects whos job is to act as data loggers for % other objects. For example, the "RadioTransmitter" object is generated % for each animal in the simulation. It stores the historical position, % speed, NGDR, and other statistical data (the animal itself only stores % current-time-step data). This allows us to separate the animal object % from the recorded data, and mimics what happens in the field (such as % when a tracking device is attached to an animal's leg). % % UserInterface % This is a folder holds class definition files and scripts for executing % the GUI. The folder contains subfolders, each named for one menu item % on the UI. For example, all the objects pertaining to the File Menu % (saving, loading, exporting) can be found in the File directory. Note: % all comprehensive documentation files are found in the Help folder % within this directory. % % Work % This directory contains temporary data files used by the program. All % changes to all data are stored here, rather than in RAM, so that in the % event of a crash, the data can be restored from this folder. % % 3. Naming Conventions % The project uses the following naming conventions. % * All DIRECTORIES (folders) begin with an Upper Case letter and are % otherwise Lower case % % * All files, folders, and variables must be named using a combination % of uppper and lower case letters and numerals. No special characters % (e.g., ^,%,$,*) or spaces may be used when naming things. % % * Names for NUMERIC variables should start with the letter "n", % followed by a captial letter and then lower case. For example, nCount. % % * Names for all ARRAY variables should be named with in ALL CAPS. For % example, POPULATION. % % * Names for objects should start with a lower-case "o." For example, % oFish would be a fish object; oPop would be a population object. % % * Names for all structures will be all lower case. For example, % population. % % * Names for Classes and Objects will begin with an upper case letter % and otherwise be all lowercase. For example, Population. % % * Names for object properties should be descriptive, and if the name % represents more than one word, each word after the first should be % capitalized. Captilization of the first word in the name is optional. % For example, either MetabolicRate, or metabolicRate is acceptable. % % * Names for all methods will be written as phrases describing % what the function does, with words of the phrase capitalized. % Capitalization of the first letter is optional. For example, either % DetectPrey or detectPrey is acceptable.