Summary: | Embedded control systems are gaining an increasing amount of responsibility in today's vehicles and industrial machines. As mechanical components are replaced by software, the complexity of control systems and the amount of data they are responsible for greatly increase. Generally there are two approaches to dealing with this huge amount of information, but both have flaws which can reduce system performance, or in the worst case scenario cause fatal system failures with potential to cause loss of human lives. The two approaches are creation of large purpose-built data structures with shared variables, and implementation of a database. The first is often not scalable, becomes tremendously complex, and has high development costs, while the latter has the common downside that many databases are simply too slow. This study will explore the possibilities of using a real-time database to overcome these issues. As part of one of their control systems, CC Systems have developed the Diagnostic Runtime Engine (DRE) which keeps track of the state of the system. The database currently used in the DRE is too slow and this thesis project aims to replace it with a Mimer SQL Real-time Edition database. This real-time database utilises a unique concept called database pointers to access data in hard real-time. Although the real-time database comes with some issues and limitations of its own, this study shows that most of them can be worked around rather easily. Implementation of the real-time database would allow the DRE to handle incoming signals more than 50 times faster than the demands, as well as heavily decrease the complexity of the DRE's source code. Mimer SQL Real-time Edition works entirely with in-memory copies of database tables, and the tables must be explicitly saved, or flushed, to the disk. In order to optimise the flush we need to know roughly how often we can expect incoming signals, but such information is currently not available. Instead this thesis draws up some important criteria that should be considered when optimising the flush performance. The conclusion of this thesis is that implementation of Mimer SQL Real-time Edition would be beneficial for the Diagnostic Runtime Engine.
|