Automated Software Engineering

, Volume 18, Issue 1, pp 5–38 | Cite as

A model-based approach for multiple QoS in scheduling: from models to implementation

  • Christos Kloukinas
  • Sergio Yovine


Meeting multiple Quality of Service (QoS) requirements is an important factor in the success of complex software systems. This paper presents an automated, model-based scheduler synthesis approach for scheduling application software tasks to meet multiple QoS requirements. As a first step, it shows how designers can meet deadlock-freedom and timeliness requirements, in a manner that (i) does not over-provision resources, (ii) does not require architectural changes to the system, and that (iii) leaves enough degrees of freedom to pursue further properties. A major benefit of our synthesis methodology is that it increases traceability, by linking each scheduling constraint with a specific pair of QoS property and underlying platform execution model, so as to facilitate the validation of the scheduling constraints and the understanding of the overall system behaviour, required to meet further QoS properties.

The paper shows how the methodology is applied in practice and also presents a prototype implementation infrastructure for executing an application on top of common operating systems, without requiring modifications of the latter.


CASE Model checking Process management Real-time systems and embedded systems 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Altisen, K., Gößler, G., Sifakis, J.: Scheduler modeling based on the controller synthesis paradigm. Real-Time Syst. 23(1), 55–84 (2002) zbMATHCrossRefGoogle Scholar
  2. Alur, R., Dill, D.L.: A theory of timed automata. Theor. Comput. Sci. 126(2), 183–235 (1994) zbMATHCrossRefMathSciNetGoogle Scholar
  3. Asarin, E., Maler, O., Pnueli, A.: Symbolic controller synthesis for discrete and timed systems. In: HS-II. LNCS, vol. 999, pp. 1–20. Springer, Berlin (1995) Google Scholar
  4. Assayad, I., Bertin, V., Defaut, F.-X., Gerner, Ph., Quevreux, O., Yovine, S.: Jahuel: A formal framework for software synthesis. In: ICFEM’05. LNCS, vol. 3785, pp. 204–218. Springer, Berlin (2005) Google Scholar
  5. Barroso, L.A., Dean, J., Hölzle, U.: Web search for a planet: The Google cluster architecture. IEEE Micro 23(2), 22–28 (2003) CrossRefGoogle Scholar
  6. Baruah, S.K., Howell, R.R., Rosier, L.: Algorithms and complexity concerning the preemptive scheduling of periodic, real-time tasks on one processor. Real-Time Syst. 2, 301–324 (1990) CrossRefGoogle Scholar
  7. Bertin, V., Daveau, J.-M., Guillaume, P., Lepley, T., Pilat, D., Richard, C., Santana, M., Thery, T.: FlexCC2: An optimizing retargetable C compiler for DSP processors. In: EMSOFT’02, pp. 382–398 (2002) Google Scholar
  8. Bordin, M., Panunzio, M., Vardanega, T.: Fitting schedulability analysis theory into model-driven engineering. In: ECRTS’08, pp. 135–144 (2008) Google Scholar
  9. Bruno, E.: Java RTS real-time enables financial applications. (Online) 23 August 2007
  10. Carr, N.: Avatars consume as much electricity as Brazilians. (Online) 5 December 2006
  11. Closse, E., Poize, M., Pulou, J., Sifakis, J., Venier, P., Weil, D., Yovine, S.: Taxys: a tool for the development and verification of real-time embedded systems. In: CAV’01. LNCS, vol. 2102. Springer, Berlin (2001) Google Scholar
  12. Combaz, J., Fernandez, J.-C., Sifakis, J., Strus, L.: Symbolic quality control for multimedia applications. Real-Time Syst. 40(1), 1–43 (2008) zbMATHCrossRefGoogle Scholar
  13. Coplien, J., Hoffman, D., Weiss, D.: Commonality and variability in software engineering. IEEE Softw. 15(6), 37–45 (1998) CrossRefGoogle Scholar
  14. Dobrin, R., Fohler, G.: Reducing the number of preemptions in fixed priority scheduling. In: ECRTS’04, pp. 144–152, June 2004 Google Scholar
  15. Fohler, G., Buttazzo, G.C.: Introduction to the special issue on flexible scheduling. Real-Time Syst. 22(1/2), 5–7 (2002) CrossRefGoogle Scholar
  16. Gansner, E.R., North, S.C.: An open graph visualization system and its applications to software engineering. Softw. Pract. Exp. 30(11), 1203–1233 (2000) zbMATHCrossRefGoogle Scholar
  17. Garey, M.R., Johnson, D.S.: Two-processor scheduling with start-times and deadlines. SIAM J. Comput. 6(3), 416–426 (1977) zbMATHCrossRefMathSciNetGoogle Scholar
  18. Gauthier, L., Richard-Foy, M.: Expresso RNTL project—High Integrity Profile. (2002)
  19. Harbour, M.G., Klein, M.H., Lehoczky, J.P.: Timing analysis for fixed-priority scheduling of hard real-time systems. IEEE Trans. Softw. Eng. 20(1), 13–28 (1994) CrossRefGoogle Scholar
  20. Henzinger, T.A., Sifakis, J.: The discipline of embedded systems design. Computer 40(10), 32–40 (2007) CrossRefGoogle Scholar
  21. Hoffmann, G., Wong Toi, H.: The input-output control of real-time discrete event systems. In: CDC’91 (1991) Google Scholar
  22. IEEE. POSIX.1. IEEE Std 1003.1:2001: Standard for Information Technology—Portable Operating System Interface (POSIX). IEEE (2001) Google Scholar
  23. Isović, D., Fohler, G.: Efficient scheduling of sporadic, aperiodic, and periodic tasks with complex constraints. In: RTSS’00, November 2000 Google Scholar
  24. Joy, B., Steele, G., Gosling, J., Bracha, G.: The Java Language Specification, 2nd edn. Addison-Wesley, Reading (2000) Google Scholar
  25. Kesten, Y., Pnueli, A., Sifakis, J., Yovine, S.: Decidable integration graphs. Inf. Comput. 150, 209–243 (1999) zbMATHCrossRefMathSciNetGoogle Scholar
  26. Klein, M.H., Ralya, T., Pollak, B., Obenza, R., Harbour, M.G.: A Practitioner’s Handbook for Real-Time Analysis: Guide to Rate Monotonic Analysis for Real-Time Systems. Kluwer Academic, Norwell (1993) Google Scholar
  27. Kloukinas, C.: Data-mining synthesised schedulers for hard real-time systems. In: ASE’04, pp. 14–23, September 2004 Google Scholar
  28. Kloukinas, C., Yovine, S.: Synthesis of safe, QoS extendible, application specific schedulers for heterogeneous real-time systems. In: ECRTS’03, pp. 287–294, July 2003 Google Scholar
  29. Kloukinas, C., Nakhli, C., Yovine, S.: A methodology and tool support for generating scheduled native code for real-time Java applications. In: EMSOFT’03. LNCS, vol. 2855. Springer, Berlin (2003) Google Scholar
  30. Kwak, H., Lee, I., Philippou, A., Choi, J., Sokolsky, O.: Symbolic schedulability analysis of real-time systems. In: RTSS’98, December 1998 Google Scholar
  31. Liu, C.L., Layland, J.W.: Scheduling algorithms for multiprogramming in a hard-real-time environment. J. ACM 20(1), 46–61 (1973) zbMATHCrossRefMathSciNetGoogle Scholar
  32. Mok, A.K., Tsou, D.C., Rooij, R.C.M.: The MSP.RTL real-time scheduler synthesis tool. In: RTSS’96, December 1996 Google Scholar
  33. Real-Time for Java Expert Group: The real-time specification for Java. Tech. report,, December 2001 Google Scholar
  34. Reeves, G.E.: What really happened on mars? (Online) December 1997
  35. Schmidt, D.C.: Guest editor’s introduction: Model-driven engineering. Computer 39(2), 25–31 (2006) CrossRefGoogle Scholar
  36. Sha, L., Rajkumar, R., Lehoczky, J.P.: Priority inheritance protocols: An approach to real-time synchronization. IEEE Trans. Comput. 39(9), 1175–1185 (1990) CrossRefMathSciNetGoogle Scholar
  37. Tripakis, S.: Description and schedulability analysis of the software architecture of an automated vehicle control system. In: EMSOFT’02, October 2002 Google Scholar
  38. Tripakis, S., Altisen, K.: On-the-fly controller synthesis for discrete and dense-time systems. In: FM’99. LNCS, vol. 1708. Springer, Berlin (1999) Google Scholar
  39. Tripakis, S., Yovine, S.: Timing analysis and code generation of vehicle control software using Taxys. In: RV’01. El. Notes in Th. Comp. Sci., vol. 55(2), pp. 277–286 (2001) Google Scholar
  40. van Glabbeek, R.J., Weijland, W.P.: Branching time and abstraction in bisimulation semantics. J. ACM 43(3), 555–600 (1996) zbMATHCrossRefMathSciNetGoogle Scholar
  41. Vicario, E.: Static analysis and dynamic steering of time-dependent systems. IEEE Trans. Softw. Eng. 27(8), 728–748 (2001) CrossRefGoogle Scholar
  42. Wang, Y., Lafortune, S., Kelly, T., Kudlur, M., Mahlke, S.A.: The theory of deadlock avoidance via discrete control. In: POPL’09, pp. 252–263, January 2009 Google Scholar
  43. Weiss, M., de Ferrière, F., Delsart, B., Fabre, C., Hirsch, F., Johnson, E.A., Joloboff, V., Roy, F., Siebert, F., Spengler, X.: TurboJ, a Java bytecode-to-native compiler. In: LCTES’98. LNCS, vol. 1474, pp. 119–130. Springer, Berlin (1998) Google Scholar
  44. Wong Toi, H.: The synthesis of controllers for linear hybrid automata. In: CDC’97, pp. 4607–4612 (1997) Google Scholar
  45. Wonham, W.M., Ramadge, P.J.: On the supremal controllable sublanguage of a given language. SIAM J. Control Optim. 25(3), 637–659 (1987) CrossRefMathSciNetGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC 2010

Authors and Affiliations

  1. 1.City University LondonLondonUK
  2. 2.CONICET and Universidad de Buenos AiresBuenos AiresArgentina

Personalised recommendations