Open Embedded Control

Klas Nilsson, Anders Blomdell, Olof Laurin

In Real-Time Systems, Vol 14, No 3, pp 325-343, copyright Kluwer, 1998.

Abstract

Embedded control devices today usually allow parameter changes, and
possibly activation of different pre-implemented algorithms. Full
reprogramming using the complete source code is not allowed for
safety, efficiency, and proprietary reasons. For these reasons,
embedded regulators are quite rigid and closed concerning the control
structure.

In several applications, like industrial robots, there is a need to
tailor the low level control to meet specific application demands.  In
order to meet the efficiency and safety demands, a way of building
more generic and open regulators has been developed. The key idea is
to use pieces of compiled executable code as functional operators
which in the simplest case may appear as ordinary control
parameters. In an object oriented framework, this means that new
methods can be added to controller objects after implementation of the
basic control, even at run-time.

The implementation was carried out in industrially well accepted
languages such as C and C++. The dynamic binding at run-time differs
from ordinary dynamic linking in that only a subset of the symbols can
be used. This subset is defined by the fixed part of the system.  The
safety demands can therefore still be fulfilled.  Encouraged by
results from fully implemented test cases, we believe that
extensive use of this concept will admit more open, still efficient,
embedded systems.