
UAO Technology
The UAO technology starts with the IEC 61499 standard for interoperability and portability.
The shared runtime execution engine is based on the IEC 61499 standard
The shared runtime execution engine is based on the IEC 61499 standard for interoperability between hardware from different vendors and portability of software applications. UniversalAutomation.Org provides a ready-to-go solution that enables flexible Industry 4.0 automation architectures and drastically improves return on investment with easy reusability and portability.

The IEC 61499 standard
The IEC 61499 standard is not a programing language but a system design language for distributed information and control systems.
It is architectured around 3 models:
- Application model to define a hardware-independent software application, consisting of a network of graphical software components.
- Device model to define the underlying hardware devices and compute resources that will execute the application. These devices could be classical automation controllers like DCS/PLC’s, smart field devices (instruments and actuators) or edge computing devices.
- System model that defines how to take the application and deploy it to the hardware devices/resources.

Event driven
The underlying building block is the event-driven Function Block (FB) consisting of a graphical wrapper with event in/data in pins, event out/data out pins, an internal state machine (known as the Execution Control Chart) and algorithms that are executed in the different states. When an event input is activated, an algorithm is triggered that takes data from the input pins, and writes the results to the output pins.
It should be noted that:
- The standard does not define the programming language but does recommend the use of the IEC 61131-3 languages.
- The FB acts on local variables only. In this sense it is an independent and self-contained software component in the IT-sense.
- The graphical nature of the FB application is familiar to automation engineers and lends itself to debugging/commissioning.

Hardware independent components
The IEC 61499 standard defines a world of hardware-independent software components that can be “plugged” together to build applications, and distributed to the hardware architecture of choice, as defined by the user. Proven-in-use know-how (intellectual property) can be encapsulated into black boxes enabling new business models for automation.
However, delivering the promise of the IEC 61499 standard requires a widespread adoption. UniversalAutomation.Org has been created for this purpose.

Developments managed by the association
The ongoing development of the runtime execution engine is managed by the Association members following shared source principles. Members act collectively, sharing technology development, insights, and information to create a common runtime execution engine. This lays the foundations for a market of “plug and produce” automation solutions.

The IEC 61499 standard will help industry have a common platform for different types of software functionalities in automation, allowing organisations to achieve a certain level of reliability and predictability, as well as increasing flexibility of production plants.
Valeriy Vyatkin Professor of Electrical Engineering at Aalto University
