A Hierarchical Framework for Component-based Real-time Systems
Giuseppe Lipari, Paolo Gai, Michael Trimarchi, Giacomo Guidi, Paolo Ancilotti
Electronical Notes in Theoretical Computer Science
In this paper, we describe a methodology for the design and the development of component-based real-time systems. In our model, a component consists of a set of concurrent real-time threads that communicate by means of synchronous and asynchronous operations. In addition, each component can specify its own local scheduling algorithm. We also discuss the support that must be provided at the operating system level, and present an implementation in the SHaRK operating system. Open access under CC
... Y-NC-ND license. characterization of the quality of service of a component from a temporal point of view. This characterization is especially useful in the real-time domain, where components consist of concurrent cyclic tasks with temporal constraints (e.g. deadlines). In fact, when we integrate all the components in the final system, we must be able to analyse the schedulability of the system (i.e. to check if the temporal constraints are respected). Lipari, Bini and Fohler  presented a model for real-time concurrent components. A component consists of one or more concurrent real-time threads and it is characterized by a demand function that describes its temporal requirements. The methodology was later extended by Lipari and Bini  . However, in these papers, simplified model is considered in which components can communicate only asynchronously. In this paper, we refine the model of a real-time concurrent component by considering blocking primitives, like synchronized methods. We also present an implementation of these techniques in the real-time operating system SHaRK. The paper is organized as follows. In Section 2 we describe the model of the system and motivate our work. In Section 4.1 we present our model of a component and we list the system requirements. Section 5 describes briefly the mechanisms that must be provided by a real-time operating system to support our model. Section 6 describes the implementation in the SHaRK operating system. Finally, Section 7 presents the conclusions and some future work.