Skip to main content
Log in

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

  • Published:
Automated Software Engineering Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Altisen, K., Gößler, G., Sifakis, J.: Scheduler modeling based on the controller synthesis paradigm. Real-Time Syst. 23(1), 55–84 (2002)

    Article  MATH  Google Scholar 

  • Alur, R., Dill, D.L.: A theory of timed automata. Theor. Comput. Sci. 126(2), 183–235 (1994)

    Article  MATH  MathSciNet  Google Scholar 

  • 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 

  • 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 

  • Barroso, L.A., Dean, J., Hölzle, U.: Web search for a planet: The Google cluster architecture. IEEE Micro 23(2), 22–28 (2003)

    Article  Google Scholar 

  • 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)

    Article  Google Scholar 

  • 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)

  • Bordin, M., Panunzio, M., Vardanega, T.: Fitting schedulability analysis theory into model-driven engineering. In: ECRTS’08, pp. 135–144 (2008)

  • Bruno, E.: Java RTS real-time enables financial applications. (Online) www.devx.com/Java/Article/35246/. 23 August 2007

  • Carr, N.: Avatars consume as much electricity as Brazilians. (Online) http://www.roughtype.com/archives/2006/12/avatars_consume.php. 5 December 2006

  • 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 

  • Combaz, J., Fernandez, J.-C., Sifakis, J., Strus, L.: Symbolic quality control for multimedia applications. Real-Time Syst. 40(1), 1–43 (2008)

    Article  MATH  Google Scholar 

  • Coplien, J., Hoffman, D., Weiss, D.: Commonality and variability in software engineering. IEEE Softw. 15(6), 37–45 (1998)

    Article  Google Scholar 

  • Dobrin, R., Fohler, G.: Reducing the number of preemptions in fixed priority scheduling. In: ECRTS’04, pp. 144–152, June 2004

  • Fohler, G., Buttazzo, G.C.: Introduction to the special issue on flexible scheduling. Real-Time Syst. 22(1/2), 5–7 (2002)

    Article  Google Scholar 

  • 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)

    Article  MATH  Google Scholar 

  • Garey, M.R., Johnson, D.S.: Two-processor scheduling with start-times and deadlines. SIAM J. Comput. 6(3), 416–426 (1977)

    Article  MATH  MathSciNet  Google Scholar 

  • Gauthier, L., Richard-Foy, M.: Expresso RNTL project—High Integrity Profile. www.irisa.fr/rntl-expresso/docs/hip-api.pdf (2002)

  • 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)

    Article  Google Scholar 

  • Henzinger, T.A., Sifakis, J.: The discipline of embedded systems design. Computer 40(10), 32–40 (2007)

    Article  Google Scholar 

  • Hoffmann, G., Wong Toi, H.: The input-output control of real-time discrete event systems. In: CDC’91 (1991)

  • IEEE. POSIX.1. IEEE Std 1003.1:2001: Standard for Information Technology—Portable Operating System Interface (POSIX). IEEE (2001)

  • Isović, D., Fohler, G.: Efficient scheduling of sporadic, aperiodic, and periodic tasks with complex constraints. In: RTSS’00, November 2000

  • Joy, B., Steele, G., Gosling, J., Bracha, G.: The Java Language Specification, 2nd edn. Addison-Wesley, Reading (2000)

    Google Scholar 

  • Kesten, Y., Pnueli, A., Sifakis, J., Yovine, S.: Decidable integration graphs. Inf. Comput. 150, 209–243 (1999)

    Article  MATH  MathSciNet  Google Scholar 

  • 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 

  • Kloukinas, C.: Data-mining synthesised schedulers for hard real-time systems. In: ASE’04, pp. 14–23, September 2004

  • 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

  • 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 

  • Kwak, H., Lee, I., Philippou, A., Choi, J., Sokolsky, O.: Symbolic schedulability analysis of real-time systems. In: RTSS’98, December 1998

  • Liu, C.L., Layland, J.W.: Scheduling algorithms for multiprogramming in a hard-real-time environment. J. ACM 20(1), 46–61 (1973)

    Article  MATH  MathSciNet  Google Scholar 

  • Mok, A.K., Tsou, D.C., Rooij, R.C.M.: The MSP.RTL real-time scheduler synthesis tool. In: RTSS’96, December 1996

  • Real-Time for Java Expert Group: The real-time specification for Java. Tech. report, RTJ.org, December 2001

  • Reeves, G.E.: What really happened on mars? (Online) http://research.microsoft.com/en-us/um/people/mbj/mars_pathfinder/Authoritative_Account.html. December 1997

  • Schmidt, D.C.: Guest editor’s introduction: Model-driven engineering. Computer 39(2), 25–31 (2006)

    Article  Google Scholar 

  • Sha, L., Rajkumar, R., Lehoczky, J.P.: Priority inheritance protocols: An approach to real-time synchronization. IEEE Trans. Comput. 39(9), 1175–1185 (1990)

    Article  MathSciNet  Google Scholar 

  • Tripakis, S.: Description and schedulability analysis of the software architecture of an automated vehicle control system. In: EMSOFT’02, October 2002

  • 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 

  • 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)

  • van Glabbeek, R.J., Weijland, W.P.: Branching time and abstraction in bisimulation semantics. J. ACM 43(3), 555–600 (1996)

    Article  MATH  MathSciNet  Google Scholar 

  • Vicario, E.: Static analysis and dynamic steering of time-dependent systems. IEEE Trans. Softw. Eng. 27(8), 728–748 (2001)

    Article  Google Scholar 

  • 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

  • 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 

  • Wong Toi, H.: The synthesis of controllers for linear hybrid automata. In: CDC’97, pp. 4607–4612 (1997)

  • Wonham, W.M., Ramadge, P.J.: On the supremal controllable sublanguage of a given language. SIAM J. Control Optim. 25(3), 637–659 (1987)

    Article  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Christos Kloukinas.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Kloukinas, C., Yovine, S. A model-based approach for multiple QoS in scheduling: from models to implementation. Autom Softw Eng 18, 5–38 (2011). https://doi.org/10.1007/s10515-010-0074-8

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10515-010-0074-8

Keywords

Navigation