Known Bugs in COGENT Version 1.10.04
XView is the widget toolkit in which COGENT is built. XView gives COGENT
its look and feel, a look and feel that is shared with many Sun applications.
Indeed, XView was originally developed by Sun to simplify the process of
porting older SunView programs to X windows. XView was chosen as the toolkit
in which to implement COGENT because a) it is widely available (having been
put into the public domain by Sun, by being part of many Linux installations,
and by having been ported to a variety of other platforms); b) it is visually
quite attractive; and c) it is a nice environment in which to program.
XView has two major disadvantages. It uses a variety of unusual mouse conventions (at least, unusual if you are a
Windows or Mac user), and it is no longer being developed. Bugs in XView
present major problems, because there is no chance that they will ever be
addressed by a new release of XView. The only solution therefore is to
attempt to work around them. Two bugs are currently proving troublesome:
- An XView error sometimes occurs when you close a model from the model's
project's history window's Done button. This appears to happen when and
only when the user left clicks in the model's box/arrow editor after selecting
one of the panel buttons from the top of the window (e.g., Run... or
Help...). It has something to do with shifting focus.
- Widgets for text fields don't always work correctly if the text being
typed in overflows the available window space. Overflow text should just
result in the appearance of a little scroll button and scrolling of part of
the text off the widget (either to the left or the right). Sometimes, however,
the insertion cursor is also (incorrectly) moved to the middle of the text
Some recent distributions of Linux (e.g., RedHat 5.1) do not include XView,
so to compile and/or run COGENT on these it is necessary to obtain XView
separately. In the case of RedHat, it is available online.
Bugs in the Interface
- Archive extraction should check for an existing directory before
- The archive/extract functions should be able to handle project names
containing unusual characters (e.g., spaces). At the moment they don't because
they just feed the project name as a character string straight to the Unix tar
command (and if this character string contains spaces then those spaces are
interpreted as signifying the end of the project's name).
- If a box's class is changed and the box's data is then reloaded (before
the change of class is saved), the box's properties will be correctly updated,
but the box's icon and mode menu will not be updated. (Reported by RC on Nov
- The location of syntax errors in imported files is incorrectly reported.
(Reported by RC on Jan 24, 1999.)
- Cutting and pasting boxes between models tends to cause a fatal error.
Bascially arrows from the pasted box may still point to boxes in the original
model, even if that original model is no longer in memory. (Reported by RC on
Jan 24, 1999.)
Bugs in the Execution Engine
- Aging of buffer elements (as used by buffer decay) is limited to within
trials (i.e., it does not span blocks). Thus, an element added on the 2 last
cycle of a trial, but which should decay after 10 cycles, will not decay on
the 8th cycle of the next cycle.