On the Complexity of Scheduling Conditional Real-Time Code

  • Samarjit Chakraborty
  • Thomas Erlebach
  • Lothar Thiele
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2125)


Many real-time embedded systems involve a collection of independently executing event-driven code blocks, having hard real-time constraints. Portions of such codes when triggered by external events require to be executed within a given deadline from the triggering time. The feasibility analysis problem for such a real-time system asks whether it is possible to schedule all such blocks of code so that all the associated deadlines are met even in the worst case triggering sequence. Each such conditional real-time code block can be naturally represented by a directed acyclic graph whose vertices correspond to portions of code having a straight-line flow of control and are associated with execution requirements and deadlines relative to their triggering times, and the edges represent conditional branches. Till now, no complexity results were known for the feasibility analysis problem in this model, and all existing algorithms in the real-time systems literature have an exponential complexity. In this paper we show that this problem is NP-hard under both dynamic and static priorities in the preemptive uniprocessor case, even for a set of only two task graphs. For dynamic-priority feasibility analysis we give a pseudo-polynomial time exact algorithm and a fully polynomial-time approximation scheme for approximate feasibility testing. For the special case where all the execution requirements of the vertices are identical, we present a polynomial time exact algorithm. For static-priority feasibility analysis, we introduce a new sufficient condition and give a pseudo-polynomial time algorithm for checking it. This algorithm gives tighter results for feasibility analysis compared to those known so far.


Code Block Task Graph Minimum Time Interval Feasibility Analysis Conditional Branch 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    N.C. Audsley, K.W. Tindell, and A. Burns. The end of the line for static cyclic scheduling? In Proc. Euromicro Conf. on Real-Time Systems, Finland, 1993. IEEE Computer Society Press.Google Scholar
  2. 2.
    S. Baruah. Dynamic-and static-priority scheduling of recurring real-time tasks. To appear in Real-Time Systems.Google Scholar
  3. 3.
    S. Baruah. Feasibility analysis of recurring branching tasks. In Proc. 10th Euromicro Workshop on Real-Time Systems, pages 138–145, 1998.Google Scholar
  4. 4.
    S. Baruah. A general model for recurring real-time tasks. In Proc. Real-Time Systems Symposium, pages 114–122. IEEE Computer Society Press, 1998.Google Scholar
  5. 5.
    S. Baruah, D. Chen, S. Gorinsky, and A.K. Mok. Generalized multiframe tasks. Real-Time Systems, 17(1):5–22, 1999.CrossRefGoogle Scholar
  6. 6.
    S. Baruah, R.R. Howell, and L.E. Rosier. Algorithms and complexity concerning the preemptive scheduling of periodic, real-time tasks on one processor. Real-Time Systems, 2:301–324, 1990.CrossRefGoogle Scholar
  7. 7.
    S. Chakraborty, T. Erlebach, and L. Thiele. On the complexity of scheduling conditional real-time code. Technical Report TIK Report No. 107, ETH Zürich, 2001.
  8. 8.
    A.K. Mok. Fundamental Design Problems of Distributed Systems for the Hard-Real-Time Environment. PhD thesis, Laboratory for Computer Science, MIT, 1983. Available as Technical Report No. MIT/LCS/TR-297.Google Scholar
  9. 9.
    A.K. Mok and D. Chen. A multiframe model for real-time tasks. IEEE Transactions on Software Engineering, 23(10):635–645, 1997.CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2001

Authors and Affiliations

  • Samarjit Chakraborty
    • 1
  • Thomas Erlebach
    • 1
  • Lothar Thiele
    • 1
  1. 1.Institut für Technische Informatik und KommunikationsnetzeETH ZürichETH ZentrumSwitzerland

Personalised recommendations