, Volume 20, Issue 1, pp 1–29 | Cite as

Solving strong controllability of temporal problems with uncertainty using SMT

  • Alessandro Cimatti
  • Andrea Micheli
  • Marco Roveri


Temporal Problems (TPs) represent constraints over the timing of activities, as arising in many applications such as scheduling and temporal planning. A TP with uncertainty (TPU) is characterized by activities with uncontrollable duration. Different classes of TPU are possible, depending on the Boolean structure of the constraints: we have simple (STPU), constraint satisfaction (TCSPU), and disjunctive (DTPU) temporal problems with uncertainty. In this paper we tackle the problem of strong controllability, i.e. finding an assignment to all the controllable time points, such that the constraints are fulfilled under any possible assignment of uncontrollable time points. Our approach casts the problem in the framework of Satisfiability Modulo Theory (SMT), where the uncertainty of durations can be modeled by means of universal quantifiers. The use of quantifier elimination techniques leads to quantifier-free encodings, which are in turn solved with efficient SMT solvers. We obtain the first practical and comprehensive solution for strong controllability. We provide a family of efficient encodings, that are able to exploit the specific structure of the problem. The approach has been implemented, and experimentally evaluated over a large set of benchmarks. The results clearly demonstrate that the proposed approach is feasible, and outperforms the best state-of-the-art competitors, when available.


Temporal problems Strong controllability Temporal reasoning under uncertainty Satisfiability modulo theory 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Allen, J.F. (1983). Maintaining knowledge about temporal intervals. Communication of the ACM, 26 (11), 832–843.CrossRefzbMATHGoogle Scholar
  2. 2.
    Armando, A., Castellini, C., Giunchiglia, E. (1999). SAT-based procedures for temporal reasoning. In S. Biundo, & M. Fox (Eds.) European conference on planning - ECP, LNCS,1809 (pp. 97–108). Springer .Google Scholar
  3. 3.
    Bagnara, R., Hill, P.M., Zaffanella, E. (2008). The parma polyhedra library: toward a complete set of numerical abstractions for the analysis and verification of hardware and software systems. Science of Computer Programming, 72 (1–2), 3–21.CrossRefMathSciNetGoogle Scholar
  4. 4.
    Barrett, C., Deters, M., Moura, L., Oliveras, A., Stump, A. (2013). 6 years of SMT-COMP. Journal of Automated Reasoning, 50, 243–277.CrossRefGoogle Scholar
  5. 5.
    Barrett, C., Stump, A., Tinelli, C., Boehme, S., Cok, D., Deharbe, D., Dutertre, B., Fontaine, P., Ganesh, V., Griggio, A., Grundy, J., Jackson, P., Oliveras, A., Krsti, S., Moskal, M., Moura, L.D., Sebastiani, R., Cok, T.D., Hoenicke, J. (2010). The smt-lib standard: Version 2.0. tech. rep.Google Scholar
  6. 6.
    Barrett, C.W., Sebastiani, R., Seshia, S.A., Tinelli, C. (2009). Satisfiability modulo theories. In Handbook of satisfiability (pp. 825–885). IOS Press.Google Scholar
  7. 7.
    Bruttomesso, R., Cimatti, A., Franzén, A., Griggio, A., Sebastiani, R. (2008). The MathSAT 4 SMT solver. In A. Gupta & S. Malik (Eds.) Computer aided verification - CAV, LNCS (Vol. 5123, pp. 299–303). Springer.Google Scholar
  8. 8.
    Bruttomesso, R., Pek, E., Sharygina, N., Tsitovich, A. (2010). The openSMT solver. In J. Esparza & R. Majumdar (Eds.) Tools and algorithms for the construction and analysis of systems - TACAS, LNCS (Vol. 6015, pp. 150–153). Springer.Google Scholar
  9. 9.
    Cimatti, A., Griggio, A., Schaafsma, B.J., Sebastiani, R. (2013). The mathSAT5 SMT solver. In Tools and algorithms for the construction and analysis of systems - TACAS.Google Scholar
  10. 10.
    Cimatti, A., Micheli, A., Roveri, M. (2012). Solving temporal problems using smt: strong controllability. In CP (pp. 248–264).Google Scholar
  11. 11.
    Cimatti, A., Micheli, A., Roveri, M. (2012). Solving temporal problems using SMT: weak controllability. In J. Hoffmann & B. Selman (Eds.), American association for artificial intelligence - AAAI: AAAI Press.Google Scholar
  12. 12.
    Cotton, S., & Maler, O. (2006). Fast and flexible difference constraint propagation for dpll(t). In A. Biere & C. P. Gomes (Eds.), Theory and applications of satisfiability testing - SAT, LNCS (Vol .4121 pp. 170–183). Springer.Google Scholar
  13. 13.
    Davis, M., Logemann, G., Loveland, D.W. (1962). A machine program for theorem-proving. Communications of ACM, 5 (7), 394–397.CrossRefzbMATHMathSciNetGoogle Scholar
  14. 14.
    Dechter, R., Meiri, I., Pearl, J. (1991). Temporal constraint networks. Artificial Intelligence, 49 (1-3), 61–95.CrossRefzbMATHMathSciNetGoogle Scholar
  15. 15.
    Dutertre, B., & de Moura, L. (2006). The Yices SMT solver. Tool paper at,
  16. 16.
    Dutertre, B., & de Moura, L.M. (2006). A fast linear-arithmetic solver for DPLL(T). In T. Ball & R. B. Jones (Eds.), Computer aided verification - CAV, LNCS (Vol.4144, pp. 81–94). Springer.Google Scholar
  17. 17.
    Franzén, A., Cimatti, A., Nadel, A., Sebastiani, R., Shalev, J. (2010). Applying SMT in symbolic execution of microcode. In R. Bloem & R. Sharygina (Eds.), Formal methods in computer-aided design - FMCAD, (pp. 121–128). IEEE.Google Scholar
  18. 18.
    Godefroid, P., Levin, M.Y., Molnar, D.A. (2008). Automated whitebox fuzz testing. In Network and distributed system security symposium - NDSS. The Internet Society.Google Scholar
  19. 19.
    Hunsberger, L. (2010). A fast incremental algorithm for managing the execution of dynamically controllable temporal networks. In TIME.Google Scholar
  20. 20.
    Keßler, C.W. (1996). Parallel fourier-motzkin elimination. In Euro-par (Vol. II, pp. 66–71).Google Scholar
  21. 21.
    Kleene, S. (1967). Mathematical logic. Wiley.Google Scholar
  22. 22.
    Loos, R., & Weispfenning, V. (1993). Applying linear quantifier elimination. Computer Journal, 36 (5), 450–462.CrossRefzbMATHMathSciNetGoogle Scholar
  23. 23.
    Monniaux, D. (2008). A quantifier elimination algorithm for linear real arithmetic. In I. Cervesato, H. Veith, A. Voronkov (Eds.), Logic for programming, artificial intelligence, and reasoning - LPAR, LNCS (Vol.5330 pp. 243–257). Springer.Google Scholar
  24. 24.
    Morris, P.H., Muscettola, N., Vidal, T. (2001). Dynamic control of plans with temporal uncertainty. In B. Nebel (Ed.), International joint conference on artificial intelligence - IJCAI (pp. 494–502): Morgan Kaufmann.Google Scholar
  25. 25.
    Moskewicz, M.W., Madigan, C.F., Zhao, Y., Zhang, L., Malik, S. (2001). Chaff: Engineering an efficient SAT solver. In Design automation conference - DAC (pp. 530–535). New York: ACM Press.Google Scholar
  26. 26.
    de Moura, L.M., & Bjørner, N. (2008). Z3: an afficient SMT solver. In C. R. Ramakrishnan & J. Rehof (Eds.), Tools and algorithms for the construction and analysis of systems - TACAS, LNCS (Vol. 4963, pp. 337–340). Springer.Google Scholar
  27. 27.
    Muscettola, N., Nayak, P.P., Pell, B., Williams, B.C. (1998). Remote agent: to boldly go where no ai system has gone before. Artificial Intelligence, 103 (1-2), 5–47.CrossRefzbMATHGoogle Scholar
  28. 28.
    Niemelä, I. (2009). Integrating answer set programming and satisfiability modulo theories. In E. Erdem, F. Lin, T. Schaub (Eds.), Logic programming and nonmonotonic reasoning, 10th international conference - LPNMR, LNCS (Vol. 5753, p. 3). Springer.Google Scholar
  29. 29.
    Peintner, B., Venable, K.B., Yorke-Smith, N. (2007). Strong controllability of disjunctive temporal problems with uncertainty. In C. Bessiere (Ed.), Principles and practice of constraint programming - CP, LNCS (Vol. 4741, pp. 856–863). Springer.Google Scholar
  30. 30.
    Planken, L, de Weerdt, M., van der Krogt, R. (2012). Computing all-pairs shortest paths by leveraging low treewidth. Journal of Artificial Intelligence Research (JAIR), 43, 353–388.zbMATHMathSciNetGoogle Scholar
  31. 31.
    Ranise, S., & Loria, T.C. (2006). The smt-lib standard: Version 1.2. Tech. rep.Google Scholar
  32. 32.
    Schrijver, A. (1998). Theory of linear and integer programming. Wiley.Google Scholar
  33. 33.
    de la Tour, T. (1990). Minimizing the number of clauses by renaming. In M. Stickel (Ed.), Conference on automated deduction - CADE, LNCS (Vol. 449, pp. 558–572). Springer.Google Scholar
  34. 34.
    Tsamardinos, I., & Pollack, M.E. (2003). Efficient solution techniques for disjunctive temporal reasoning problems. Artificial Intelligence, 151 (1–2), 43–89.CrossRefzbMATHMathSciNetGoogle Scholar
  35. 35.
    Venable, K.B., Volpato, M., Peintner, B., Yorke-Smith, N. (2010). Weak and dynamic controllability of temporal problems with disjunctions and uncertainty. In Workshop on constraint satisfaction techniques for planning & scheduling.Google Scholar
  36. 36.
    Vidal, T., & Fargier, H. (1999). Handling contingency in temporal constraint networks: from consistency to controllabilities. Journal of Experimental Theoretical Artificial Intelligence, 11 (1), 23–45.CrossRefzbMATHGoogle Scholar
  37. 37.
    Wilde, D.K. (1993). A library for doing polyhedral operations. Tech. rep.Google Scholar

Copyright information

© Springer Science+Business Media New York 2014

Authors and Affiliations

  • Alessandro Cimatti
    • 1
  • Andrea Micheli
    • 1
  • Marco Roveri
    • 1
  1. 1.Fondazione Bruno Kessler — IRSTTrentoItaly

Personalised recommendations