Skip to main content
Log in

Monitorability for the Hennessy–Milner logic with recursion

  • Published:
Formal Methods in System Design Aims and scope Submit manuscript

Abstract

We study \(\mu \) HML, a branching-time logic with least and greatest fixpoints, from a runtime verification perspective. The logic may be used to specify properties of programs whose behaviour may be expressed as a labelled transition system. We establish which subset of this logic can be monitored for at runtime by merely observing the runtime execution of a program. A monitor-synthesis algorithm is defined for this subset, where it is shown that the resulting synthesised monitors correctly perform the required analysis from the observed behaviour. We also prove completeness results wrt. this logical subset that show that, up to logical equivalence, no other properties apart from those identified can be monitored for and verified at runtime.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4

Similar content being viewed by others

Notes

  1. These are normally expressed as structural equivalence rules such as \(p\!\parallel \!\textsf {nil} \equiv p\) and \(p\!\parallel \!q \equiv q\!\parallel \!p\) in standard CCS. We elide them here to alleviate our exposition.

  2. A transition sequence is maximal if it is either infinite or affords no more actions.

References

  1. Abrial J R (2010) Modeling in event-B: system and software engineering. Cambridge University Press, Cambridge

    Book  MATH  Google Scholar 

  2. Aceto L, Ingólfsdóttir A (1999) Testing Hennessy–Milner logic with recursion. In: FoSSaCS’99. Springer, Berlin, pp 41–55

  3. Aceto L, Ingólfsdóttir A, Larsen KG, Srba J (2007) Reactive systems: modelling, specification and verification. Cambridge University Press, New York

    Book  MATH  Google Scholar 

  4. Ahrendt W, Chimento JM, Pace GJ, Schneider G (2015) A specification language for static and runtime verification of data and control properties. In: FM 2015, vol 9109. Springer, Berlin, pp 108–125

  5. Andersen JR, Andersen N, Enevoldsen S, Hansen MM, Larsen KG, Olesen SR, Srba J, Wortmann J (2015) CAAL: concurrency workbench, Aalborg Edition. In: ICTAC. Springer, Berlin, pp 573–582

  6. Attard DP, Francalanza A (2016) A monitoring tool for a branching-time logic. In: RV, vol 10012 of LNCS. Springer, Berlin, pp 473–481

  7. Baier C, Katoen JP (2008) Principles of model checking. MIT Press, New York

    MATH  Google Scholar 

  8. Barringer H, Falcone Y, Havelund K, Reger G, Rydeheard DE (2012) Quantified event automata: towards expressive and efficient runtime monitors. In: FM, vol 7436 of LNCS. Springer, Berlin, pp 68–84

  9. Barringer H, Goldberg A, Havelund K, Sen K (2004) Rule-based runtime verification. In: VMCAI, vol 2937 of LNCS, Springer, Berlin, pp 44–57

  10. Bauer A, Leucker M, Schallhart C (2007) The good, the bad, and the ugly, but how ugly is ugly? In: RV, vol 4839 of LNCS. Springer, Berlin, pp 126–138

  11. Bauer A, Leucker M, Schallhart C (2010) Comparing LTL semantics for runtime verification. Log Comput 20(3):651–674

    Article  MathSciNet  MATH  Google Scholar 

  12. Bauer A, Leucker M, Schallhart C (2011) Runtime verification for LTL and TLTL. Softw Eng Methodol 20(4):14

    Google Scholar 

  13. Cassar I, Francalanza A (2014) On synchronous and asynchronous monitor instrumentation for actor systems. FOCLASA 175:54–68

    MathSciNet  Google Scholar 

  14. Cassar I, Francalanza A (2015) Runtime adaptation for actor systems. In: Runtime verification (RV), vol 9333 of LNCS. Springer, Berlin, pp 38–54

  15. Cassar I, Francalanza A (2016) On implementing a monitor-oriented programming framework for actor systems. In: iFM, vol 9681 of LNCS, pp 176–192

  16. Cerone A, Hennessy M (2010) Process behaviour: formulae versus tests. In: EXPRESS, vol 41 of EPTCS, pp 31–45

  17. Chang E, Manna Z, Pnueli A (1992) Characterization of temporal property classes. In: ALP LNCS. Springer, Berlin, pp 474–486

  18. Cini C, Francalanza A (2015) An LTL proof system for runtime verification. In: TACAS, vol 9035. Springer, Berlin, pp 581–595

  19. Clarke EM Jr, Grumberg O, Peled DA (1999) Model checking. MIT Press, Cambridge

    Google Scholar 

  20. Della Monica D, Francalanza A (2015) Towards a hybrid approach to software verification. In: NWPT, number SCS16001 in RUTR. RU Press, pp 51–54

  21. Eisner C, Fisman D, Havlicek J, Lustig Y, McIsaac A, Campenhout DV (2003) Reasoning with temporal logic on truncated paths. In: CAV, vol 2725 of LNCS. Springer, Berlin, pp 27–39

  22. Falcone Y, Fernandez J-C, Mounier L (2012) What can you verify and enforce at runtime? Softw Tools Technol Transf 14(3):349–382

    Article  Google Scholar 

  23. Francalanza A (2016) A theory of monitors (extended abstract). In: FoSSaCS, vol 9634 of LNCS. Springer, Berlin, pp 145–161

  24. Francalanza A, Aceto L, Ingólfsdóttir A (2015) On verifying Hennessy–Milner logic with recursion at runtime. In: RV, vol 9333 of LNCS, pp 71–86

  25. Francalanza A, Gauci A, Pace GJ (2013) Distributed system contract monitoring. J Log Algebr Program 82(5–7):186–215

    Article  MathSciNet  MATH  Google Scholar 

  26. Francalanza A, Seychell A (2015) Synthesising correct concurrent runtime monitors. Form Methods Syst Des 46(3):226–261

    Article  MATH  Google Scholar 

  27. Geilen M (2001) On the construction of monitors for temporal logic properties. In: RV, vol 55 of ENTCS, pp 181–199

  28. Hoare CAR (1985) Communicating sequential processes. Prentice-Hall, Englewood Cliffs

  29. Kozen D (1983) Results on the propositional \(\mu \)-calculus. Theor Comput Sci 27:333–354

    Article  MathSciNet  MATH  Google Scholar 

  30. Larsen KG (1990) Proof systems for satisfiability in Hennessy–Milner logic with recursion. Theor Comput Sci 72(2):265–288

    Article  MathSciNet  MATH  Google Scholar 

  31. Leucker M, Schallhart C (2009) A brief account of runtime verification. J Log Algebraic Program 78(5):293–303

    Article  MATH  Google Scholar 

  32. Manna Z, Pnueli A (1991) Completing the temporal picture. Theor Comput Sci 83(1):97–130

    Article  MATH  Google Scholar 

  33. Milner R (1982) A calculus of communicating systems. Springer, Berlin

    MATH  Google Scholar 

  34. Pnueli A, Zaks A (2006) PSL model checking and run-time verification via testers. In: FM, vol 4085. Springer, Berlin, pp 573–586

  35. Sen K, Rosu G, Agha G (2003) Generating optimal linear temporal logic monitors by coinduction. In: ASIAN, vol 2896 of LNCS, Springer, Berlin, pp 260–275

  36. Shi J, Lahiri SK, Chandra R, Challen G. Wireless protocol validation under uncertainty. In: RV

  37. detectEr Project. http://www.cs.um.edu.mt/svrg/Tools/detectEr/

  38. Vella A, Francalanza A (2016) Preliminary results towards contract monitorability. In: PrePost, vol 208 of EPTCS, pp 54–63

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Adrian Francalanza.

Additional information

The research of L. Aceto and A. Ingolfsdottir was partly supported by the Project 001-ABEL-CM-2013 of the NILS Science and Sustainability Programme. The research of all three authors was also supported by the project Theoretical Foundations of Monitorability (No. 163406-051) of the Icelandic Research Fund.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Francalanza, A., Aceto, L. & Ingolfsdottir, A. Monitorability for the Hennessy–Milner logic with recursion. Form Methods Syst Des 51, 87–116 (2017). https://doi.org/10.1007/s10703-017-0273-z

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10703-017-0273-z

Keywords

Navigation