Abstract
Runtime verification aims at extracting information from a running system, and using it to detect and possibly react to behaviors violating a given correctness property. Decentralized runtime verification involves a set of monitors observing the behavior of the underlying system. When the monitors themselves can fail, and communication among them is unreliable, it is unavoidable that the monitors may have different views of the system’s state and hence that they emit different opinions about its correctness at runtime. It is known that few correctness properties can be monitored in such a setting, when the set of opinions is the set {True, False}. In this paper, we initiate the investigation of decentralized fault-tolerant runtime monitoring under an arbitrary set of opinions. Specifically, we characterize the size of the opinion set required for monitoring a given correctness property in a decentralized manner. It turns out that the key factor impacting this size is the maximum number of times the monitored property can change its truth value over all executions of the monitors. Our lower bound is independent of the way the set of opinions returned by the monitors is globally interpreted, and it holds even when verifying a static system. Moreover, our lower bound is tight in the sense that we design a distributed protocol enabling any given set of monitors to verify any given correctness property on static systems, using as many different opinions as the one given by our lower bound.
Similar content being viewed by others
Notes
In the case of chromatic manifolds, our definition is equivalent to the usual definition of orientation in topology textbooks (see e.g., Bracho and Montejano 1987).
References
Afek, Y., Attiya, H., Dolev, D., Gafni, E., Merritt, M., Shavit, N.: Atomic snapshots of shared memory. J. ACM 40(4), 873–890 (1993)
Arafat, O., Bauer, A., Leucker, M., Schallhart, C.: Runtime verification revisited. Tech. Rep. TUM-I0518, Technischen Universität München (2005)
Attiya, H., Rajsbaum, S.: The combinatorial structure of wait-free solvable tasks. SIAM J. Comput. 31(4), 1286–1313 (2002). https://doi.org/10.1137/S0097539797330689
Attiya, H., Welch, J.L.: Distributed Computing: Fundamentals, Simulations and Advanced Topics. Wiley, Hoboken (2004)
Awerbuch, B., Varghese, G.: Distributed program checking: A paradigm for building self-stabilizing distributed protocols. In: 32nd IEEE Symposium on Foundations of Computer Science (FOCS), pp. 258–267 (1991). https://doi.org/10.1109/SFCS.1991.185377
Bauer, A., Leucker, M., Schallhart, C.: Monitoring of real-time properties. In: 26th International Conference on Foundations of Software Technology and Theoretical Computer Science (FSTTC), LNCS, vol. 4337, pp. 260–272. Springer (2006)
Bauer, A., Leucker, M., Schallhart, C.: Comparing LTL semantics for runtime verification. J. Log. Comput. 20(3), 651–674 (2010). https://doi.org/10.1093/logcom/exn075
Bauer, A.K., Falcone, Y.: Decentralised LTL monitoring. In: 18th International Symposium Formal Methods (FM), LNCS, vol. 7436, pp. 85–100. Springer (2012). https://doi.org/10.1007/978-3-642-32759-9
Berkovich, S., Bonakdarpour, B., Fischmeister, S.: GPU-based runtime verification. In: 27th IEEE International Symposium on Parallel and Distributed Processing (IPDPS), pp. 1025–1036 (2013). http://ieeexplore.ieee.org/xpl/mostRecentIssue.jsp?punumber=6569024
Bonakdarpour, B., Fraigniaud, P., Rajsbaum, S., Rosenblueth, D.A., Travers, C.: Decentralized asynchronous crash-resilient runtime verification. In: 27th International Conference on Concurrency Theory (CONCUR), pp. 16:1–16:15. LIPIcs 59, Schloss Dagstuhl (2016)
Bonakdarpour, B., Fraigniaud, P., Rajsbaum, S., Travers, C.: Challenges in fault-tolerant distributed runtime verification. In: 7th International Symposium on Leveraging Applications of Formal Methods, Verification and Validation (ISOLA), LNCS, vol. 9953, pp. 363–370. Springer (2016). https://doi.org/10.1007/978-3-319-47169-3_27
Bonakdarpour, B., Navabpour, S., Fischmeister, S.: Sampling-based runtime verification. In: 17th International Symposium on Formal Methods (FM), LNCS, vol. 6664, pp. 88–102. Springer (2011). https://doi.org/10.1007/978-3-642-21437-0
Bracho, J., Montejano, L.: The combinatorics of colored triangulations of manifolds. Geometriae Dedicata 22(3), 303–328 (1987). https://doi.org/10.1007/BF00147939
Burnim, J., Sen, K., Stergiou, C.: Sound and complete monitoring of sequential consistency for relaxed memory models. In: 17th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS), LNCS, vol. 6605, pp. 11–25. Springer (2011). https://doi.org/10.1007/978-3-642-19835-9
Chandy, K.M., Lamport, L.: Distributed snapshots: determining global states of distributed systems. ACM Trans. Comput. Syst. 3(1), 63–75 (1985). https://doi.org/10.1145/214451.214456
Chauhan, H., Garg, V.K., Natarajan, A., Mittal, N.: A distributed abstraction algorithm for online predicate detection. In: 32nd IEEE Symposium on Reliable Distributed Systems (SRDS), pp. 101–110 (2013). http://ieeexplore.ieee.org/xpl/mostRecentIssue.jsp?punumber=6656126
Cooper, R., Marzullo, K.: Consistent detection of global predicates. In: ACM Workshop on Parallel and Distributed Debugging, pp. 167–174 (1991). http://dl.acm.org/citation.cfm?id=122759
Falcone, Y., Fernandez, J., Mounier, L.: What can you verify and enforce at runtime? Int. J. Softw. Tools Technol. Transf. 14(3), 349–382 (2012). https://doi.org/10.1007/s10009-011-0196-8
Fischer, M.J., Lynch, N.A., Paterson, M.S.: Impossibility of distributed consensus with one faulty process. J. ACM 32(2), 374–382 (1985). https://doi.org/10.1145/3149.214121
Fraigniaud, P., Korman, A., Peleg, D.: Towards a complexity theory for local distributed computing. J. ACM 60(5), 35 (2013). https://doi.org/10.1145/2499228
Fraigniaud, P., Rajsbaum, S., Roy, M., Travers, C.: The opinion number of set-agreement. In: 18th International Conference Principles of Distributed Systems (OPODIS), LNCS, vol. 8878, pp. 155–170. Springer (2014). https://doi.org/10.1007/978-3-319-14472-6_11
Fraigniaud, P., Rajsbaum, S., Travers, C.: Locality and checkability in wait-free computing. Distrib. Comput. 26(4), 223–242 (2013). https://doi.org/10.1007/s00446-013-0188-x
Fraigniaud, P., Rajsbaum, S., Travers, C.: Minimizing the number of opinions for fault-tolerant distributed decision using well-quasi orderings. In: 12th Latin American Symposium on Theoretical Informatics (LATIN), LNCS, vol. 9644, pp. 497–508. Springer (2016). https://doi.org/10.1007/978-3-662-49529-2_37
Genon, A., Massart, T., Meuter, C.: Monitoring distributed controllers: When an efficient LTL algorithm on sequences is needed to model-check traces. In: 14th International Symposium on Formal Methods (FM), LNCS, vol. 4085, pp. 557–572. Springer (2006)
Ha, J., Arnold, M., Blackburn, S.M., McKinley, K.S.: A concurrent dynamic analysis framework for multicore hardware. In: 24th ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), pp. 155–174. ACM (2009)
Henle, M.: A Combinatorial Introduction to Topology. Dover (1983). http://store.doverpublications.com/0486679667.html#productdescription
Herlihy, M., Kozlov, D., Rajsbaum, S.: Distributed Computing Through Combinatorial Topology. Morgan Kaufmann-Elsevier (2013). http://store.elsevier.com/Distributed-Computing-Through-Combinatorial-Topology/Maurice-Herlihy/isbn-9780124045781/
Herlihy, M., Rajsbaum, S., Tuttle, M.R.: Unifying synchronous and asynchronous message-passing models. In: 17th ACM symposium on Principles of distributed computing (PODC), pp. 133–142 (1998). https://doi.org/10.1145/277697.277722
Herlihy, M., Shavit, N.: The topological structure of asynchronous computability. J. ACM 46(6), 858–923 (1999). https://doi.org/10.1145/331524.331529
Herlihy, M., Shavit, N.: The Art of Multiprocessor Programming. Morgan Kaufmann Publishers Inc., San Francisco (2008)
Kupferman, O., Y. Vardi, M.: Model checking of safety properties. Form. Methods Syst. Des. 19(3), 291–314 (2001). https://doi.org/10.1023/A:1011254632723
Lynch, N.: Distributed Algorithms. Elsevier, Hoboken (1996)
Mostafa, M., Bonakdarpour, B.: Decentralized runtime verification of LTL specifications in distributed systems. In: 29th IEEE International Parallel and Distributed Processing Symposium (IPDPS), pp. 494–503 (2015)
Raynal, M.: Concurrent Programming—Algorithms, Principles, and Foundations. Springer, Berlin (2013)
Raynal, M.: Distributed Algorithms for Message-Passing Systems. Springer, Berlin (2013)
Scheffel, T., Schmitz, M.: Three-valued asynchronous distributed runtime verification. In: 12th ACM/IEEE International Conference on Formal Methods and Models for Codesign (MEMOCODE), pp. 52–61 (2014). http://ieeexplore.ieee.org/xpl/mostRecentIssue.jsp?punumber=6950639
Sen, K., Vardhan, A., Agha, G., Rosu, G.: Efficient decentralized monitoring of safety in distributed systems. In: 26th IEEE International Conference on Software Engineering (ICSE), pp. 418–427 (2004). http://dl.acm.org/citation.cfm?id=998675
Sen, K., Vardhan, A., Agha, G., Rosu, G.: Decentralized runtime analysis of multithreaded applications. In: 20th IEEE International Parallel and Distributed Processing Symposium (IPDPS) (2006). http://ieeexplore.ieee.org/xpl/mostRecentIssue.jsp?punumber=10917
Zhu, H., Dwyer, M.B., Goddard, S.: Predictable runtime monitoring. In: 21st IEEE Euromicro Conference on Real-Time Systems, (ECRTS), pp. 173–183 (2009). http://ieeexplore.ieee.org/xpl/mostRecentIssue.jsp?punumber=5161487
Acknowledgements
We thank the anonymous referee for carefully reviewing the paper.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
All authors are supported in part by the CONACYT-CNRS ECOS Nord M12M01 research Grant.
P. Fraigniaud: Additional support from ANR project DESCARTES, and from INRIA project GANG.
S. Rajsbaum: Additional support from UNAM-PAPIIT and LAISLA.
C. Travers: Additional support from ANR project DESCARTES.
An extended abstract of this paper was presented at the 14th International Conference on Runtime Verification (RV), September 22–25, 2014, Toronto, Canada, whose proceedings appeared in Springer’s LNCS 8734.
Rights and permissions
About this article
Cite this article
Fraigniaud, P., Rajsbaum, S. & Travers, C. A lower bound on the number of opinions needed for fault-tolerant decentralized run-time monitoring. J Appl. and Comput. Topology 4, 141–179 (2020). https://doi.org/10.1007/s41468-019-00047-6
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s41468-019-00047-6