D. Algorithm animation
To run an algorithm in the Higres system, the user should
select an external module in the dialog box. The system
starts this module and opens the process window that is used
to control the algorithm execution. Higres provides the run-
time animation of algorithms. It also caches samples for the
repeated and backward animation. A set of parameters is
defined inside a module. These parameters can be changed by the user at any execution step. The module can ask user to
input strings and numbers. It can also send any textual
information to the protocol that is shown in the process
window.
A wide range of semantic and graph drawing algorithms
can be implemented as external modules. As examples now
we have modules that simulate finite automata, Petry nets
and imperative program schemes. The animation feature can
be used for algorithm debugging, educational purposes and
exploration of iteration processes such as force methods in
graph drawing.
A special C++ API that can be used to create external
modules is provided. This API includes functions for graph
modification and functions that provide interaction with the
Higres system. It is unnecessary for programmer, who uses
this API, to know the details of the internal representation of
graphs and system/module communication interface. Hence,
the creation of new modules in the Higres system is a rather
simple work.