Timing Constraints in Distributed Development of Automotive Real-time Systems
Oliver Scheickl · mediaTUM – the media and publications repository of the Technical University Munich (Technical University Munich) · 2011
The amount of functions that are realized by software is increasing in modern automobiles. Most innovations in the automotive industry are driven by such functions today. Many of these functions, especially safety-relevant functions, must fulfill strict timing constraints. This thesis introduces a new development approach for automotive real-time systems. Traditionally, the overall vehicle electrical system is designed and integrated by the car manufacturer (OEM). Suppliers actually develop different subsystems in a so-called distributed development process. The OEM specifies the desired functionality, and suppliers develop their subsystem according to its specification. End-to-end car functions are often realized by software components that are distributed over several electronic control units (ECU), which exchange data via communication busses. ECUs and software components are typical subsystems. The control and data paths of functions thus often cross several subsystems, which are typically provided by different suppliers. The response times of functions, which must fulfill given timing constraints, include execution and transmission times along their control and data paths. In such a distributed development process of distributed automotive real-time systems, OEMs today face a challenging system integration task. First, they must ensure that the combined timing behavior - i.e. execution and transmission times - of all supplied subsystems fulfills all function timing constraints of the system. Second, if a timing constraint is not fulfilled, the OEMs need to know which subsystem causes the problem and how the problem can be solved. This thesis proposes a solution to that system integration challenge. In our approach, the specifications for the suppliers include requirements for the desired subsystem timing behavior. However, the subsystem timing requirements are not independent from each other. Rather they are derived from the function timing constraints. The timing behavior of a supplied subsystem is reported back to the OEM in a way that abstracts from the underlying implementation details by providing data path-related timing behavior guarantees. By comparing the timing requirements with the reported guarantees of all subsystems, timing problems can be localized and an according reaction in terms of an intelligent modification of the timing requirements can be triggered. In an iterative process the approach tries to find a suitable timing specification for all subsystems, until all function timing constraints are fulfilled. The process is based on Timex, a new timing model for the specification of both function timing constraints and derived subsystem timing requirements. Further, the Timex development methodology describes and formalizes an algorithm to derive and iteratively maintain subsystem timing requirements. The benefit of the methodology is that the timing behavior of subsystems can be analyzed independently from each other. Timing problems that cause unfulfilled function timing constraints can be identified in the model. They are then repaired by a structured, systematic redistribution of time budgets between subsystems.