GNTicker

GNTicker is an interpreter for a certain kind of reduced generalized nets (GN). It can be run as a standalone program or as a server, which allows simultaneous execution of multiple GN models. The software application is written in C++ for CLBME by Kalin Georgiev and Trifon Trifonov.

Generalized net models are described (or coded, programmed) on two levels. First of all, the structure of the model is defined in an XML file. This definition includes description of the GN’s transitions, places, tokens and matrices. Each GN component is given a unique name (identifier) and the structure of the XML definition allows the interpreter to extract information about the relations between those components. In the place definitions and predicate matrix definitions, characteristic functions and predicates are only referred by their names. Their actual definitions come in the second part of the GN code – the GNTCFL program.

GNTCFL is a language with Lisp-like syntax developed especially for GNTicker. A GNTCFL program is a set of function definitions that can be used as characteristic functions and predicates as well as user defined utility functions.

The XML definition of a GN model structure and the GNTCFL program with definitions of characteristic functions and predicates form the complete GN code which can be “executed” by GNTicker. The “execution” process is actually an interpretation of the definitions and a calculation of token characteristic for each step of some GN’s life. GNTCFL provides certain tracing capabilities that allow characteristics of various tokens to be printed to the standard output or sent to another process and eventually recorded to form the “result” of the GN’s execution. The recorded data can be visualized later, or during the GN model execution. The MS Windows version of GNTicker has primitive support for real-time visualization of function graphics.