Abstract
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.
Similar content being viewed by others
References
Achá RA, Nieuwenhuis R (2012) Curriculum-based course timetabling with SAT and MaxSAT. Ann Oper Res 218(1): 71–91
Abrial J-R (2005) The B-book. Assigning programs to meanings. Cambridge University Press, Cambridge
Ben-Ari M (2008) Principles of the spin model checker. Springer, Berlin
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. TUCS
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–798
Czarnecki K, Helsen S, Eisenecker U (2005) Formalizing cardinality-based feature models and their specialization. Softw Process Improv Pract 10(1): 7–29
Cooper TB, Kingston JH (2005) The complexity of timetable construction problems. In: PATAT, LNCS 1153. Springer, Berlin, pp 281–295
ClearSy. Atelier B, User and Reference Manuals. Aix-en-Provence, France, 2009. http://www.atelierb.eu/
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–206
Corne D, Ross P, Fang H (1995) Evolving timetables. Pract Handb Genet algorithms Appl 1: 219–276
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–94
Deharbe D, Fontaine P, Guyot Y, Voisin L (2012) SMT solvers for Rodin. In: Proceedings ABZ’2012, LNCS 7316. Springer, Berlin, pp 194–207
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, Rome
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–340
Deris S, Omatu S, Ohta H (2000) Timetable planning using the constraint-based reasoning. Comput Oper Res 27(9): 819–840
Farahbod R, Gervasi V, Glässer U (2007) CoreASM: an extensible ASM execution engine. Fundam Inform 77(1–2): 71–103
Gotlieb CC (1963) The construction of class-teacher timetables. In: Preprint of the proceedings of the IFIP congress 62/Munich, August 27, pp 22–25
Holzmann GJ (2004) The SPIN model checker—primer and reference manual. Addison-Wesley, Boston
Hansen D, Schneider D, Leuschel M (2016) Using B and ProB for data validation projects. In: Proceedings ABZ 2016, LNCS. Springer, Berlin
Jackson D (2002) Alloy: a lightweight object modelling notation. ACM Trans Softw Eng Methodol 11: 256–290
Jackson D (2012) Software abstractions. Logic, language, and analysis. MIT Press, London
Jaffar J, Maher MJ (1994) Constraint logic programming: a survey. J Log Program 19(−20): 503–581
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, Pittsburgh
Lewis R (2008) A survey of metaheuristic-based techniques for university timetabling problems. OR Spectr 30(1): 167–190
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–709
Lach G, Lübbecke ME (February 2010) Curriculum based course timetabling: new solutions to Udine benchmark instances. Ann Oper Res 194(1):255–272
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, Berlin
Métayer C (2010) AnimB 0.1.1. http://wiki.event-b.org/index.php/AnimB
Müller T, Rudová H (2012) Real-life curriculum-based Timetabling. PATAT
Müller T, Rudová H (2014) Real-life curriculum-based timetabling with elective courses and course sections. Ann Oper Res 1–18
Müller T (2005) Constraint-based timetabling. Ph.D. thesis, Charles University in Prague
Post G, Di Gaspero L, Kingston JH, McCollum B (2013) The third international timetabling competition. Ann Oper Res 2013: 1–7
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–386
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–328
Schimmelpfeng K, Helber S (2006) Application of a real-world university-course timetabling model solved by integer programming. OR Spect 29(4): 783–803
Shapiro SC (2011) The jobs puzzle: a challenge for logical expressibility and automated reasoning. In: AAAI spring symposium: logical formalizations of commonsense reasoning
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–341
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–647
Vincent SHY (2006) Declarative configuration applied to course scheduling. Master’s thesis, Massachusetts Institute of Technology, Massachusetts Institute Of Technology
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–66
Acknowledgments
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.
Author information
Authors and Affiliations
Corresponding author
Additional information
Frank de Boer, Nikolaj Bjorner, and Andrew Butterfield
Rights and permissions
About this article
Cite this article
Schneider, D., Leuschel, M. & Witt, T. Model-based problem solving for university timetable validation and improvement. Form Asp Comp 30, 545–569 (2018). https://doi.org/10.1007/s00165-018-0461-7
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00165-018-0461-7