Skip to main content
Log in

User-defined schedulers for real-time concurrent objects

  • SI: Theories & Tool Support for Software
  • Published:
Innovations in Systems and Software Engineering Aims and scope Submit manuscript

Abstract

Scheduling concerns the allocation of processors to processes, and is traditionally associated with low-level tasks in operating systems and embedded devices. However, modern software applications with soft real-time requirements need to control application-level performance. High-level scheduling control at the application level may complement general purpose OS level scheduling to fine-tune performance of a specific application, by allowing the application to adapt to changes in client traffic on the one hand and to low-level scheduling on the other hand. This paper presents an approach to express and analyze application-specific scheduling decisions during the software design stage. For this purpose, we integrate support for application-level scheduling control in a high-level object-oriented modeling language, Real-Time ABS, in which executable specifications of method calls are given deadlines and real-time computational constraints. In Real-Time ABS, flexible application-specific schedulers may be specified by the user, i.e., developer, at the abstraction level of the high-level modeling language itself and associated with concurrent objects at creation time. Tool support for Real-Time ABS is based on an abstract interpreter that supports simulations and measurements of systems at the design stage.

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.

Institutional subscriptions

Similar content being viewed by others

References

  1. Agha GA (1986) ACTORS: a model of concurrent computations in distributed systems. The MIT Press, Cambridge

    Google Scholar 

  2. Albert E, Arenas P, Genaim S, Gómez-Zamalloa M, Puebla G (2011) Cost analysis of concurrent OO programs. In: Proceedings of 9th Asian symposium on programming languages and systems (APLAS 2011). Lecture notes in computer science, vol 7078. Springer, Berlin, pp 238–254

  3. Amnell T, Fersman E, Mokrushin L, Pettersson P, Yi W (2002) TIMES—a tool for modelling and implementation of embedded systems. In: Proceedings of the 8th international conference on tools and algorithms for the construction and analysis of systems (TACAS 2002), Lecture notes in computer science, vol 2280. Springer, Berlin, pp 460–464

  4. Andrews GR (1999) Foundations of multithreaded, parallel, and distributed programming. Addison-Wesley, Menlo Park

  5. Angerer CM, Gross TR (2010) Static analysis of dynamic schedules and its application to optimization of parallel programs. In: Proceedings of 23rd languages and compilers for parallel computing (LCPC 2010), Lecture notes in computer science, vol 6548. Springer, Berlin, pp 16–30

  6. Armstrong J (2007) Programming Erlang: software for a concurrent world. Pragmatic Bookshelf

  7. Bjørk J, Johnsen EB, Owe O, Schlatte R (2010) Lightweight time modeling in Timed Creol. In: Proceedings of 1st international workshop on rewriting techniques for real-time systems (RTRTS 2010), Electronic proceedings in theoretical computer science, vol 36, pp 67–81

  8. Blair GS, Coulson G, Robin P, Papathomas M (1998) An architecture for next generation middleware. In: Proceedings of IFIP international conference on distributed systems platforms and open distributed processing (Middleware’98). Springer, Berlin, pp 191–206

  9. Buttazzo G (2004) Hard real-time computing systems: predictable scheduling algorithms and applications, 2nd edn. Kluwer, Dordrecht

    Google Scholar 

  10. Chakravarti AJ, Baumgartner G, Lauria M (2004) Application-specific scheduling for the organic grid. In: Proceedings of 5th IEEE/ACM international workshop on grid computing (GRID’04). IEEE Computer Society, pp 146–155

  11. Cheng AMK (2002) Real-Time systems: scheduling, analysis, and verification. Wiley, New York

    Book  Google Scholar 

  12. Clavel M, Durán F, Eker S, Lincoln P, Martí-Oliet N, Meseguer J, Talcott CL (eds) (2007) All about Maude—a high-performance logical framework, how to specify, program and verify systems in rewriting logic, Lecture notes in computer science, vol 4350. Springer, Berlin

  13. Coffman EG (1976) Computer and job-shop scheduling theory. Wiley, New York

    MATH  Google Scholar 

  14. David A, Larsen KG, Legay A, Nyman U, Wasowski A (2010) ECDAR: an environment for compositional design and analysis of real time systems. In: Proceedings of 8th automated technology for verification and analysis (ATVA 2010), Lecture notes in computer science, vol 6252. Springer, Berlin, pp 365–370

  15. de Boer FS, Clarke D, Johnsen EB (2007) A complete guide to the future. In: de Nicola R (ed) Proceedings of 16th European symposium on programming (ESOP’07), Lecture notes in computer science, vol 4421. Springer, Berlin, pp 316–330

  16. de Boer FS, Jaghoori MM, Johnsen EB (2010) Dating concurrent objects: real-time modeling and schedulability analysis. In: Proceedings of 21st international conference on concurrency theory (CONCUR), Lecture notes in computer science, vol 6269. Springer, Berlin, pp 1–18

  17. Dibble PC (2008) Real-time Java platform programming,2nd edn. BookSurge Publishing, Charleston

    Google Scholar 

  18. Fersman E, Krcál P, Pettersson P, Yi W (2007) Task automata: schedulability, decidability and undecidability. Inf Comput 205(8): 1149–1172

    Article  MATH  Google Scholar 

  19. Haller P, Odersky M. (2009) Scala actors: unifying thread-based and event-based programming. Theor Comput Sci 410(2–3): 202–220

    Article  MathSciNet  MATH  Google Scholar 

  20. Harchol-Balter M, Schroeder B, Bansal N, Agrawal M (2003) Size-based scheduling to improve web performance. ACM Trans Comput Syst 21(2): 207–233

    Article  Google Scholar 

  21. Hoare CAR (1974) Monitors: an operating system structuring concept. Commun ACM 17: 549–557

    Article  MATH  Google Scholar 

  22. Hsiung PA, Huang CH, Chen YH (2009) Hardware task scheduling and placement in operating systems for dynamically reconfigurable soc. J Embed Comput 3(1): 53–62

    Google Scholar 

  23. Hsu CH, Chen SC (2010) A two-level scheduling strategy for optimising communications of data parallel programs in clusters. Int J Ad Hoc Ubiquitous Comput 6(4): 263–269

    Article  MathSciNet  Google Scholar 

  24. Johnsen EB, Hähnle R, Schäfer J, Schlatte R, Steffen M (2011) ABS: a core language for abstract behavioral specification. In: Aichernig B, de Boer FS, Bonsangue MM (eds) Proceedings of 9th international symposium on formal methods for components and objects (FMCO 2010), Lecture notes in computer science, vol 6957. Springer, Berlin, pp 142–164

  25. Johnsen EB, Owe O (2007) An asynchronous communication model for distributed concurrent objects. Softw Syst Model 6(1): 35–58

    Article  Google Scholar 

  26. Larsen KG, Pettersson P, Yi W (1997) UPPAAL in a nutshell. Int J Softw Tools Technol Transf 1(1–2): 134–152

    Article  MATH  Google Scholar 

  27. Lee EA (2009) Computing needs time. Commun ACM 52(5): 70–79

    Article  Google Scholar 

  28. Logan M, Merritt E, Carlsson R (2010) Erlang and OTP in action. Manning Publications, Greenwich

    Google Scholar 

  29. Meseguer J (1992) Conditional rewriting logic as a unified model of concurrency. Theor Comput Sci 96: 73–155

    Article  MathSciNet  MATH  Google Scholar 

  30. Nobakht B, de Boer FS, Jaghoori MM, Schlatte R (2012) Programming and deployment of active objects with application-level scheduling. In: Proceedings of symposium on applied computing (SAC). ACM, New York

  31. Öauml;lveczky PC, Meseguer J (2002) Specification of real-time and hybrid systems in rewriting logic. Theor Comput Sci 285(2): 359–405

    Article  MATH  Google Scholar 

  32. Ölveczky PC, Meseguer J (2007) Semantics and pragmatics of Real-Time Maude. Higher-Order Symbol Comput 20(1–2): 161–196

    Article  MATH  Google Scholar 

  33. Pierce BC (2002) Types and programming languages. The MIT Press, Cambridge

    Google Scholar 

  34. Plotkin GD (2004) A structural approach to operational semantics. J Logic Algebr Program 60-61: 17–139

    Article  MathSciNet  Google Scholar 

  35. Santoso J, van Albada GD, Nazief BAA, Sloot PMA (2000) Simulating job scheduling for clusters of workstations. In: Bubak M, Afsarmanesh H, Williams R, Hertzberger LO (eds) 8th International conference on high-performance computing and networking (HPCN Europe 2000), Lecture notes in computer science, vol 1823. Springer, Berlin, pp 395–406

  36. Schäfer J, Poetzsch-Heffter A (2010) JCoBox: generalizing active objects to concurrent components. In: European conference on object-oriented programming (ECOOP 2010), Lecture notes in computer science, vol 6183. Springer, Berlin, pp 275–299

  37. Schoeberl M (2004) Real-time scheduling on a Java processor. In: Proceedings of 10th international conference on real-time and embedded computing systems and applications (RTCSA)

  38. Sorensen A, Gardner H (2010) Programming with time: cyber-physical programming with Impromptu. In: Cook WR, Clarke S, Rinard MC (eds) Proceedings of object-oriented programming, systems, languages, and applications (OOPSLA). ACM, New York, pp 822–834

  39. Srinivasan S, Mycroft A (2008) Kilim: isolation-typed actors for Java. In: Vitek J (ed) Proceedings of 22nd European conference on object-oriented programming (ECOOP 2008), Lecture notes in computer science, vol 5142. Springer, Berlin, pp 104–128

  40. Tchernykh A, Ramírez-Alcaraz JM, Avetisyan A, Kuzjurin N, Grushin D, Zhuk S (2005) Two level job-scheduling strategies for a computational grid. In: Wyrzykowski R, Dongarra J, Meyer N, Wasniewski J (eds) 6th International conference on parallel processing and applied mathematics (PPAM), Lecture notes in computer science, vol 3911. Springer, Berlin, pp 774–781

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Einar Broch Johnsen.

Additional information

This research is partly funded by the EU project FP7-231620 HATS: Highly Adaptable and Trustworthy Software using Formal Models (http://www.hats-project.eu).

Rights and permissions

Reprints and permissions

About this article

Cite this article

Bjørk, J., de Boer, F.S., Johnsen, E.B. et al. User-defined schedulers for real-time concurrent objects. Innovations Syst Softw Eng 9, 29–43 (2013). https://doi.org/10.1007/s11334-012-0184-5

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11334-012-0184-5

Keywords

Navigation