Hamböck, T. (2015). Towards a toolchain for asynchronous embedded programming based on the peer-model [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2015.24505
toolchain; space-based middleware; embedded systems
de
toolchain; space-based middleware; embedded systems
en
Abstract:
In den letzten Jahren setzen sich drahtlose Sensornetzwerke mehr durch und entsprechende Funkknoten werden immer günstiger. Dies ermöglicht auch den Einsatz von Sensornetzwerken für kleinere Projekte oder den Privatgebrauch. Nichtsdestotrotz ist die Toolchain Unterstützung für die Softwareentwicklung noch alles andere als optimal. Das Ziel dieser Arbeit liegt darin, Methodik und Unterstützung in Form einer Toolchain in die Programmierung von verteilten, eingebetteten Systemen zu bringen. Die zugrundeliegende Anwendung stammt aus dem Eisenbahnbereich, bei dem Kupferkabel entlang einer Eisenbahnstrecke durch intelligente Funkknoten ersetzt werden sollen. Hier soll das Signal eines Radsensors, der ankommende Züge erkennt, entlang der Strecke verlässlich zur Eisenbahnkreuzung übertragen werden. Das Peer Modell ist ein Programmiermodell welches die Entwicklung von Koordinationssoftware für verteilte und parallele Systeme vereinfacht. Es basiert auf Prinzipien von "shared spaces" und folgt einem asynchronen, ereignisgesteuerten Ansatz. Dieses Modell wird an die Anforderungen von drahtlosen Sensornetzwerke angepasst und eine domänenspezifische Sprache entwickelt, die als Grundlage für eine umfassende Toolchain dienen soll. Um die Programmierung zu vereinfachen wird außerdem ein Übersetzer für eine ANSI C Implementierung für eingebettete Systeme realisiert, der eine Arduino-basierte und eine eigens entwickelte energieoptimierte Plattform unterstützt. Abschließend werden die Vorteile der entwickelten Toolchain durch die Umsetzung verschiedener Einsatzszenarien, unter anderem der Eisenbahnanwendung, hinsichtlich dem benötigten Speicherplatz, der Energieeffizienz und der durch veränderte Anforderungen hervorgerufenen benötigen Änderungen im Quellcode analysiert. Für die Anwendung im Eisenbahnbereich werden außerdem Feldtests an einer Eisenbahnstrecke durchgeführt.
de
In recent years, the field of wireless sensor networks grew more and more. Suitable wireless sensor nodes are getting cheaper and cheaper and therefore, even large quantities are affordable for amateur home automation and other smaller projects. Nevertheless, toolchain support and software development principles are far from optimal. The focus of this work is to bring software engineering methods to embedded systems programming and the development of a toolchain for distributed embedded systems, supporting embedded software engineers in design and implementation. The motivating use case for this work comes from the railway telematics domain where copper cables shall be replaced by wireless smart nodes along a railway track. A wheel sensor beside the track reports approaching trains and this information has to be routed over the wireless network to a controller at the level crossing. The Peer Model is a programming model especially aiming to improve the development of coordination for distributed and concurrent systems. It is based on a space-based abstraction and uses an asynchronous, event-driven approach. This model is therefore adapted to fit wireless sensor networks' needs. Then a domain specific language is developed which shall serve as the basis for a holistic toolchain. To bridge the gap between coordination design and embedded implementation a compiler generating ANSI C code for embedded platforms is implemented. The ANSI C framework is implemented for one Arduino based controller and one wireless sensor node optimised with respect to energy efficiency. Finally the advantages of the developed toolchain are evaluated by implementing different case studies. The implementations of the scenarios are benchmarked regarding framework overhead, energy efficiency and source code changes implied by changing requirements. For the motivating use case also fieldtests beside a railway track are carried out and analysed.
en
Additional information:
Abweichender Titel laut Übersetzung der Verfasserin/des Verfassers Zsfassung in dt. Sprache