Decentralised LTL Monitoring

  • Andreas Bauer
  • Yliès Falcone
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7436)


Users wanting to monitor distributed or component-based systems often perceive them as monolithic systems which, seen from the outside, exhibit a uniform behaviour as opposed to many components displaying many local behaviours that together constitute the system’s global behaviour. This level of abstraction is often reasonable, hiding implementation details from users who may want to specify the system’s global behaviour in terms of an LTL formula. However, the problem that arises then is how such a specification can actually be monitored in a distributed system that has no central data collection point, where all the components’ local behaviours are observable. In this case, the LTL specification needs to be decomposed into sub-formulae which, in turn, need to be distributed amongst the components’ locally attached monitors, each of which sees only a distinct part of the global behaviour.

The main contribution of this paper is an algorithm for distributing and monitoring LTL formulae, such that satisfaction or violation of specifications can be detected by local monitors alone. We present an implementation and show that our algorithm introduces only a minimum delay in detecting satisfaction/violation of a specification. Moreover, our practical results show that the communication overhead introduced by the local monitors is generally lower than the number of messages that would need to be sent to a central data collection point.


Communication Overhead Atomic Proposition Central Decision Global Sensor Local Monitor 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Pnueli, A.: The temporal logic of programs. In: Foundations of Computer Science (FOCS), pp. 46–57. IEEE (1977)Google Scholar
  2. 2.
    Seyster, J., Dixit, K., Huang, X., Grosu, R., Havelund, K., Smolka, S.A., Stoller, S.D., Zadok, E.: Aspect-oriented instrumentation with GCC. In: Barringer, et al. (eds.) [27], pp. 405–420Google Scholar
  3. 3.
    Meredith, P.O., Rosu, G.: Runtime verification with the RV System. In: Barringer, et al. (eds.) [27], pp. 136–152Google Scholar
  4. 4.
    Hallé, S., Villemaire, R.: Runtime verification for the web-a tutorial introduction to interface contracts in web applications. In: Barringer, et al. (eds.) [27], pp. 106–121Google Scholar
  5. 5.
    Gunzert, M., Nägele, A.: Component-based development and verification of safety critical software for a brake-by-wire system with synchronous software components. In: Intl. Symp. on SE for Parallel and Distributed Systems (PDSE), pp. 134–145. IEEE (1999)Google Scholar
  6. 6.
    Lukasiewycz, M., Glaß, M., Teich, J., Milbredt, P.: FlexRay schedule optimization of the static segment. In: 7th IEEE ACM Intl. Conf. on Hardware Software Codesign and System Synthesis (CODES+ISSS), pp. 363–372. ACM (2009)Google Scholar
  7. 7.
    Pop, T., Pop, P., Eles, P., Peng, Z., Andrei, A.: Timing analysis of the FlexRay communication protocol. Real-Time Syst. 39, 205–235 (2008)MATHCrossRefGoogle Scholar
  8. 8.
    Miller, S.P., Whalen, M.W., Cofer, D.D.: Software model checking takes off. Commun. ACM 53, 58–64 (2010)CrossRefGoogle Scholar
  9. 9.
    Bauer, A., Falcone, Y.: Decentralised LTL monitoring. arXiv:1111.5133 (2011)Google Scholar
  10. 10.
    Jantsch, A.: Modeling Embedded Systems and SoC’s: Concurrency and Time in Models of Computation. Morgan Kaufmann (2003)Google Scholar
  11. 11.
    Bauer, A., Leucker, M., Schallhart, C.: Comparing LTL semantics for runtime verification. Logic and Computation 20(3), 651–674 (2010)MathSciNetMATHCrossRefGoogle Scholar
  12. 12.
    Bauer, A., Leucker, M., Schallhart, C.: Runtime verification for LTL and TLTL. ACM Trans. Softw. Eng. Methodol. (TOSEM) 20(4), 14 (2011)CrossRefGoogle Scholar
  13. 13.
    Bacchus, F., Kabanza, F.: Planning for temporally extended goals. Annals of Mathematics and Artificial Intelligence 22, 5–27 (1998)MathSciNetMATHCrossRefGoogle Scholar
  14. 14.
    Roşu, G., Havelund, K.: Rewriting-based techniques for runtime verification. Automated Software Engineering 12(2), 151–197 (2005)CrossRefGoogle Scholar
  15. 15.
    Barringer, H., Rydeheard, D.E., Havelund, K.: Rule systems for run-time monitoring: from Eagle to RuleR. J. Log. Comput. 20(3), 675–706 (2010)MathSciNetMATHCrossRefGoogle Scholar
  16. 16.
    Lichtenstein, O., Pnueli, A., Zuck, L.D.: The glory of the past. In: Logic of Programs 1979, pp. 196–218. Springer (1985)Google Scholar
  17. 17.
    Markey, N.: Temporal logic with past is exponentially more succinct, concurrency column. Bulletin of the EATCS 79, 122–128 (2003)MathSciNetMATHGoogle Scholar
  18. 18.
  19. 19.
    Dwyer, M.B., Avrunin, G.S., Corbett, J.C.: Patterns in property specifications for finite-state verification. In: Intl. Conf. on Software Engineering (ICSE), pp. 411–420. ACM (1999)Google Scholar
  20. 20.
    Specification Patterns Website,
  21. 21.
    Wang, Y., Yoo, T.-S., Lafortune, S.: New results on decentralized diagnosis of discrete event systems. In: Proc. 42nd Ann. Allerton Conf. on Communication, Control, and Computing (October 2004)Google Scholar
  22. 22.
    Wang, Y., Yoo, T.-S., Lafortune, S.: Diagnosis of discrete event systems using decentralized architectures. Discrete Event Dynamic Systems 17, 233–263 (2007)MathSciNetMATHCrossRefGoogle Scholar
  23. 23.
    Cassez, F.: The Complexity of Codiagnosability for Discrete Event and Timed Systems. In: Bouajjani, A., Chin, W.-N. (eds.) ATVA 2010. LNCS, vol. 6252, pp. 82–96. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  24. 24.
    Tripakis, S.: Decentralized observation problems. In: 44th IEEE Conf. Decision and Control (CDC-ECC), pp. 6–11. IEEE (2005)Google Scholar
  25. 25.
    Sen, K., Vardhan, A., Agha, G., Rosu, G.: Decentralized runtime analysis of multithreaded applications. In: 20th Parallel and Distributed Processing Symposium (IPDPS). IEEE (2006)Google Scholar
  26. 26.
    Genon, A., Massart, T., Meuter, C.: Monitoring Distributed Controllers: When an Efficient LTL Algorithm on Sequences Is Needed to Model-Check Traces. In: Misra, J., Nipkow, T., Karakostas, G. (eds.) FM 2006. LNCS, vol. 4085, pp. 557–572. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  27. 27.
    Barringer, H., Falcone, Y., Finkbeiner, B., Havelund, K., Lee, I., Pace, G., Roşu, G., Sokolsky, O., Tillmann, N. (eds.): RV 2010. LNCS, vol. 6418. Springer, Heidelberg (2010)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Andreas Bauer
    • 1
  • Yliès Falcone
    • 2
  1. 1.NICTA Software Systems Research GroupAustralian National UniversityAustralia
  2. 2.Laboratoire d’Informatique de GrenobleUJF Université Grenoble IFrance

Personalised recommendations