Development of an in-vehicle middleware
Abstract
In the context of in-vehicle embedded systems, a middleware layer is intended to mask the heterogeneity of platforms and to provide high level communication services to applicative tasks. In addition, it is a software architecture shared between car makers and third-part suppliers, ensuring the portability and interoperability of the applicative level components. In this context, the interoperability covers the interfaces between components, and also, the guarantee that at run-time, tasks implementing these components and their data exchanges respect all the required timing constraints (i.e. timing interoperability). This study presents a method aiming at developing the middleware's architecture, and obtaining feasible scheduling parameters for network frames (specifically for CAN frames) and middleware and applicative tasks. The architecture is built from a set of design patterns and is represented by a class diagram that specifies the software components implementing the middleware services. Then, from the events that are handled by the middleware, tasks providing the communication services are precisely identified and a possible implementation targeted at OSEK/VDX OS is discussed. Finally, the scheduling parameters of frames and tasks are determined in such a way that timing constraints on tasks and signals are ensured to be met.