Chapter 1. Introduction

Table of Contents

1.1. Overview - Cogent Tools and the Demo Applications
1.2. Data Flow
1.3. Control Flow
1.4. Demo Files and their Locations

1.1. Overview - Cogent Tools and the Demo Applications

The following table shows all the Cogent software tools used in the demo. The tools themselves are shown in the middle row, with the demo programs and configuration files below them. In addition to these software tools, Cogent also offers a number of Device Drivers, an API, and other Gamma extensions, but since they are out of the scope of this demo, they are not shown here. For more information on those products, please refer to the Cogent Web Site.

Gamma is a dynamically-typed, object-oriented, interpreted programming language that has been designed and optimized to reduce the time required for building applications. It supports the QNX/Photon and Linux/GTK GUI environments, and has a built-in library of over 300 functions. It cuts development times and offers run-time debugging by wedding a C-like syntax to a Lisp interpreter that has been optimized specifically for performance and memory usage. For more information, please refer to the Cogent Web Site or the Gamma documentation.

Gamma/GTK binds the GTK widget set as object-oriented classes, creating a Linux-based rapid development environment with full GUI support and flexible callbacks. For more information, please refer to the Gamma/GTK documentation.

Gamma/Photon is the only dynamic language currently available for developing GUIs in the Photon environment. Gamma enhances Photon and PhAB with easy-to-use callbacks, expanded functionality for reusing widgets, and an object-oriented syntax. For more information, please refer to the Gamma/Photon documentation.

The Cascade DataHub accepts and retransmits data from and to any client program registered with it, in real time. Its asynchronous communication protocols allow for two-way exception-based messaging between all registered clients on any specified data points. This eliminates problems associated with synchronous polling techniques, and permits building applications with open modular architectures. The Cascade DataHub is not a relational database, but rather optimizes a flat database design for rapid distribution of data. For more information, please refer to the Cogent Web Site or the Cascade DataHub documentation.

DataHub Viewer is a utility that allows viewing and changing point values in the Cascade DataHub. It runs from the console or a separate window in X-Windows or Photon. For more information, please refer to the DataHub Viewer documentation.

The Cascade QueueServer and Cascade NameServer   (or qserve and nserve) are Cogent C API utilities that support interprocess communication (IPC). The Cascade QueueServer is an asynchronous queue manager for the Cascade DataHub and other Cogent IPC tasks. The Cascade NameServer provides a network-wide name service for Cogent IPC tasks. For more information, please refer to the qserve and nserve documentation.

The Cascade TextLogger  gathers information from the Cascade DataHub and stores it in an ASCII formatted file on disk. The structure and format of the ASCII file is completely configurable and the output files can be used in analysis programs on any platform. The Cascade TextLogger exchanges data with other programs through the Cogent C API library and utilities. For more information, please refer to the Cogent Web Site or the Cascade TextLogger documentation.

The Cascade Historian  is an event-driven data storage program used to maintain persistent time-sequence data sets derived from process data. It features absolute, relative, and time-based deadbanding of data, as well as a query facility suitable for generating graphs and tabular output for other analytical programs. It exchanges data with other programs through the Cogent C API library and utilities. For more information, please refer to the Cogent Web Site or the Cascade Historian documentation.