Besides collecting data over real-time communication systems, such as Controller Area Network (CAN bus), an automotive monitoring service must support processing, filtering, dissemination, and visualization. This work examines software design patterns useful for the efficient design of automotive monitoring services, in particular Event Data Recorder and Driver Assist (EDR/DA) systems that involve real-time monitoring and control. The patterns defined in this study include inter-process communication, shared repository, remote access, asynchronous signaling, event handling and ordering, mixed criticality, security, and safety. Selecting and integrating the most appropriate patterns is fundamental to the efficient design of an EDR/DA. As an example, we consider one-to-one inter-process communication, and compare power and performance characteristics when implementing this pattern using either classical producer-consumer algorithms, or concurrent queues on a multicore Odroid XU3 system.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Software Design Patterns for Efficient Automotive Monitoring Systems: An Event Data Recorder Use-Case

  • Miltos D. Grammatikakis,
  • George Kornaros,
  • Vasilis Kavvalos

摘要

Besides collecting data over real-time communication systems, such as Controller Area Network (CAN bus), an automotive monitoring service must support processing, filtering, dissemination, and visualization. This work examines software design patterns useful for the efficient design of automotive monitoring services, in particular Event Data Recorder and Driver Assist (EDR/DA) systems that involve real-time monitoring and control. The patterns defined in this study include inter-process communication, shared repository, remote access, asynchronous signaling, event handling and ordering, mixed criticality, security, and safety. Selecting and integrating the most appropriate patterns is fundamental to the efficient design of an EDR/DA. As an example, we consider one-to-one inter-process communication, and compare power and performance characteristics when implementing this pattern using either classical producer-consumer algorithms, or concurrent queues on a multicore Odroid XU3 system.