The RT3 object model consists of four major libraries working together to process real-time data. Much like links in a chain, they can be added and removed to the workflow in order to suit different tasks. These libraries are: Common Entity Library (the base library for representing real-time data points in a generic object oriented manner), Real-Time Tracking Tool (which handles event processing and data sorting and graphical tagging before final output), Real-Time Framework, and the STK Object Model Broker (which acts as the bridge between the Common Entity Library and STK). They are built for ease of use, flexibility and to be scaleable. Unless otherwise noted, all components are thread-safe and will make use of threads themselves to perform background processing.
The diagram below depicts a high level view of the data flow in a typical RT3 client.
As you can see, everything starts with a raw data stream. The stream can originate from any source (e.g., hardware link, file on disk, web server, etc.). An entity-provider plugin is responsible for acquiring this data and parses and stores all relevant information as entity objects. Once these entities are created, they are inserted into the RT3 engine for further processing.
Once inside the engine, entities are run through optional entity processor plugins for further data filtering. They are then processed via event definition and query plugins to determine if they meet the criteria for generating an event or being displayed in the output plugin window with graphical options set via the query.
STK 11.2.1 Programming Interface