Formal Methods Meet Domain Specific Languages

  • Jean-Paul Bodeveix
  • Mamoun Filali
  • Julia Lawall
  • Gilles Muller
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3771)


In this paper, we relate an experiment whose aim is to study how to combine two existing approaches for ensuring software correctness: Domain Specific Languages (DSLs) and formal methods. As examples, we consider the Bossa DSL and the B formal method. Bossa is dedicated to the development of process schedulers and has been used in the context of Linux and Chorus. B is a refinement based formal method which has especially been used in the domain of railway systems. In this paper, we use B to express the correctness of a Bossa specification. Furthermore, we show how B can be used as an alternative to the existing Bossa tools for the production of certified schedulers.


DSL scheduling formal methods refinements decision procedure 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abrial, J.-R.: The B-Book: Assigning programs to meanings. Cambridge University Press, Cambridge (1996)zbMATHCrossRefGoogle Scholar
  2. 2.
    Badeau, F., Amelot, A.: Using B as a high level programming language in an industrial project: Roissy VAL. In: Treharne, H. King, S., Henson, M., Schneider, S., (eds.). ZB 2005: Formal Specification and Development in Z and B. LNCS, vol. 2215, Guildford, UK, pp. 298–315. Springer, Heidelberg (2005)Google Scholar
  3. 3.
    Basu, A., Hayden, M., Morrisett, G., von Eicken, T.: 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. 4.
    Behm, P., Desforges, P., Meynadier, J.-M.: Météor: An industrial success in formal development. In: Bert, D. (ed.) B 1998. LNCS, vol. 1393, p. 26. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  5. 5.
    Cottet, F., Delacroix, J., Kaiser, C., Mammeri, Z.: Scheduling in Real-Time Systems. Wiley, West Sussex (2002)CrossRefGoogle Scholar
  6. 6.
    Henriksen, J., Jensen, J., Jorgensen, M., Klarlund, N., Paige, R., Rauhe, T., Sandholm, A.: Mona: Monadic second-order logic in practice. In: Workshop on Tools and Algorithms for the Construction and Analysis of Systems, Aarhus, May 1995, pp. 58–73 (1995),
  7. 7.
    Jaluna. Jaluna Osware,
  8. 8.
    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, June 2001, pp. 309–320 (2001)Google Scholar
  9. 9.
    Lawall, J., Le Meur, A.-F., Muller, G.: On designing a target-independent DSL for safe OS process-scheduling components. In: Karsai, G., Visser, E. (eds.) GPCE 2004. LNCS, vol. 3286, pp. 436–455. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  10. 10.
    Leijen, D., Meijer, E.: Domain specific embedded compilers. In: Proceedings of the Second Conference on Domain-Specific Languages (DSL 1999), Austin, TX, October 1999, pp. 109–122 (1999)Google Scholar
  11. 11.
    Thomas, W.: Automata on infinite objects. In: Leeuwen, J.v. (ed.) Handbook of Theoretical Computer Science, pp. 133–192. MIT Press, Cambridge (1990)Google Scholar
  12. 12.
    van Deursen, A., Klint, P., Visser, J.: Domain-specific languages: An annotated bibliography. ACM SIGPLAN Notices 35(6), 26–36 (2000)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Jean-Paul Bodeveix
    • 1
  • Mamoun Filali
    • 1
  • Julia Lawall
    • 2
  • Gilles Muller
    • 3
  1. 1.IRIT Université Paul SabatierToulouseFrance
  2. 2.DIKU University of CopenhagenCopenhagenDenmark
  3. 3.Ecole des Mines de Nantes INRIA, LINANantesFrance

Personalised recommendations