COGENT Version 2.3 Help

What's Missing from COGENT Version 2.3 #0?

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. Elsewhere in this documentation it is stated that authorised users may upload a research programme to the online COGENT model archive. In truth, as of version 2.3 #0 this facility has not been implemented and there are no authorised users. The facility is planned for a later release of version 2.3, but security issues must be resolved first.
  2. 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 basic idea is to stress (and extend) COGENT's research programme management functionality.

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. Provide an equation edit facility to allow specification of user-defined buffer decay functions. (Suggested by Kevin Gluck 02/04.)
  4. 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.
  5. 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.
  6. Allow the declaration and subsequent use of additional operators within the term language. (First suggested by Peter Weimer-Hastings during 2001.)
  7. Implement "smart" find/replace such that the functions can use term unification rather than exact lexical matching to find targets.
  8. Allow positioning of external boxes on compound canvases. (First suggested by ME on 30/09/96, but always possible in WinCOGENT.)
  9. Allow auto-page of the message log and output trace during model execution (only if they are showing the last page of output).
  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 additional keyboard accelerators wherever sensible.
  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. This is just a matter of creating the appropriate DLLs, which should be simple ...
  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) between panel entries that are both visible.
  3. Provide multi-lingual support.

COGENT Version 2.3 Help