There are currently seven levels of GENESIS documentation which can be
accessed from the following links. These levels range from documentation required
by the user to technical detail of a specific implementation.
Each level can include specifics about compatibility and portability. Because
backward compatibility is defined as a user requirement, the documentation for
backward compatibility falls under the first two levels.
- Level 1: Introductory Material
Provides a comprehensive introduction to the use of the GENESIS
software system. Documentation includes an introduction to Unix
and the Linux Graphical Desktop, fundamentals of Computational
Neuroscience, and basic tutorials on the concepts and use of GENESIS.
Documentation at this level also guides the user in the choice
of documentation necessary to implement research and educational
models and simulations. Tutorials at this level are short and contain
links to the user documentation required for specific types of projects.
- Level 2: User Guides and Documentation
In depth documentation about specific functions of GENESIS in the
context of advanced research projects.
- Level 3: Automated Use Cases
Common use cases and examples of workflows. Provides a bridge
between the functions visible to a user and the way those functions
are implemented in the code. This level of documentation also guides
technical developers through the code and defines a framework for
communication between users and developers. Currently, this level of
documentation is automatically generated from test cases.
The following GENESIS software components have output defined for
regression testing. Most of these tests are defined by use cases.
- Level 4: Technical Guide Specification
Technical outline and specification of the use of all GENESIS functions,
commands and components.
The tools related to software development such as the Neurospaces installer,
can be documented via the Neurospaces wiki.
- Level 5: Algorithm Documentation
This type of documentation contains outlines of the algorithms used in an
implementation, their theoretical analysis and behavior, their edge cases,
and an outline of the expected application programmers interface (API).
Links to various publications and external documents are provided for most
of the algorithms used.
At a practical level, this documentation also includes the specification of
basic unit tests. At present, there are no plans to implement these tests due
to the maintenance cost for the developer.
- Level 6: Algorithm API Documentation This documentation includes
source code documentation typically generated by Doxygen or a similar
documentation extraction system. Documentation is focused on how to
interface to the specific implementations of low-level algorithms. Doxygen
also allows inclusion of implementation documentation.
- Level 7: Inline Source Code Documentation Typically this
documentation is provided by inline source code comments with a focus on
how a function or algorithm is implemented. It provides extensive cross
referencing between implementation and the API of the same and other
functions. Both the Doxygen system and Xrefactory provide this