Skip to content


Edge Xrt allows you to create connected edge applications by assembling and configuring specific combinations of standard Xrt components to fulfill a use case. A typical connected Xrt application that supports communication between an edge device or sensor and a Cloud endpoint consists of the following components and supporting configuration files:

  • Xrt Core, which consists of the Bus, Scheduler, ThreadPool, and Logger components

  • One or more Device Service components, which communicate with devices or sensor using protocols such as Modbus

  • An Export component, which sends device data to a Cloud or IT endpoint such as AWS IoT Core

  • Logging to help in debugging running applications

Core components can be configured and optimized to support the specific needs of each edge application. For further information on the core components, see Core Components. All components that make up an Xrt application communicate with each other over a process-local databus using a Topic-based Publish and Subscribe interaction pattern, as shown in the following figure. Components are managed by a lightweight container and are deployed in the same address space for efficiency.


In addition to the Edge Xrt core, which consists of the Bus, Scheduler, ThreadPool and Logger, Xrt also supports a range of standard components including the following:

  • Exporter components, which support communication and data exchange between Xrt applications and Northbound IT or Cloud endpoints. For further information on export components, see Exporter Components

  • Bridge components, which support communication and data exchange between Edge Xrt instances using Thrift RPC or MQTT. For further information on bridge components, see Bridge Components

  • Device Service components, which support communication and data or command exchange with devices and sensors using different industrial OT standards, such as Modbus. For further information on Device Service components, see Device Service Components

  • Device components, which support communication with integrated sensors on edge hardware supported by Edge Xrt. For further information on device components, see Device Components

  • Transform components, which allow you to write your own application logic in the Lua scripting language and dynamically update the scripts at runtime, or to batch messages on one topic and republish them on another topic. For further information on transform components, see Transform Components

  • Application components, which support user-defined application logic written in the C programming language

If you want to find out more about the concepts and configuration of Edge Xrt, see Components. Alternatively, if you want to start using Xrt, a comprehensive set of examples are provided which can be downloaded from Xrt Example Code