Heterogeneity in Distributed Embedded Systems. From Programming Paradigms to Testing - Softcover

Baumgartner, Tobias

 
9783954042739: Heterogeneity in Distributed Embedded Systems. From Programming Paradigms to Testing

Synopsis

Advances in the field of wireless sensor networks (WSNs) over the last decade have led to a great number of available hardware platforms and operating systems for embedded devices. With the upcoming research area called Internet of Things (IoT) even more new platforms appeared. Consequently, we are now faced with a vast amount of different embedded systems, ranging from tiny microcontrollers to comparably powerful smartphones. Unfortunately, this diversity of hardware architectures has not yet been fully addressed by any generic software architecture. Various operating systems for embedded devices are available, however, each of them cover only a few architectures. Using Java is not possible on tiny microcontrollers because of the lack of a Java Virtual Machine (JVM) on these platforms. Similarly, the entire field of testing is not geared towards dealing with the amount of heterogeneity. Testing environments are mostly homogeneous, and it is not possible to evaluate ideas on large-sized networks consisting of heterogeneous nodes. In this work, we present techniques to address the aforementioned problems. We introduce modern programming paradigms known from desktop computers and transfer these ideas to embedded systems. Furthermore, we built a testing platform consisting of heterogeneous wireless nodes and sensors. Finally, we present novel communication channels that are able to connect nodes that cannot communicate physically, or even real nodes with simulated ones. Hence, this work consists of three parts: While the dominant programming language on embedded systems is still C, we show that more efficient and comfortable results can be achieved by utilizing modern programming paradigms using C++. We therefore transfer the established template-based design of well-known libraries such as the Standard Template Library (STL) or Boost to embedded systems. After thoroughly studying the design of a software architecture based on C++, we present a successful impleme

"synopsis" may belong to another edition of this title.