Overview

The Huxon language is a programming language designed to simplify the development of IoT algorithms and applications. Rather than being a standalone programming language, Huxon language is embedded in C++. This means that you can use Huxon directives inside C++ to define a representation of a Huxon algorithm.

The main elements of a Huxon algorithm are:
  • Sources: generate data at a given rate, inside the Huxon language sources are provided by sensors

  • Channels: combine data from one or more input elements, the rate at which the output data is generated and its type depend on the channel logic

  • Processing Nodes: read data from a channel, modify it using custom C++ logic and generate a new output

All the elements inside a Huxon algorithm run in parallel and execute their functionality as soon as new data is available. By combining multiple elements it is possible to define a data processing pipeline that runs continuously and produce data in real time, obtained from many sensors displaced in (possibly) distant locations.

DevContainer Build

Algorithms written using the Huxon language can be uploaded to Huxon and used for creating virtual sensors. A virtual sensor is simply a Huxon algorithm in which each declared sensor is assigned by the user to a corresponding physical sensor of an infrastructure.

The virtual sensors created from a Huxon algorithm can then be deployed on a physical infrastructure with Huxon. During the deployment, Huxon takes care of partitioning and mapping the elements of the algorithm on the physical nodes of the infrastructure, hence automatically creating a distributed implementation of the specified Huxon algorithm.

To get started using the Huxon language, we suggest to:
  1. access the Prerequisites and setup section to download the necessary tools

  2. go through the Tutorial section for a guided introduction to the Huxon language