Abstract
This article presents a viable solution to introducing flexible scheduling in the Real-Time specification for Java (RTSJ), in the form of a flexible scheduling framework. The framework allows the concurrent use of multiple application-defined scheduling policies, each scheduling a subset of the total set of threads. Moreover, all threads, regardless of the policy under which they are scheduled, are permitted to share common resources. Thus, the framework can accommodate a variety of interworking applications (soft, firm, and hard) running under the RTSJ. The proposed approach is a two-level scheduling framework, where the first level is the RTSJ priority scheduler and the second level is under application control. This article describes the framework's protocol, examines the different types of scheduling policies that can be supported, and evaluates the proposed framework by measuring its execution cost. A description of an application-defined Earliest-Deadline-First (EDF) scheduler illustrates how the interface can be used. Minimum backward-compatible changes to the RTSJ specification are discussed to motivate the required interface. The only assumptions made about the underlying real-time operating system is that it supports preemptive priority-based dispatching of threads and that changes to priorities have immediate effect.
- Ada-Europe. 2007. Ada reference manual- ISO/IEC 8652:2007(E) with technical corrigendum 1 and amendment 1. http://www.adaic.org/standards/05rm/RM-Final.pdf.Google Scholar
- Aldea Rivas, M. and Gonzalez Harbour, M. 2002. POSIX-Compatible application-defined scheduling in MaRTE OS. In Proceedings of the 14th Euromicro Conference on Real-Time Embedded Systems. 67--75. Google Scholar
Digital Library
- Aldea Rivas, M. and Harbour, M. 2003. Application-Defined scheduling in Ada. In Proceedings of the 12th International Workshop on Real-Time Ada (IRTAW'03). ACM Press, New York, 42--51. Google Scholar
Digital Library
- Aldea, M., Miranda, J., and Gonzalez Harbour, M. 2004. Implementing an application-defined scheduling framework for Ada tasking. In Lecture Notes in Computer Science, vol. 3063. Springer, 283--296.Google Scholar
- Aldea, M., Bernat, G., Broster, I., Burns, A., Dobrin, R., Drake, J. M., Fohler, G., Gai, P., Gonzalez Harbour, M., Guidi, G., Gutierrez, J. J., Lennvall, T., Lipari, G., Martinez, J. M., Medina, J. L., Palencia, J. C., and Trimarchi, M. 2006. FSF: A real-time scheduling architecture framework. In Proceedings of the 12th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS'06). 113--124. Google Scholar
Digital Library
- Aswathanarayana, T., Niehaus, D., Subramonian, V., and Gill, C. 2005. Design and performance of configurable endsystem scheduling mechanisms. In Proceedings of the 11th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS'05). 32--43. Google Scholar
Digital Library
- Baker, T. P. 1991. Stack-Based scheduling of real-time processes. Real-Time Syst. J. 3, 1, 57--99. Google Scholar
Digital Library
- Belliardi, R., Brosgol, B., Dibble, P., Holmes, D., and Wellings, A. J. 2006. The Real-Time Specification for Java, Version 1.0.2, P. Dibble, Ed. www.rtsj.org.Google Scholar
- Benveniste, A., Berry, G., Caspi, P., Couronn'e, P., DuPont, F., Gauthier, T., Halbwachs, N., Le Guernic, P., Le Maire, C., Mignard, F., Paris, J. P., and Sorel, Y. 1994. Synchronous technology for real-time systems. In Proceedings of the Real-Time Systems Conference. North-Holland.Google Scholar
- Bollella, G., Brosgol, B., Dibble, Pl, Furr, S., Gosling, J., Hardin, D., and Turnbull, M. 2000. The Real-Time Specification for Java. Addison-Wesley.Google Scholar
- Brandt, S. A., Banachowski, S., Lin, C., and Bisson, T. 2003. Dynamic integrated scheduling of hard real-time, soft real-time and non-real-time processes. In Proceedings of the 24th IEEE Real-Time Systems Symposium (RTSS'03). 396. Google Scholar
Digital Library
- Burns, A. and Wellings, A. J. 1997. Concurrency in Ada 2nd Ed. Cambridge University Press. Google Scholar
Digital Library
- Burns, A. and Wellings, A. J. 2001. Real-Time Systems and Programming Languages, 3rd ed. Addison-Wesley. Google Scholar
Digital Library
- Burns, A., Gonzalez Harbour, M., and Wellings, A. J. 2003. A round robin scheduling policy for Ada. In Lecture Notes in Computer Science, vol. 2655. Springer, 334--343. Google Scholar
Digital Library
- Burns, A., Wellings, A. J., and Taft, T. S. 2004. Supporting deadlines and EDF scheduling in Ada. In Lecture Notes in Computer Science, vol. 3063. Springer, 156--165.Google Scholar
- Corsaro, A., Schmidt, D. C., Cytron, R., and Gill, C. 2001. Formalizing meta-programming techniques to reconcile heterogeneous scheduling disciplines in open distributed real-time systems. In Proceedings of the 3rd International Symposium on Distributed Objects and Applications. OMG, 289--299. Google Scholar
Digital Library
- Davis, R., and Wellings, A. 1995. Dual priority scheduling. In Proceedings of the 16th IEEE Real-Time Systems Symposium (RTSS'95). 100--109. Google Scholar
Digital Library
- Davis, R. I. and Wellings, A. 1995. Hierarchical fixed priority preemptive scheduling. In Proceedings of the 26th IEEE Real-Time Systems Symposium (RTSS'95). 389--398. Google Scholar
Digital Library
- Deng, Z. and Liu, J. W.-S. 1997. Scheduling real-time applications in an open environment. In Proceedings of the 18th IEE Real-Time Systems Symposium (RTSS'97). 308. Google Scholar
Digital Library
- Dibble, P. and Wellings, A. J. 2004. The real-time specification for Java: Current status and future direction. In Proceedings of the 7th International Conference on Object-Oriented Real-Time Distributed Computing (ISORC'04). 71--77.Google Scholar
- DiPippo, L. C., Wolfe, V. F., Esibov, L., Bethmangalkar, G. C., Bethmangalkar, R., Johnston, R., Thuraisingham, B., and Mauer, J. 2001. Scheduling and priority mapping for static real-time middleware. Real-Time Syst. J. 20, 2, 155--182. Google Scholar
Digital Library
- European Union Project. 2001. Project IST-2001 34140. FIRST: Flexible integrated real-time systems technology. Final report, deliverable D-FR, produced by SalsArt Research Group, Malardalen University, Sweden.Google Scholar
- Feizabadi, S., Beebee, W. Jr., Ravindran, B., Li, P., and Rinard, M. 2003. Utility accrual scheduling with real-time Java. In Proceedings of the Workshop on Java Technologies for Real-Time and Embedded Systems (JTRES'03). Lecture Notes in Computer Science, vol. 2889. Springer, 550--563.Google Scholar
- Gai, P., Abeni, L., Giorgi, M., and Buttazzo, G. 2001. A new kernel approach for modular real-time systems development. In Proceedings of the 13th IEEE Euromicro Conference on Real-Time Systems. Google Scholar
Digital Library
- Ganssle, J. and Barr, M. 2003. Embedded Systems Dictionary. CMP Books. Google Scholar
Digital Library
- Gill, C., Cytron, R., and Schmidt, D. 2002. Middleware scheduling optimization techniques for distributed real-time and embedded systems. In Proceedings of the 7th International Workshop on Object-Oriented Real-Time Dependable Systems (WORDS'02). 311--318. Google Scholar
Digital Library
- Gill, C. D., Cytron, R. K., and Schmidt, D. C. 2002. Multiparadigm scheduling for distributed real-time embedded computing. Proc. IEEE 91, 1, 183--197.Google Scholar
Cross Ref
- Goyal, P., Guo, X., and Vin, H. M. 1996. A hierarchical CPU scheduler for multimedia operating systems. In Proceedings of the 2nd Symposium on Operating Systems Design and Implementation. 107--121. Google Scholar
Digital Library
- Jemander, T. 2005. The need for configurable and flexible scheduling in a RTOS aspiring to solve contemporary problems. In Proceedings of the 1st International Workshop on Operating Systems Platforms for Embedded Real-Time Applications (OSPERT'05).Google Scholar
- Jones, M. B. and Regher, J. 1999. CPU reservations and time constraints: Implementation experience on Windows NT. In Proceedings of the 3rd USENIX Windows NT Symposium. 93--102. Google Scholar
Digital Library
- Kalogeraki, V., Melliar-Smith, P. M., and Moser, L. E. 2000. Dynamic scheduling for soft real-time distributed object systems. In Proceedings of the 3rd IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC'00). 114. Google Scholar
Digital Library
- Kuo, T. and Li, C. 1999. A fixed-priority-driven open environment for real-time applications. In Proceedings of the 20th IEEE Real-Time Systems Symposium (RTSS'99). IEEE Computer Society, 256. Google Scholar
Digital Library
- Li, P., Ravindran, B., Suhaib, S., and Feizabadi, S. 2004. A formally verified application-level framework for real-time scheduling on POSIX real-time operating systems. IEEE Trans. Softw. Engin. 30, 9, 613--629. Google Scholar
Digital Library
- Liu, J. W. S. 2000. Real-Time Systems. Prentice-Hall.Google Scholar
- Mok, A. K.-L. 1983. Fundamental design problems of distributed systems for the hard real-time environment. Ph.D. thesis, MIT/LCS/TR-297. Department of Electrical Engineering and Computer Science, MIT. Google Scholar
Digital Library
- Object Management Group. 2005. Real-Time CORBA specification, version 1.2. http://www.omg.org/technology/documents/formal/real-time_CORBA.htm.Google Scholar
- Regher, J., Jones, M. B., and Stankovic, J. A. 2000. Operating system support for multimedia: The programming model matters. Tech. rep. MSR-TR-2000-89. http://research.microsoft.com/~mbj/papers/tr-2000-89.pdf.Google Scholar
- Sha, L., Rajkumar, R., and Lehoczky, J. P. 1990. Priority inheritance protocols: An approach to real-time synchronization. IEEE Trans. Comput. 39, 9, 1175--1185. http://dx.doi.org/10.1109/12.57058. Google Scholar
Digital Library
- Spuri, M. and Buttazzo, G. 1996. Scheduling aperiodic tasks in dynamic priority systems. Real-Time Syst. J. 10, 2, 179--210.Google Scholar
Cross Ref
- Strosnider, J. K., Lehoczky, J. P., and Sha, L. 1995. The deferrable server algorithm for enhanced aperiodic responsiveness in hard real-time environments. IEEE Trans. Comput. 44, 1, 73--91. Google Scholar
Digital Library
- TimeSys Corporation. 2007. RTSJ reference implementation (RI) and technology compatibility kit (TCK). http:www.timesys.com/java/.Google Scholar
- Wolfe, V. F., DiPippo, L. C., Bethmagalkar, R., Cooper, G., Johnston, R., Kortmann, P., Watson, B., and Wohlever, S. 1999. RapidSched: Static scheduling and analysis for real-time CORBA. In Proceedings of the 4th International Workshop on Object-Oriented Real-Time Dependable Systems. 34--39. Google Scholar
Digital Library
- Zerzelidis, A. and Wellings, A. J. 2006a. Getting more flexible scheduling in the RTSJ. In Proceedings of the 9th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC'06). IEEE Computer Society, 3--10. Google Scholar
Digital Library
- Zerzelidis, A. and Wellings, A. J. 2006b. Model-Based verification of a framework for flexible scheduling in the real-time specification for Java. In Proceedings of the 4th International Workshop on Java Technologies for Real-Time and Embedded Systems (JTRES'06). ACM Press, New York, vol. 7, 20--29. Google Scholar
Digital Library
- Zerzelidis, A. 2007. A framework for flexible scheduling in real-time middleware. Ph.D. thesis, Departmental Green rep. YCST 2008/02. University of York, ftp://ftp.cs.york.ac.uk/resports/YCST-2008-02.pdf.Google Scholar
- Zhang, J., DiPippo, L., Fay-Wolfe, V., Bryan, K., and Murphy, M. 2005. A real-time distributed scheduling service for middleware systems. In Proceedings of the 10th IEEE International Workshop on Object-Oriented Real-Time Dependable Systems (WORDS'05). 59--65. Google Scholar
Digital Library
Index Terms
A framework for flexible scheduling in the RTSJ
Recommendations
Model-based verification of a framework for flexible scheduling in the real-time specification for Java
JTRES '06: Proceedings of the 4th international workshop on Java technologies for real-time and embedded systemsThis paper describes a framework for achieving flexible scheduling in the Real-Time Specification for Java (RTSJ), and provides verification of its operation by modelling it as a system of timed automata in the UPPAAL model checker. The proposed ...
A framework accommodating categorized multiprocessor real-time scheduling in the RTSJ
JTRES '12: Proceedings of the 10th International Workshop on Java Technologies for Real-time and Embedded SystemsIn this paper, we present a framework for various multiprocessor scheduling algorithms by minimal modification of current Real-Time Specification for Java (RTSJ) [6]. Although the current version of RTSJ provides a secure platform and rich ...
Scheduling Multiprocessor Tasks to Minimize Schedule Length
The problem considered in this paper is the deterministic scheduling of tasks on a set of identical processors. However, the model presented differs from the classical one by the requirement that certain tasks need more than one processor at a time for ...






Comments