Other Languages

Integrated expression and query languages are suitable for most typical data analysis tasks. However, more domain-specific languages are available as additional AggreGate modules.

Most languages, such as Java or Python, assume writing algorithms in plain text and debugging them in a syntax-highlighted editor. Other languages are based on the visual flow design.

Process Control Languages

A family of IEC 61131-3 programming languages is supported by some AggreGate-based products. Runtime modules of those languages are also called Soft-PLC since they enable functionality of hardware Programmable Logic Controllers (PLCs).

Soft PLC suite includes development, debug and runtime environment of four languages:

  • ST - Structured Text
  • FBD - Function Block Diagram
  • SFC - Sequential Function Chart
  • LD - Ladder Diagram

The primary objective of adding support for process control languages into AggreGate was to give its users a convenient tool for developing applications that run in embedded environments, such as IoT gateways, Linux PLCs, and single-board computers. This opens our platform to millions of automation engineers who are well-versed in programming classic PLCs.

Expect Language

AggreGate's implementation of Expect language allows interacting with devices that use Command Line Interface (CLI). Expect scripts send custom-tailored messages to a device and require it to provide one of the pre-defined variants of output. Device monitoring control, configuration and upgrade scripts can be designed in such a way.


The AggreGate server can execute scripts which are basically small programs written in various programming languages. Supported scripting languages are Java, Python and R. It's also possible to call scripts written in other languages (such as PHP or Javascript) as external applications.