SRMP: a software pattern for deadlocks prevention inreal-time concurrency models
Résumé
Model-based approaches for the development of software intensive real-time embedded systems allow early verification of timing properties at the design phase. At this phase, the Real-Time Operating System (RTOS) may not be chosen, hence some assumptions on the software platform are made to achieve timing verifications such as schedulability analysis of tasks describing the application. Among these assumptions, the synchronization protocol which is used to manage the concurrent access to resources that are shared between tasks. A classical solution is to consider the Priority Ceiling Protocol (PCP) synchronization protocol to avoid deadlocks. However, when this protocol is not provided by the target RTOS on which the application will be deployed, the concurrency model becomes not implementable and a new synchronization protocol must be considered. In this paper, we propose the Shared Resource Merge Pattern (SRMP) which aims to prevent deadlocks when the use of PCP protocol is not allowed by the target RTOS. The application of this pattern on the concurrency model must guarantee that the timing properties of the real-time application are still met.