Monitoring Multi-threaded Component-Based Systems

  • Hosein Nazarpour
  • Yliès Falcone
  • Saddek Bensalem
  • Marius Bozga
  • Jacques Combaz
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9681)


This paper addresses the monitoring of logic-independent linear-time user-provided properties on multi-threaded component-based systems. We consider intrinsically independent components that can be executed concurrently with a centralized coordination for multiparty interactions. In this context, the problem that arises is that a global state of the system is not available to the monitor. A naive solution to this problem would be to plug a monitor which would force the system to synchronize in order to obtain the sequence of global states at runtime. Such solution would defeat the whole purpose of having concurrent components. Instead, we reconstruct on-the-fly the global states by accumulating the partial states traversed by the system at runtime. We define formal transformations of components that preserve the semantics and the concurrency and, at the same time, allow to monitor global-state properties. Moreover, we present RVMT-BIP, a prototype tool implementing the transformations for monitoring multi-threaded systems described in the BIP (Behavior, Interaction, Priority) framework, an expressive framework for the formal construction of heterogeneous systems. Our experiments on several multi-threaded BIP systems show that RVMT-BIP induces a cheap runtime overhead.


Graphic Processing Unit Partial State Global State System Task Execution Trace 
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.



The authors are supported by the Artemis ARROWHEAD project under grant agreement number 332987 (ARTEMIS/ECSEL Joint Undertaking, supported by the European Commission and French Public Authorities). The work reported in this article is in the context of the COST Action ARVI IC1402, supported by COST (European Cooperation in Science and Technology).


  1. 1.
    Basu, A., Bidinger, P., Bozga, M., Sifakis, J.: Distributed semantics and implementation for systems with interaction and priority. In: Suzuki, K., Higashino, T., Yasumoto, K., El-Fakih, K. (eds.) FORTE 2008. LNCS, vol. 5048, pp. 116–133. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  2. 2.
    Basu, A., Bozga, M., Sifakis, J.: Modeling heterogeneous real-time components in BIP. SEFM 2006, 3–12 (2006)Google Scholar
  3. 3.
    Bauer, A., Leucker, M., Schallhart, C.: Comparing LTL semantics for runtime verification. J. Log. Comput. 20(3), 651–674 (2010)MathSciNetCrossRefzbMATHGoogle Scholar
  4. 4.
    Bauer, A.K., Falcone, Y.: Decentralised LTL monitoring. FM 2012, 85–100 (2012)MathSciNetzbMATHGoogle Scholar
  5. 5.
    Berkovich, S., Bonakdarpour, B., Fischmeister, S.: GPU-based runtime verification. IPDPS 2013, 1025–1036 (2013)Google Scholar
  6. 6.
    Bonakdarpour, B., Bozga, M., Jaber, M., Quilbeuf, J., Sifakis, J.: A framework for automated distributed implementation of component-based models. Distrib. Comput. 25(5), 383–409 (2012)CrossRefzbMATHGoogle Scholar
  7. 7.
    Falcone, Y., Cornebize, T., Fernandez, J.-C.: Efficient and generalized decentralized monitoring of regular languages. In: Ábrahám, E., Palamidessi, C. (eds.) FORTE 2014. LNCS, vol. 8461, pp. 66–83. Springer, Heidelberg (2014)CrossRefGoogle Scholar
  8. 8.
    Falcone, Y., Fernandez, J., Mounier, L.: What can you verify and enforce at runtime? STTT 14(3), 349–382 (2012)CrossRefGoogle Scholar
  9. 9.
    Falcone, Y., Jaber, M., Nguyen, T., Bozga, M., Bensalem, S.: Runtime verification of component-based systems in the BIP framework with formally-proved sound and complete instrumentation. Softw. Syst. Model. 14(1), 173–199 (2015)CrossRefGoogle Scholar
  10. 10.
    Milner, R.: Communication and Concurrency, vol. 84. Prentice Hall, New York (1989)zbMATHGoogle Scholar
  11. 11.
    Mostafa, M., Bonakdarpour, B.: Decentralized runtime verification of LTL specifications in distributed systems. IPDPS 2015, 494–503 (2015)Google Scholar
  12. 12.
    Nazarpour, H.: Runtime Verification of Multi-Threaded BIP.
  13. 13.
    Nazarpour, H., Falcone, Y., Bensalem, S., Bozga, M., Combaz, J.: Monitoring multi-threaded component-based systems. Technical Report TR-2015-5, Verimag Research Report (2015).
  14. 14.
    Sen, A., Garg, V.: Detecting temporal logic predicates in distributed programs using computation slicing. In: Papatriantafilou, M., Hunel, P. (eds.) OPODIS 2003. LNCS, vol. 3144, pp. 171–183. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  15. 15.
    Sen, A., Garg, V.K.: Formal verification of simulation traces using computation slicing. IEEE Trans. Comput. 56(4), 511–527 (2007)MathSciNetCrossRefGoogle Scholar
  16. 16.
    Sen, K., Vardhan, A., Agha, G., Rosu, G.: Decentralized runtime analysis of multithreaded applications. In: Proceedings of the 20th International Parallel and Distributed Processing Symposium (IPDpPS 2006), 25–29 April 2006, Rhodes Island, Greece, IEEE (2006)Google Scholar
  17. 17.
    Tomlinson, A.I., Garg, V.K.: Monitoring functions on global states of distributed programs. J. Parall. Distrib. Comput. 41(2), 173–189 (1997)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  • Hosein Nazarpour
    • 1
  • Yliès Falcone
    • 1
  • Saddek Bensalem
    • 1
  • Marius Bozga
    • 1
  • Jacques Combaz
    • 1
  1. 1.Univ. Grenoble AlpesGrenobleFrance

Personalised recommendations