* cross-check AST processing with MathML definitions
  at http://www.w3.org/TR/MathML2/appendixc.html

* example for UsrDefFnct: 
	* interpolation from external data file
	* callBack Fnct

* general accuracy / performance: see file OUTLOOK
        * generate SOSlib Benchmarking Test Suite
        * adapt printout accuracy to CVODE errors
	* check usage of double, float, long float etc.
	* choose CVODE error tolerances automatically for each ODE??
	* choose other solvers from the CVODE package

* Function Definition Replacement:
	* implement in evaluate/differentiateAST

* SUNDIALS interface
        * use more/better options!
	* use of parallel capabilities
	* KINSOL for steady state detection
	* daeSolver IDA

* eventDetector:
	* integrate from last to current timestep, until trigger < CVODE ERROR
	* use combination of interpolation and exact integration
	  to event trigger

* online communication
	* use callback and user-defined-functions
	  for communication with other tools/solver 
	  (e.g. stochastic)

* compilation:
	* use TCC runtime compilation of CVODE code

* SBW: write interface function

* BioUML: explore interface possibility

* command-line and interactive usage
	* change visualization to GNUPLOT (3D!)
	* bioLog_resultVisualizer: ...

___TODO MARCH 2007__

* recreate solver structures when choosing new solver/iteration methods
* implement max. order

* check n-ary for relational operators

* remove space() and fprintf(stderr,...)

* optimize sens. matrix construction, compare parameters

* implement compilation for all RHS

* event bug! check rule evaluation ordering, and default observables
also see odeModel.c line 175
    /* AMF => if you want to expand the default observables set please
    let me know.  If you include the reaction symbols performance
    will be degraded in models with events */

* use values array also for SBML input model

* high level interfaces: check error handling

* error handling in getForwardSens

* check all rule evaluations for optimization


____TODO SEPT 2007___

* find better solution to avoid problems with II_setVariableValue (events 
  and external use)

* cvodeSettings: set a flag, whether a change to settings requires
  reinit of solver (reset, etc) to become active already for the next run

* doxygen: link structure documentation to respective modules  


____TODO JUNE 2008___

* configure process
** update messages: on failure, name required packages/versions!



____TODO SEPT 2008___

FOR RELEASE:

todo:
* clean-up configure process
* swig-bindings
* Windows, MSCV projects?
* optimize gcc compilation for big models
**  compile adjoint stuff separately
* arithmeticCompiler:
** failed tests:
   mathml-log, mathml-logbase,
   discontinuityTimeAndDelay-xor,
   discontinuityTimeAndDelay-or, discontinuityTimeAndDelay-not,
   discontinuityTimeAndDelay-lt, discontinuityTimeAndDelay-leq,
   discontinuityTimeAndDelay-geq, discontinuityTimeAndDelay-discontinuity,
   discontinuityTimeAndDelay-and 

* FUNCTIONALITY AND OPTIMIZATION
** write matrix of SBML functionalities
** write INFO for optimal use/efficiency (storeResults, compilers, etc.)

wishlist:
* ida solver, see CellML API
* kin solver
* ipopt: local optimization run, odeOptimizer




