From task scheduling in single processor environments to message scheduling in a PROFIBUS fieldbus network
Lecture Notes in Computer Science
In this paper we survey the most relevant results for the priority--based schedulability analysis of real-time tasks, both for the fixed and dynamic priority assignment schemes. We give emphasis to the worst-case response time analysis in non-preemptive contexts, which is fundamental for the communication schedulability analysis. We define an architecture to support priority-based scheduling of messages at the application process level of a specific fieldbus communication network, the PROFIBUS.
... The proposed architecture improves the worst-case messages' response time, overcoming the limitation of the first-come-first-served (FCFS) PROFIBUS queue implementations. Real-time computing systems are defined as those systems in which the correctness of the system depends not only on the logical result of computation, but also on the time at which the results are produced  . There are various examples of real-time computing systems, ranging from distributed computer control to robotics. In this paper we particularly address distributed computer-controlled systems (DCCS) applications. A recent trend in DCCS is to interconnect distributed elements by means of a multi-point broadcast network, instead of using traditional point-to-point links. As the network bus is shared between a number of network nodes, there is an access contention, which must be solved by the Medium Access Control (MAC) protocol. Usually, a DCCS application imposes real-time constraints. In essence, by realtime constraints we mean that traffic must be sent and received within a bounded interval, otherwise a timing fault is said to occur. This motivates the use of communication networks within which the MAC protocol is able to schedule messages streams according to its real-time requirements. During the past decade a reasonable number of commercial solutions, usually called fieldbus networks, have been proposed to support DCCS applications. Some distinguished examples are FIP , PROFIBUS , CAN  or P-NET . In parallel, several international standardisation efforts have been and are still being carried out. One of the most relevant resulted into the European Standard EN 50170  , which basically encompasses three well-proven fieldbus national standards: PROFIBUS, FIP and P-NET. A potential leap towards the use of fieldbus networks to support DCCS applications lies in the evaluation of its temporal behaviour. Several studies have been performed, such as those on CAN [7,8], on FIP [9,10] and on P-NET [11, 12] . Contrarily to other networks   which are based in the timed token protocol , in PROFIBUS it is not possible to define, in each master, its synchronous bandwidth allocation 1 . Thus, it is not possible to use analysis similar to those proposed in   . In  the authors take two different approaches to guarantee real-time traffic using PROFIBUS networks. One of the approaches considers a worst-case scenario with, at most, one high priority message cycle 2 transmission per token visit. Thus, if there are m high priority messages pending to access the bus, in the worst-case it will take m token visits to execute all those high priority message cycles. Considering the maximum token cycle (has derived in ), it is possible to evaluate the maximum queuing delay of any message request. In PROFIBUS, pending requests are queued in a First-Come-First-Served (FCFS) queue. Hence, a message request will have a worst-case queuing delay that depends on the maximum priority inversion of messages. This motivated a study on adding local priority-based scheduling mechanisms to PROFIBUS masters. One possibility relies on the implementation of a priority-based queue at the application process level, and limits the FCFS communication stack queue to one pending request. There are several results available for the pre-run-time schedulability analysis of tasks in a single processor environment. In this paper we will show how those results can be adapted for message pre-run-time schedulability analysis in PROFIBUS communication networks. The remaining of the paper is organised as follows. In the next section we will survey the most relevant results of tasks' pre-run-time schedulability analysis for both fixed and dynamic priority assignment schemes. We will give emphasis to the worstcase response time analysis in non-preemptive contexts. In section 3, PROFIBUS protocol is presented and the timing analysis proposed in  is detailed. Finally, in section 4, an architecture to support priority-based scheduling of messages at the PROFIBUS application process level is defined, and the single processor worst-case tasks' response time analysis is adapted to obtain the worst-case messages' response time.