COGENT Version 2.2 Help

What's Scheduled for COGENT Version 2.3?

  1. Animations! Box and arrow diagrams will show messages passing between boxes when a model is running (provided the appropriate option is set). This feature will only be available in the registered version, and it will be possible to switch it on/off via the OOS Preferences panel. (The feature was first suggested by JF way back in November 1996.)
  2. Axis autoscaling for all graph types will be supported. Graphical buffers and data sinks will have two additional Boolean properties: "Autoscale X" and "Autoscale Y". When "Autoscale X" is set, the values of "X Min"/"X Max" properties will be ignored and the graph;s Max and Min will be calculated from the data on the graph. Similar comments apply for "Autoscale Y".
  3. An "Events" view for the research programme manager. The "Model List" view will be replaced by a graphical view that shows, for each model in a research programme, significant events in its history (at least creation, last edit, and last run).
  4. Some "meta-project" management features. The current research programme manager is inadequate when dealing with proejcts/research programmes containing lots and lots of models, or projects/research programmes which have many sub-projects (e.g., the book). The revised research programme will allow grouping of projects into meta-projects.

What's Missing from COGENT Version 2.2 #3?

The following lists describe features that COGENT developers and users have identified as potentially useful enhancements. Within the lists, items are presented in approximate order of priority or likely completion. Initials refer to people mentioned in the acknowledgements. Additional suggestions for possible enhancements are welcome and should be emailed to

The Research Programme Manager

  1. Generalise the research programme manager functions to allow heterogeneous research programmes, i.e., research programmes contain models written in native COGENT as well as those written in other languages or systems, such as C, Lisp, Prolog, ACT-R, Soar, SNNS, PDP++, T-Learn, etc.

The Model Editing Interface

  1. Provide a way of editing large buffer elements, such as a specialised compound term editor. (Requested on 27/11/02 by Liz Black.)
  2. Provide further box classes, such as tree structured buffers, multi-layer networks, and recurrent networks.
  3. Some kind of data dictionary/library would be very useful. This should allow terms to be declared and then perform some simple type checking on all terms.
  4. Allow selection of multiple elements within a box, so that functions such as ignore, reinstate or delete can be applied to several elements at once. This will require rethinking the interface for selecting and acting upon box elements. (First suggested by GM during 09/96.) In a similar vein, allow "rubber-banding" of boxes on compound canvases so that a group may be selected and, for example, coerced into a compound.
  5. Allow the declaration and subsequent use of additional operators within the term language. (First suggested by Peter Weimer-Hastings during 2001.)
  6. Implement "smart" find/replace such that the functions can use term unification rather than exact lexical matching to find targets.
  7. Allow positioning of external boxes on compound canvases. (First suggested by ME on 30/09/96, but always possible in WinCOGENT.)
  8. Allow auto-page of the message log and output trace during model execution (only if they are showing the last page of output).
  9. Improve syntax checking/correcting. One possibility is that when a syntax error is detected, the user could be given the chance to approve any suggested correction. (First suggested by RC during 11/96.)
  10. It should be possible to declare new classes (as subclasses of existing classes, e.g., to specify a standard subject-experimenter compound) and use instances of those classes in the usual way. (First suggested by JF 11/96.)
  11. Allow save/restore of buffer and network contents, so that training sessions can be separated from testing sessions. (First suggested by GM 09/96.)
  12. Integrate appropriate window management functionality into the basic system (e.g., provide a small model structure-tree so that the user can automatically expand all/some of the model and jump around the modules without getting lost). (First suggested by JF during 11/96.)
  13. Allow export and import of box contents to and from a specified text editor. (First suggested by JF during 11/96.)
  14. Install keyboard accelerators wherever possible.
  15. Allow naming of boxes directly on the canvas (i.e., without first opening them).
  16. Reduce the palette by showing only major box classes, and making subclasses appear only when a major class is selected. (Suggested by JF.)
  17. Allow summarising of selected rules. (Suggested by JF.)

The Model Testing Environment

  1. Revise the interface between a COGENT model and the scripting language. Variable handling, in particular, is clumsy. Perhaps we need to explicitly declare variables and their bindings within a COGENT model (in a way analogous to Express).
  2. Add support mechanisms for data files (e.g., sharing data sources across models within a project, and saving different runs in different files). This may just be a matter of 1) allowing files to be attached to data sources and data sinks (very easy) and 2) providing appropriate browsing tools for those files (harder).
  3. Automate the exploration of property spaces (i.e., automate criticality/sensitivity tests).


  1. Sort out OOS optimisation when running under Windows.
  2. Remove the current dependency on Prolog by re-implementing OOS in C.
  3. Allow isolated running of compound boxes.

General GTK+ Issues

  1. Generate appropriate images for HTML output. Currently graphical displays of the contents of analogue buffers and graph objects are omitted from HTML output. Additionally, the "webify" command (available only in the registered version) fails to build the necessary bitmaps. (GTK+ 2.0 appears to provide the functionality necessary for this, so it will probably wait until we upgrade to the latest version of GTK+.)
  2. Improve cut and paste and drag and drop between text fields within the element editors. The only thing that seems to work reliably at present is copy/paste (using ctrl-c to copy and ctrl-v to paste).
  3. Provide multi-lingual support.

COGENT Version 2.2 Help