Marimba: A Tool for Verifying Properties of Hidden Markov Models

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9364)


The formal verification of properties of Hidden Markov Models (HMMs) is highly desirable for gaining confidence in the correctness of the model and the corresponding system. A significant step towards HMM verification was the development by Zhang et al. of a family of logics for verifying HMMs, called POCTL*, and its model checking algorithm. As far as we know, the verification tool we present here is the first one based on Zhang et al.’s approach. As an example of its effective application, we verify properties of a handover task in the context of human-robot interaction. Our tool was implemented in Haskell, and the experimental evaluation was performed using the humanoid robot Bert2.


Xylophone Handover Task Model Checking State Subformula Discrete-time Markov Chain (DTMC) 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.



We gratefully acknowledge support from grants PAPIIT IN113013 and Conacyt 221341, and especially thank the BRL staff for their assistance operating the robot Bert2. E. Magid and K. Eder have been supported, in full and in part, respectively, by the UK EPSRC grant EP/K006320/1 ROBOSAFE: “Trustworthy Robotic Assistants”.


  1. 1.
    Rabiner, L.R.: A tutorial on hidden Markov models and selected applications in speech recognition. Proc. IEEE 77, 257–286 (1989)CrossRefGoogle Scholar
  2. 2.
    Zhang, L., Hermanns, H., Jansen, D.N.: Logic and model checking for hidden Markov models. In: Wang, F. (ed.) FORTE 2005. LNCS, vol. 3731, pp. 98–112. Springer, Heidelberg (2005) CrossRefGoogle Scholar
  3. 3.
    Hernández, N.: Model checking based on the hidden Markov model and its application to human-robot interaction. Master’s thesis, Universidad Nacional Autónoma de México, México (2014).
  4. 4.
    Kwiatkowska, M., Norman, G., Parker, D.: PRISM 4.0: Verification of probabilistic real-time systems. In: Gopalakrishnan, G., Qadeer, S. (eds.) CAV 2011. LNCS, vol. 6806, pp. 585–591. Springer, Heidelberg (2011) CrossRefGoogle Scholar
  5. 5.
    Courcoubetis, C., Yannakakis, M.: The complexity of probabilistic verification. J. ACM 42(4), 857–907 (1995)MathSciNetCrossRefzbMATHGoogle Scholar
  6. 6.
    Rutten, J.J.M.M., Kwiatkowska, M., Norman, G., Parker, D.: Mathematical techniques for analyzing concurrent and probabilistic systems. CRM monograph series. Am. Math. Soc. 23, 101–116 (2004)MathSciNetGoogle Scholar
  7. 7.
    Erkok, L.: linearEqSolver: a library to solve systems of linear equations, using SMT solvers.
  8. 8.
    de Moura, L., Bjørner, N.S.: Z3: An efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008) CrossRefGoogle Scholar
  9. 9.
    Chakravarty, M.M.T., Keller, G.: An approach to fast arrays in Haskell. In: Jeuring, J., Jones, S.L.P. (eds.) AFP 2002. LNCS, vol. 2638, pp. 27–58. Springer, Heidelberg (2003) CrossRefGoogle Scholar
  10. 10.
    Grigore, E.C., Eder, K., Pipe, A.G., Melhuish, C., Leonards, U.: Joint action understanding improves robot-to-human object handover. In: IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 4622–4629. IEEE (2013)Google Scholar
  11. 11.
    Lenz, A., Skachek, S., Hamann, K., Steinwender, J., Pipe, A.G., Melhuish, C.: The BERT2 infrastructure: an integrated system for the study of human-robot interaction. In: 10th IEEE-RAS International Conference on Humanoid Robots, pp. 346–351. IEEE (2010)Google Scholar
  12. 12.
    Linde, Y., Buzo, A., Gray, R.M.: An algorithm for vector quantizer design. IEEE Trans. Commun. 28, 84–95 (1980)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  1. 1.Instituto de Investigaciones en Matemáticas Aplicadas y en SistemasUniversidad Nacional Autónoma de MéxicoMéxico, D.F.México
  2. 2.Facultad de IngenieríaUniversidad Nacional Autónoma de MéxicoMéxico, D.F.México
  3. 3.Department of Computer ScienceUniversity of BristolBristolUK
  4. 4.Bristol Robotics LaboratoryBristolUK

Personalised recommendations