University of Twente Student Theses


Design of a hard real-time, multi-threaded and CSP-capable execution framework

Wilterdink, Robert (2011) Design of a hard real-time, multi-threaded and CSP-capable execution framework.

[img] PDF
Abstract:Nowadays, embedded systems are designed for multiple and more demanding tasks, whereas previously they had a single use case and were less demanding. One can think of automated robot vacuumcleaners in the past versus complete household robots presently. This progress is possible due to improved hardware architectures, withmultiple parallel cores/processors, and increased resources for embedded systems. The formal language Communicating Sequential Processes (CSP) is designed to aid development of such parallel computing software. In the past, the CTC++ framework was developed to implement CSPmodels on embedded systems. This framework was designed for single core/processor architectures and its design now is outdated. To design a new framework, which can also fully utilize future embedded architectures, state of the art frameworks and libraries were investigated. They are analyzed on their software architecture, platformindependence, timing and real-time capabilities, and scalability and extensibility. A comparison on these subjects is included as well. The LUNA framework described in this report is a hard real-time, multi-threaded, multiplatform, CSP capable and a component based framework. Many of its components can be enabled/disabled separately to achieve high scalability. For the first framework implementation the hard real-time QNX operating system (OS) is chosen, since it includes CSP similar rendezvous channels. But, as it turned out, QNX’ rendezvous channels are not usable for some of the rather advanced CSP rendezvous communication operations. Additionally, a distinctive implemented feature is the real-time logger. It can be used to transfer log messages, (a)periodic (control) signals and CSP execution traces to a development PC for further processing, without destroying the real-time constraints. To analyze LUNA’s performance a simple robotic setup is implemented. The results show that the new CSP design ismore efficient and faster than the CT library. From the foregoing, it can be concluded that LUNA is suitable to develop real-time control applications, with or without CSP, for a multitude of hardware architectures and OSs. The main recommendations are to implement LUNA for other real-time OSs as well and to implement a graphical modelling tool, such as gCSP, to generate LUNA code from complex models for robotics applications. Besides this, the visualisation of CSP traces recorded with the RTLogger should be improved, as the data mining for these is still a lot of work. Perhaps, other setups in the lab should also be implemented with LUNA to verify its performance extensively.
Item Type:Essay (Master)
Faculty:EEMCS: Electrical Engineering, Mathematics and Computer Science
Subject:53 electrotechnology
Programme:Electrical Engineering MSc (60353)
Link to this item:
Export this item as:BibTeX
HTML Citation
Reference Manager


Repository Staff Only: item control page