Related Documentation:
This document contains a list of functions and descriptions that need to be implemented or incorporated in the software or software infrastructure. The level of detail of the descriptions can vary between items. After an item is described, it can be followed by a checklist with information of the level of implementation. For example, subitems in the checklist can be marked with the word ‘DONE’.
This document can grow when people add new functions that await implementation, and it can be consolidated by moving items that have been completed from the TODO list to the DONE list. Items are never removed from the DONE list.
This TODO list was built on December 28, 2015, 8:13.
Network modeling support still requires substantial development on one software component, and also impacts other software components.
Time Estimate | 3 weeks |
Assigned to | Hugo |
Connect the NEURON compartmental solver to the model-container.
Time Estimate | |
Assigned to | Hugo |
Heavy memory operations such as pqsetall run slowly on Mac OSX to the point of causing several tests to fail. Test errors are inconsistent, and different tests will fail on different test runs.
Time Estimate | ? day for a detailed diagnosis |
Assigned to | Mando |
There is an issue with stalling on the Mac OSX Leopard. The result is a stalled process with no CPU activity. The error is inconsistent and only seems to occur when the target machine is running other high memory tasks. From examining the state of the process during the lock it appears to be a system lock on a print statement.
The stall error currently occurs during the nesting.t test sometime after pqsetall has been called.
A similar problem was found here on the Apple forums.
The same type of stall occurred previously when running the command ./neurospacesparse -v 1 -q legacy/networks/supernetwork.ndf in the model container function QueryHandlerPrintSpikeRecieverCount() . This stall error has not been observed in well over a year when running this command and currently does not produce it.
A comment has been placed in the section of code in the model container where the error occurs at line 6133 in querymachine.c.
Previous measures to diagnose were to use the Instruments application to see exactly where the process was locking, which lead to discovering the information on the Apple forums.
7/25/2010: Found the point of the stall during a test run to be at the ystem $shell_command;all in neurospaces_harness.
8/30/2010: Made some changes in an attempt to remove the stalling, instead get an error at ”select$DARWIN_EXTSN” as opposed to the low level write statement ”write$NOCANCEL$UNIX2003”. Stall remains so won’t check in the changes since it did not fix the problem.
8/31/2010: Using ptkdb and running different operating systems side by side I’ve narrowed down the possible error to the perl Expect module, which seems to behave a bit differently on Mac OSX compared to CentOS and Ubuntu. For the tests which start with a command that outputs expected output with a following test case that does not write, only reads this output, the output of the prompt starting the program along with the programs output is concatenated together. This causes the test to fail, but since this read only happens on the first test specification, subsequent tests pass.
Time Estimate | ? day for a detailed diagnosis |
Assigned to | Mando |
Performance Benchmarking is traditionally classified in phases of model-construction time and simulation run-time. Test the performance of the Purkinje cell in each of the following environments:
Time Estimate | 2 days |
Assigned to | Hugo |
The following scripts have been selected for use as demonstration scripts:
For visibility and good integration with the rest of the system, it would be best to integrate these scripts with the regression tester, such that they are validated and documented on a daily basis.
Time Estimate | 2 days per scripting language |
Assigned to | Allan and Dave? |
There are redundant packages and directories in http://repo-genesis3.cbi.utsa.edu/deb/ and other download directories. Ideally there is only one directory for each set of deb packages, and all the deb packages are listed there as one flat list.
Time Estimate | 2 days |
Assigned to | Allan and Dave |
Write an announcement of the GENESIS 3 alpha1 release to the connectionist, compneuro, genesis-users email lists. Signed with Hugo Cornelis, Allan Coop, Mando Rodriguez, Dave Beeman, James Bower.
Time Estimate | |
Assigned to | |
Construct a report document with instructions for alpha and beta testers. The instructions consist of installation instructions and a questionnaire about basic application functionality.
Questionnaire must be put on the website.
Time Estimate | 3 days |
Assigned to | Allan and Dave? |
Packaging involves the creation of tarballs with source code to the creation of binary packages for different OSs.
For packaging and distribution of the alpha release of GENESIS 3.0, each software component must implement the following makefile targets:
Communicate with the previous debian maintainers about this. They are Sam Hocevar (Debian packages) sam+deb at zoy.org and Matt Zimmerman mdz at csh.rit.edu
Time Estimate | 4 days |
Assigned to | Mando |
The installer scripts can update the release labels in the source code automatically, and check them in into the source code repositories. The checkin should be done on a branch ’dist’ to prevent contamination of the default ’0’ branch with versions that reconfigure the software with new release labels.
The checkin should be made visible from the repository server (ie. the tester should push its changes from its repository to the server repository).
Currently date based. This does not work with distributed version control. The only way to version files in a distributed environment is using the version control identifiers.
Time Estimate | 3 days |
Assigned to | Mando & Hugo |
Fix automake scripts to detect different operating systems and build makefiles accordingly:
Time Estimate | 2 Days |
Assigned to | Mando |
Time Estimate | 2 - 3 weeks |
Assigned to | Mando |
Time Estimate | 2 - 3 days |
Assigned to | Mando |
Time Estimate | 1 - 2 weeks |
Assigned to | Mando |
Add menus/functionality to the iterator menu.
Put a couple of iterator scripts of the purkinje cell comparison and the mutual information projects in a directory. The Iterators menu lists all the scripts found in this directory, clicking on one of them runs the appropriate script. The script generates SSP configuration files that can be loaded into the GUI.
Time Estimate | 1 week |
Assigned to | Mando |
Time Estimate | 1 week |
Assigned to | Mando |
Look and feel of documentation website.
Check what options of the framing functions of tex4ht can be used.
Time Estimate | 3 days |
Assigned to | |
Document the python dependencies of the gshell.
Currently the gshell requires Inline::Python as a recommended option to be installed.
Time Estimate | 1 day |
Assigned to | |
Redundant with the other entry of symmetric compartments.
Implement symmetric compartments. We will have to decide how to do this: core implementation, or converting each symmetric compartment to two asymmetric compartments. This will also likely involve core design decisions, because the model-container does not distinguish between symmetric and asymmetric compartments (only the solvers do).
Time Estimate | |
Assigned to | Hugo & Mando |
Postponed:
An additional package must be created that has all other software components of GENESIS 3 as dependencies. An installer script must be created that builds all the OS specific archives and puts them in a common directory (neurospaces_dist_archives).
Complete the implementation of the ndf_save command. Add tests for saving a full model, saving a library of models and saving a modularized part of a model.
Time Estimate | 1 week |
Assigned to | Hugo |
Algorithmically:
The SSP optimizer uses the perl Inline module to inline C code with perl code. The Inline module creates a directory hierarchy inside the current directory to do its work. The Inline module must be configured to do this in a standard directory, where all users share the result.
The installation of SSP must run SSP to do the compilation of the optimizer, and install it afterwards. This is to avoid race conditions between simultaneously running ssp processes.