Marek, A. O. B. (2010). Design and implementation of TinySpaces : the .NET micro framework based implementation of XVSM for embedded systems [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://resolver.obvsg.at/urn:nbn:at:at-ubtuw:1-32278
xvsm; coordination; embedded; networked embedded systems
de
Abstract:
Until today developing software for embedded devices has been a tedious task with the main problem that those applications interface directly with the hardware they are run on. This causes a strong coupling between hardware and software, thus making it hard to impossible to reuse code.<br />Furthermore there is a continuously growing number of networked embedded devices which need to collaborate with each other using different communication protocols like TCP/IP, ZigBee, Bluetooth et cetera. For that reason the need for a common middleware to connect those devices increases, but the tight software-hardware coupling makes it hard to write such a system for different devices. There already exist some middlewares like emORB [1], which is based on CORBA (Common Object Request Broker Architecture). However CORBA does not allow for P2P (Peer-to-Peer) communication and is thus limited for the usage in mobile networked embedded systems.<br />Back in 2001 Microsoft started the Smart Personal Object Technology (SPOT) initiative and the .NET Micro Framework was born, which made it possible to write managed, hardware-independent code for embedded devices. Even though this framework is only supported on 32 bit devices, it supports a wide range of those and allows for developing a platform independent prototype of a slimmed XVSM middleware.<br />This thesis focuses on the implementation of TinySpaces, a middleware based on the XVSM (eXtensible Virtual Shared Memory) principle. As TinySpaces is specialized for resource constrained devices several compromises need to be made, which are explained in this document.<br />Nevertheless it is shown that TinySpaces is a compatible subset of other XVSM implementations, as it complies with the XVSM standard although several functionalities needed to be slimmed or omitted to make TinySpaces lightweight enough for embedded devices.<br />To prove that TinySpaces perform well, benchmarks are made concerning memory utilization and CPU usage of TinySpaces, as well as code-size, performance, and byte usage of three implemented serialization mechanisms.<br />