
 
system. Since the sensors and actuators are under the 
control of the real time system, they are usually 
completely integrated into the automation system. 
Depending on the use of the sensor/actuator, specific 
parameterisation (e.g. acquisition rate, filtering or 
buffering) has to be performed by the customer. 
The second category could be described as 
intelligent subsystems (e.g. measurement devices). 
In contrast to the first category, they are controlled 
by a local microprocessor, which provides functions 
comparable to those of the automation system (e.g. 
real time data acquisition or statistical calculation). 
Devices of this group could be qualified as finite 
automata with several internal states and transitions. 
Usually they are connected to the automation system 
via physical line (e.g. RS232, Ethernet). 
Consequently, data acquisition and control is 
possible only via this physical line and by using 
diverse communication protocols on it. 
These various types of devices have to be 
uniformly integrated into the automation system, so 
that data acquisition and device control can be 
performed in a common way. Thus, automation 
systems typically contain a software layer, with the 
main task to make device specific functions 
available via standard automation interfaces. We 
refer to this software layer as Device Handler (see 
figure 1). Specifically, there are two main 
automation interfaces in PUMA Open (AVL, 2004), 
which are used by Device Handler, i.e., Platform 
Adapter and Device Framework.  
 
 
Figure 1: Device Handler 
 
The former interface offers functions compatible 
to those of the ASAM-GDI Platform Adapter 
(ASAM, 2001). There are two main advantages of 
the Platform Adapter. Firstly, it abstracts the 
complexity of lower ISO/OSI layers 1-6 (ISO, 1990) 
and it provides to the client a generic interface where 
common read/write commands from/to the device 
are independent from the specific lower ISO/OSI 
layers (TCP/IP over Ethernet, RS232, CAN, etc.). 
Secondly, it provides standard OS-services (e.g. 
memory handling and synchronisation) and thus 
enables the client to be independent from the 
specific OS. Consequently, the client, i.e. the Device 
Handler, deals exclusively with device specific 
functions and it is therefore robust to changes of 
lower communication layers and/or OS’s. 
The later interface must be implemented by the 
Device Handler and it contains services that are to 
be used by the automation system, i.e., user. This 
comprises services, such as: handling of device 
channels (System Channels), device 
parameterisation, support of the standard Device 
Handler’s state machine, data storage, etc.
 
2 DEVICE HANDLER TYPES 
One of the most important aspects of the automation 
system is the synchronisation of all test bed 
components (software and hardware) in order to 
perform specific control and/or measurement tasks 
(e.g. power-up all devices or get ready to start the 
measurement of the system under test). As 
mentioned in the previous chapter, all devices are 
synchronised due to the fact that all Device Handlers 
behave in a uniform way, which is ensured by 
supporting the state machine, i.e., states and 
transitions of the Device Framework interface. For 
instance, if the automation system wants to perform 
a measurement, it simply invokes the transition 
StartMeasurement of each Device Handler. The 
Device Handler interprets this command in a device 
specific way and accordingly sends one or more 
protocol frames to the device. Depending on the 
physical connection (e.g. RS232, CAN), the protocol 
mode (e.g. bus, peer to peer), the communication 
mode (e.g. master-slave, burst-mode) and the 
functionality (e.g. measure, calibrate), one could 
distinguish between various families of devices, i.e., 
Device Handlers. 
Device2
Automation System
Device Framework
Device Handler
Device1 Device3
Platform Adapter
As a result of this, the device is switched to the 
intended state (e.g. measurement mode) and is able 
to perform the specific activities. Acquired data are 
analysed and accordingly the transition is performed, 
the values of System Channels are updated, etc.   
DEVICE INTEGRATION INTO AUTOMATION SYSTEMS WITH CONFIGURABLE DEVICE  HANDLER
199