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.
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)
Alur, R., Dill, D.L.: A theory of timed automata. Theor. Comput. Sci. 126(2), 183–235 (1994)
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)
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)
Barroso, L.A., Dean, J., Hölzle, U.: Web search for a planet: The Google cluster architecture. IEEE Micro 23(2), 22–28 (2003)
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)
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)
Combaz, J., Fernandez, J.-C., Sifakis, J., Strus, L.: Symbolic quality control for multimedia applications. Real-Time Syst. 40(1), 1–43 (2008)
Coplien, J., Hoffman, D., Weiss, D.: Commonality and variability in software engineering. IEEE Softw. 15(6), 37–45 (1998)
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)
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)
Garey, M.R., Johnson, D.S.: Two-processor scheduling with start-times and deadlines. SIAM J. Comput. 6(3), 416–426 (1977)
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)
Henzinger, T.A., Sifakis, J.: The discipline of embedded systems design. Computer 40(10), 32–40 (2007)
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)
Kesten, Y., Pnueli, A., Sifakis, J., Yovine, S.: Decidable integration graphs. Inf. Comput. 150, 209–243 (1999)
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)
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)
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)
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)
Sha, L., Rajkumar, R., Lehoczky, J.P.: Priority inheritance protocols: An approach to real-time synchronization. IEEE Trans. Comput. 39(9), 1175–1185 (1990)
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)
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)
Vicario, E.: Static analysis and dynamic steering of time-dependent systems. IEEE Trans. Softw. Eng. 27(8), 728–748 (2001)
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)
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)
Author information
Authors and Affiliations
Corresponding author
Rights 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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10515-010-0074-8