Skip to content

Schema and Infrastructure

This page covers defining the telemetry data schema and configuring the three foundational infrastructure components: the messaging server, the config parameter group, and the metrics plant.

Complete the following sections to define the telemetry schema and configure the infrastructure required for telemetry collection.

Create schemas

Create a schema group

Schema groups organize related schemas. Even though this system has only one table, grouping it now simplifies future integration.

  1. Right-click airTelPackage in the package tree and select New > Schema Group.
  2. In the new dialog box:

    1. Enter the name airTelSchemaGroup.
    2. Select the package, airTelPackage.
    3. Click Add.

Create the telemetry schema

Next, add the airTelTelemetry table (schema) to the schema group.

  1. Right-click airTelSchemaGroup and select New > Schema.
  2. In the new dialog box:

    1. Enter the name airTelTelemetry.
    2. Select the package, airTelPackage.
    3. Click Add.
  3. Enter a description into the text field under the Schema Details tab in the schema editor.

  4. Switch to the Groups tab and confirm that airTelTelemetry is associated with airTelSchemaGroup.
  5. Column names and ordering are important. In the Columns tab, define the following columns:

    Column Name Column Type Description Default Value Key Column Attribute
    timestamp Timestamp Event time (assigned at ingestion) Leave empty false none
    aircraftId Symbol Unique aircraft identifier Leave empty false none
    altitude Integer Altitude (feet) Leave empty false none
    speed Integer Airspeed (knots) Leave empty false none
    temperature Integer External air temperature (°C) Leave empty false none
    pressure Integer Atmospheric pressure (hPa) Leave empty false none
  6. Verify all column names and types are correct, then click Save.

Create a messaging server

The KX Delta Platform Messaging Server is a discovery service. Processes register with it to publish or subscribe to data on named channels. While a system can run without one, the messaging server makes it significantly more flexible and resilient.

Steps:

  1. Right-click airTelPackage in the package tree and select New > Process Instance.
  2. In the new dialog box:

    1. Enter the name airTelMessagingServer.
    2. Select the package, airTelPackage.
    3. Select the template, DS_DMSERVER.
    4. Click Add.
  3. In the Instance Details tab, add a description.

  4. In the Reserved Params tab, set:

    • Host: localhost
    • Port: 8000

    Leave all other Reserved Params blank.

  5. In the Instance Params tab, set the following:

    Parameter Type Value Description
    initialStateFunct Analytic dxEmptyFunctionNull Specifies initial state tasks and sets call backs.
    useUnixDomainSockets Boolean false Use Unix Domain Sockets for localhost connections.
    broadcastPublish Boolean false Enables publishers to use broadcast messaging.
    heartbeatFrequency Integer Leave empty Specifies the interval for client-to-MS heartbeats. Leave empty for disabled.
    serverCluster Config DS_MESSAGING_SERVER Defines the messaging server cluster processes.
  6. Click Save.

Checking port availability (Linux)

Run ss -ltnp | grep :8000. If the command returns nothing, the port is free. If it returns a result, choose a different port.

Test the messaging server

  1. In the Process Instance Library, filter the Instance field by airTel.
  2. Right-click airTelMessagingServer and select Run.
  3. Right-click again and select Show Partial Log.
  4. Confirm the log contains ### normal ### lines. This indicates healthy operation.

Create config parameters

Before defining additional instances, create a configuration parameter group (airTelParameterGroup) and a reusable configuration parameter linked to the shared messaging process instance (airTelMessagingServer), as described below.

All instances use the airTelMessagingServer parameter to communicate through the same messaging server. This approach centralizes the configuration, so if the messaging server changes later, only the parameter reference needs updating instead of modifying every process instance individually, improving flexibility and modularity.

Config Parameter diagram

Create a parameter group

  1. Right-click airTelPackage and select New > Parameter Group.
  2. In the new dialog box:

    1. Enter the name airTelParameterGroup.
    2. Select the package, airTelPackage.
    3. Click Add.
  3. Click Save.

Create the parameter

  1. Right-click airTelParameterGroup and select New Parameter Override.
  2. In the new dialog box:

    1. Select the parameter as DS_MESSAGING_SERVER.
    2. Enter the override as airTelMessagingServer.
    3. Select the package, airTelPackage.
    4. Click Add.
  3. Add a description in the Parameter Details tab.

  4. In Attribute Values, click Add and enter airTelMessagingServer as the instance, then click Add again in the dialog box.
  5. Confirm there are no blank lines in the config before saving — nothing except the filter text row.

    No blank spaces

  6. Click Save.

Create a metrics plant (ticker plant)

The aircraft metrics plant receives all incoming records, writes them to a log file for recovery purposes, and pushes all data to a real-time database and any other processes. It uses KX Delta Platform's built-in ticker plant (DS_TP) template.

What is a "tick"?

The term originates in financial data systems, where a tick is the smallest price movement an instrument can make. In telemetry, a tick is the smallest discrete change a sensor can register and transmit.

Steps:

  1. Right-click the Process Library folder inside airTelPackage and select New Process Instance.
  2. In the new dialog box:

    1. Enter the process instance name as airTelMeticsPlant.
    2. Select the package, airTelPackage.
    3. Choose template DS_TP.
    4. Click Add.
  3. In the Instance Details tab, add a description.

  4. In Reserved Params, set:
    • Host: localhost
    • Port: 8001
  5. Leave all other Reserved Params blank. Click Save.
  6. In Instance Params, set the following:

    Parameter Type Value Description Notes
    messagingServer Config DS_MESSAGING_SERVER:airTelMessagingServer Delta Messaging server This is the overridden parameter configured earlier.
    publishChannel Symbol metricsplant Channel to publish all tables on
    subscriptionChannel Symbol datafeed Channel to subscribe to
    logDirectory Symbol /path/to/kxinstall/delta-data/airTelData/logs Directory to log data to, set to NO_DIR for no log file.

    If you do not have a log directory, you will be unable to replay logs into the RDB at a later stage.
    Replace /path/to/kxinstall with your actual installation path. Ensure the directory exists.
  7. In the Schemas section, ensure airTelSchemaGroup is added.

    Ensure Schema Group added

  8. Click Save.

Next step

Proceed to Databases and workflow to create the HDB and RDB, and to wire all the components together in a workflow.