Formal Aspects of Computing

, Volume 30, Issue 5, pp 545–569 | Cite as

Model-based problem solving for university timetable validation and improvement

  • David Schneider
  • Michael Leuschel
  • Tobias Witt
Original Article


Constraint satisfaction problems can be expressed very elegantly in state-based formal methods such as B. But can such specifications be directly used for solving real-life problems? In other words, can a formal model be more than a design artefact but also be used at runtime for inference and problem solving? We will try and answer this important question in the present paper with regard to the university timetabling problem. We report on an ongoing project to build a curriculum timetable validation tool where we use a formal model as the basis to validate timetables from a student’s perspective and to support incremental modification of timetables. In this article we describe the problem domain, the formalization in B and our approach to execute the formal model in a production system using ProB.


B-method Constraint programming Timetabling Scheduling 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.



We would like to thank the planning teams at the faculties of Humanities and Economics at Heinrich-Heine University (in particular Frank Meier) as well as Philip Höfges for bringing this project to our attention and all the work that has gone into it. We also thank the anonymous reviewers for their valuable feedback.


  1. AAN12.
    Achá RA, Nieuwenhuis R (2012) Curriculum-based course timetabling with SAT and MaxSAT. Ann Oper Res 218(1): 71–91MathSciNetCrossRefzbMATHGoogle Scholar
  2. Abr05.
    Abrial J-R (2005) The B-book. Assigning programs to meanings. Cambridge University Press, CambridgezbMATHGoogle Scholar
  3. BA08.
    Ben-Ari M (2008) Principles of the spin model checker. Springer, BerlinzbMATHGoogle Scholar
  4. BCD+13.
    Bendisposto J, Clark J, Dobrikov I, Körner P, Krings S, Ladenberger L, Leuschel M, Plagge D (2013) ProB 2.0 tutorial. In: Proceedings of the 4th Rodin user and developer workshop, TUCS lecture notes. TUCSGoogle Scholar
  5. BST+13.
    Banbara M, Soh T, Tamura N, Inoue K, Schaub T (2013) Answer set programming as a modeling language for course timetabling. Theory Pract Log Program 13(4–5): 783–798MathSciNetCrossRefzbMATHGoogle Scholar
  6. CHE05.
    Czarnecki K, Helsen S, Eisenecker U (2005) Formalizing cardinality-based feature models and their specialization. Softw Process Improv Pract 10(1): 7–29CrossRefGoogle Scholar
  7. CK05.
    Cooper TB, Kingston JH (2005) The complexity of timetable construction problems. In: PATAT, LNCS 1153. Springer, Berlin, pp 281–295Google Scholar
  8. Cle09.
    ClearSy. Atelier B, User and Reference Manuals. Aix-en-Provence, France, 2009.
  9. CO97.
    Carlsson M, Ottosson G (1997) An open-ended finite domain constraint solver. In: Glaser HG, Hartel PH, Kuchen H (eds) Proceedings PLILP’97, LNCS 1292. Springer, Berlin, pp. 191–206Google Scholar
  10. CRF95.
    Corne D, Ross P, Fang H (1995) Evolving timetables. Pract Handb Genet algorithms Appl 1: 219–276Google Scholar
  11. DdM06.
    Dutertre B, Mendonça de Moura L (2006) A fast linear-arithmetic solver for DPLL(T). In: Ball T, Jones RB (eds) Proceedings CAV’06, LNCS 4144. Springer, Berlin, pp 81–94Google Scholar
  12. DFGV12.
    Deharbe D, Fontaine P, Guyot Y, Voisin L (2012) SMT solvers for Rodin. In: Proceedings ABZ’2012, LNCS 7316. Springer, Berlin, pp 194–207Google Scholar
  13. DGMS07.
    Di Gaspero L, McCollum B, Schaerf A (2007) The second international timetabling competition (ITC-2007): curriculum-based course timetabling (Track 3). In: Proceedings of the 14th RCRA workshop on experimental evaluation of algorithms for solving problems with combinatorial explosion, RomeGoogle Scholar
  14. dMB08.
    de Moura LM, Bjørner N (2008) Z3: an efficient SMT solver. In: Ramakrishnan CR, Rehof J (eds) TACAS, LNCS 4963. Springer, Berlin, pp 337–340Google Scholar
  15. DOO00.
    Deris S, Omatu S, Ohta H (2000) Timetable planning using the constraint-based reasoning. Comput Oper Res 27(9): 819–840CrossRefzbMATHGoogle Scholar
  16. FGG07.
    Farahbod R, Gervasi V, Glässer U (2007) CoreASM: an extensible ASM execution engine. Fundam Inform 77(1–2): 71–103MathSciNetzbMATHGoogle Scholar
  17. Got63.
    Gotlieb CC (1963) The construction of class-teacher timetables. In: Preprint of the proceedings of the IFIP congress 62/Munich, August 27, pp 22–25Google Scholar
  18. Hol04.
    Holzmann GJ (2004) The SPIN model checker—primer and reference manual. Addison-Wesley, BostonGoogle Scholar
  19. HSL16.
    Hansen D, Schneider D, Leuschel M (2016) Using B and ProB for data validation projects. In: Proceedings ABZ 2016, LNCS. Springer, BerlinGoogle Scholar
  20. Jac02.
    Jackson D (2002) Alloy: a lightweight object modelling notation. ACM Trans Softw Eng Methodol 11: 256–290CrossRefGoogle Scholar
  21. Jac12.
    Jackson D (2012) Software abstractions. Logic, language, and analysis. MIT Press, LondonGoogle Scholar
  22. JM94.
    Jaffar J, Maher MJ (1994) Constraint logic programming: a survey. J Log Program 19(−20): 503–581MathSciNetCrossRefzbMATHGoogle Scholar
  23. KCH+90.
    Kang KC, Cohen SG, Hess JA, Novak WE, Peterson AS (1990) Feature-oriented domain analysis (FODA) feasibility study. Technical Report CMU/SEI-90-TR-21, Caregie-Mellon University-Software Engineering Insititue, PittsburghGoogle Scholar
  24. Lew08.
    Lewis R (2008) A survey of metaheuristic-based techniques for university timetabling problems. OR Spectr 30(1): 167–190MathSciNetCrossRefzbMATHGoogle Scholar
  25. LFFP11.
    Leuschel M, Falampin J, Fritz F, Plagge D (2011) Automated property verification for large scale B models with ProB. Formal Asp Comput 23(6): 683–709MathSciNetCrossRefGoogle Scholar
  26. LL10.
    Lach G, Lübbecke ME (February 2010) Curriculum based course timetabling: new solutions to Udine benchmark instances. Ann Oper Res 194(1):255–272Google Scholar
  27. LS14.
    Leuschel M, Schneider D (2014) Towards B as a high-level constraint modelling language. In: Yamine AA, Klaus-Dieter S (eds) Abstract state machines, alloy, B, TLA, VDM, and Z, volume 8477 of Lecture Notes in computer science. Springer, BerlinGoogle Scholar
  28. Mét10.
    Métayer C (2010) AnimB 0.1.1.
  29. MR12.
    Müller T, Rudová H (2012) Real-life curriculum-based Timetabling. PATATGoogle Scholar
  30. MR14.
    Müller T, Rudová H (2014) Real-life curriculum-based timetabling with elective courses and course sections. Ann Oper Res 1–18Google Scholar
  31. Mül05.
    Müller T (2005) Constraint-based timetabling. Ph.D. thesis, Charles University in PragueGoogle Scholar
  32. PDGKM13.
    Post G, Di Gaspero L, Kingston JH, McCollum B (2013) The third international timetabling competition. Ann Oper Res 2013: 1–7zbMATHGoogle Scholar
  33. PL12.
    Plagge D, Leuschel M (2012) Validating B, Z and TLA+ using ProB and Kodkod. In: Dimitra G, Dominique M (eds) Proceedings FM’2012, LNCS 7436. Springer, Berlin, pp 372–386Google Scholar
  34. RM03.
    Rudová H, Murray K (2003) University course timetabling with soft constraints. In: Edmund B, De Causmaecker P (eds) PATAT IV, LNCS 2740. Springer, Berlin, pp 310–328Google Scholar
  35. SH06.
    Schimmelpfeng K, Helber S (2006) Application of a real-world university-course timetabling model solved by integer programming. OR Spect 29(4): 783–803CrossRefzbMATHGoogle Scholar
  36. Sha11.
    Shapiro SC (2011) The jobs puzzle: a challenge for logical expressibility and automated reasoning. In: AAAI spring symposium: logical formalizations of commonsense reasoningGoogle Scholar
  37. TCJ08.
    Torlak E, Chang FS, Jackson D (2008) Finding minimal unsatisfiable cores of declarative specifications. In: Cuéllar J, Maibaum TSE, Sere K (eds) Proceedings FM’2008, pp 326–341Google Scholar
  38. TJ07.
    Torlak E, Jackson D (2007) Kodkod: a relational model finder. In: Grumberg O, Huth M (eds) Proceedings TACAS’07, LNCS 4424. Springer, Berlin, pp 632–647Google Scholar
  39. Yeu06.
    Vincent SHY (2006) Declarative configuration applied to course scheduling. Master’s thesis, Massachusetts Institute of Technology, Massachusetts Institute Of TechnologyGoogle Scholar
  40. YML99.
    Yu Y, Manolios P, Lamport L (1999) Model checking TLA+ specifications. In: Laurence P, Thomas K (eds) Proceedings CHARME’99, LNCS 1703. Springer, pp 54–66Google Scholar

Copyright information

© British Computer Society 2018

Authors and Affiliations

  1. 1.Software Engineering and Programming Languages GroupHeinrich-Heine University DüsseldorfDüsseldorfGermany

Personalised recommendations