This content is not included in your SAE MOBILUS subscription, or you are not logged in.
Tackling the Complexity of Timing-Relevant Deployment Decisions in Multicore-Based Embedded Automotive Software Systems
ISSN: 1946-4614, e-ISSN: 1946-4622
Published April 08, 2013 by SAE International in United States
Citation: Schwitzer, W., Schneider, R., Reinhardt, D., and Hofstetter, G., "Tackling the Complexity of Timing-Relevant Deployment Decisions in Multicore-Based Embedded Automotive Software Systems," SAE Int. J. Passeng. Cars – Electron. Electr. Syst. 6(2):478-488, 2013, https://doi.org/10.4271/2013-01-1224.
Multicore-based ECUs are increasingly used in embedded automotive software systems to allow more demanding automotive applications at moderate cost and energy consumption. Using a high number of parallel processors together with a high number of executed software components results in a practically unmanageable number of deployment alternatives to choose from. However correct deployment is one important step for reaching timing goals and acceptable latency, both also a must to reach safety goals of safety-relevant automotive applications. In this paper we focus at reducing the complexity of deployment decisions during the phases of allocation and scheduling. We tackle this complexity of deployment decisions by a mixed constructive and analytic approach. On the constructive side, we model a multicore-based embedded automotive software system as a tuple S=(L,R) with a given architecture L of the system's software component network and a given architecture R of the system's platform component network. On the analytic side, we derive models of the system's deployment as a tuple D=(Μ,Ζ), where the relation Μ:L→R describes the allocation mapping from software components to platform components and the relation Ζ:L→Ν0 describes the scheduled start times of software components. The architectures L and R allow to describe hierarchically nested software- and platform-component networks. Hence, we are able to represent coarse-grain structures like domain functions and domain networks as well as fine-grain structures like individual driver-calls, algorithms, ECUs and CPU cores as well. With all this architectural information contained in precise models, deployment alternatives (allocations and schedules) can be automatically derived and analyzed for conformance with timing requirements, given by a set of timing constraints C. To demonstrate the usability of the approach, we implemented an architecture description language in the academic open source tool CADMOS together with a prototypical allocation and scheduling support. We are evaluating the practicability of the approach within a case study in the German national joint project ARAMiS using a close-to-production multicore-based system in cooperation with Technische Universitat Munchen, AUDI AG and BMW AG.