Skip to main content

On Designing a Target-Independent DSL for Safe OS Process-Scheduling Components

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 3286))

Abstract

Developing new process-scheduling components for multiple OSes is challenging because of the tight interdependence between an OS and its scheduler and because of the stringent safety requirements that OS code must satisfy. In this context, a domain-specific language (DSL), designed by a scheduling expert, can encapsulate scheduling expertise and thus facilitate scheduler programming and verification. Nevertheless, designing a DSL that is target-independent and provides safety guarantees requires expertise not only in scheduling but also in the structure of various OSes. To address these issues, we propose the introduction of an OS expert into the DSL design process and the use of a type system to enable the OS expert to express relevant OS properties.

This paper instantiates our approach in the context of the Bossa process-scheduling framework and describes how the types provided by an OS expert are used to ensure that Bossa scheduling components are safe.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Åberg, R.A., Lawall, J.L., Südholt, M., Muller, G., Le Meur, A.-F.: On the automatic evolution of an os kernel using temporal logic and aop. In: Proceedings of the 18th IEEE International Conference on Automated Software Engineering (ASE 2003), Montreal, Canada, October 2003, pp. 196–204. IEEE Computer Society Press, Los Alamitos (2003)

    Chapter  Google Scholar 

  2. Ball, T., Rajamani, S.K.: Automatically validating temporal safety properties of interfaces. In: Dwyer, M.B. (ed.) SPIN 2001. LNCS, vol. 2057, pp. 103–122. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  3. Basu, M., Hayden, G.: Morrisett, and T. von Eicken. A language-based approach to protocol construction. In: Proceedings of the ACM SIGPLAN Workshop on Domain Specific Languages, Paris, France (January 1997)

    Google Scholar 

  4. Bershad, B., Savage, S., Pardyak, P., Gün Sirer, E., Fiuczynski, M., Becker, D., Chambers, C., Eggers, S.: Extensibility, safety and performance in the SPIN operating system. In: Proceedings of the 15th ACM Symposium on Operating Systems Principles, Copper Mountain Resort, CO, USA, December 1995. ACM Operating Systems Reviews, vol. 29(5), pp. 267–283. ACM Press, New York (1995)

    Google Scholar 

  5. Bruce, D.: What makes a good domain-specific language? APOSTLE, and its approach to parallel discrete event simulation. In: Proceedings of the ACM SIGPLAN Workshop on Domain Specific Languages, Paris, France, pp. 17–35 (January 1997)

    Google Scholar 

  6. Chandra, S., Richards, B., Larus, J.: Teapot: Language support for writing memory coherence protocols. In: Proceedings of the ACM SIGPLAN 1996 Conference on Programming Language Design and Implementation, pp. 237–248 (1996)

    Google Scholar 

  7. Consel, C., Marlet, R.: Architecturing software using a methodology for language development. In: Palamidessi, C., Meinke, K., Glaser, H. (eds.) ALP 1998 and PLILP 1998. LNCS, vol. 1490, pp. 170–194. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  8. Engler, A., Yu, D., Hallem, S., Chou, A., Chelf, B.: Bugs as deviant behavior: A general approach to inferring errors in systems code. In: Proceedings of the 18th ACM Symposium on Operating Systems Principles, Banff, Canada (October 2001)

    Google Scholar 

  9. Engler, D., Chelf, B., Chou, A., Hallem, S.: Checking system rules using systemspecific, programmer-written compiler extensions. In: Proceedings of the Fourth Symposium on Operating Systems Design and Implementation, San Diego, California, pp. 1–16 (October 2000)

    Google Scholar 

  10. Evans, D., Larochelle, D.: Improving security using extensible lightweight static analysis. IEEE Software 19(1), 42–51 (2002)

    Article  Google Scholar 

  11. Hudak, P.: Modular domain specific languages and tools. In: Proceedings of Fifth International Conference on Software Reuse, Victoria, Canada, pp. 134–142 (June 1998)

    Google Scholar 

  12. Jim, T., Morrisett, G., Grossman, D., Hicks, M., Cheney, J., Wang, Y.: Cyclone: A safe dialect of C. In: USENIX Annual Technical Conference, Monterey, CA (June 2002)

    Google Scholar 

  13. Kumar, S., Mandelbaum, Y., Yu, X., Li, K.: ESP: a language for programmable devices. In: Proceedings of the ACM SIGPLAN 2001 Conference on Programming Language Design and Implementation, Snowbird, UT, USA, June 2001, pp. 309–320 (2001)

    Google Scholar 

  14. Lawall, J.L., Muller, G., Barreto, L.P.: Capturing OS expertise in a modular type system: the Bossa experience. In: Proceedings of the ACM SIGOPS European Workshop 2002 (EW 2002), Saint-Emilion, France, September 2002, pp. 54–62 (2002)

    Google Scholar 

  15. Muchnick, S.: Advanced Compiler Design and Implementation. Morgan Kaufmann, San Francisco (1997)

    Google Scholar 

  16. Muller, G., Lawall, J.L., Barreto, L.P., Susini, J.-F.: A framework for simplifying the development of kernel schedulers: Design and performance evaluation. Technical report 03/2/INFO, Ecole des Mines de Nantes (2003)

    Google Scholar 

  17. Necula, G., McPeak, S., Weimer, W.: CCured: type-safe retrofitting of legacy code. In: Conference Record of POPL 2002: The 29th SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Portland, OR, pp. 128–139 (January 2002)

    Google Scholar 

  18. Plotkin, G.D.: A structural approach to operational semantics. Technical Report FN-19, DAIMI, Department of Computer Science, University of Aarhus, Aarhus, Denmark (September 1981)

    Google Scholar 

  19. Réveillère, L., Muller, G.: Improving driver robustness: an evaluation of the Devil approach. In: The International Conference on Dependable Systems and Networks, Göteborg, Sweden, July 2001, pp. 131–140. IEEE Computer Society, Los Alamitos (2001)

    Chapter  Google Scholar 

  20. Shivers, O.: A universal scripting framework, or Lambda: the ultimate little language. In: Jaffar, J., Yap, R.H.C. (eds.) ASIAN 1996. LNCS, vol. 1179, pp. 254–265. Springer, Heidelberg (1996)

    Chapter  Google Scholar 

  21. Steere, D., Goel, A., Gruenberg, J., McNamee, D., Pu, C., Walpole, J.: A feedback-driven proportion allocator for real-rate scheduling. In: Proceedings of the Third USENIX Symposium on Operating Systems Design and Implementation (OSDI), New Orleans, LA, February 1999, pp. 145–158 (1999)

    Google Scholar 

  22. Waldspurger, C.A., Weihl, W.E.: Lottery scheduling: Flexible proportionalshare resource management. In: Proceedings of the 1st USENIX Symposium on Operating Systems Design and Implementation (OSDI 1994), Monterey, CA, USA, pp. 1–11 (November 1994)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Lawall, J.L., Le Meur, AF., Muller, G. (2004). On Designing a Target-Independent DSL for Safe OS Process-Scheduling Components. In: Karsai, G., Visser, E. (eds) Generative Programming and Component Engineering. GPCE 2004. Lecture Notes in Computer Science, vol 3286. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30175-2_23

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-30175-2_23

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-23580-4

  • Online ISBN: 978-3-540-30175-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics