Czikó, Á. (2017). Software free of deadlocks caused by multiple locks for an electronic engine control unit [Diploma Thesis, Technische Universität Wien]. reposiTUm. http://hdl.handle.net/20.500.12708/80092
The subject of the thesis is an electronic control unit (ECU) for engine control. Data consistency plays an important role in the development of the software of the ECU. The topic is becoming a hot spot with the rising number of cores and parallelism. A proper concept was developed for critical sections for avoiding deadlocks while data consistency is still guaranteed in these critical sections. The concept considers the usage of different types of locks and other methods. It takes the ECU resources like memory and runtime into consideration. The implementation of the current solution for data consistency poses a bottleneck for the upcoming developments on the same ECU. In the course of this work, the basic circumstances for deadlocks, the Coffman conditions and the handling with Deadlock Prevention, Avoidance and Detection were investigated. The types of the locks and deadlocks were studied. Alternative approaches for locking were considered as well. Locks shall only be used, when necessary. The target system, the ECU and its software were analysed. The whole system is too big and complex for a code-based analysis. Hence, the analysis focused on the concept, the strategies and systematic solutions used in the implementation. The automotive and/or company standards and recommendations for locking were considered. A systematic literature review was carried out. Taken the systematic literature review and the system constrains, new models were created or existing ones were adopted for the handling of deadlocks. Based on the concept, a checker tool was developed. This solution is to be used for handling deadlocks. The concept does not only consist of technical details, but also defines, how it will be possible for the business unit to migrate to the new concept. It intends to have the least effort for the migration while the technical aspects of the concept/model are not violated. Hence, a tool-based solution is advised. The implementation provides a prototype with the basics of the concept. It does also serve as a proof of concept, as it is tested on different possible ECU software versions.