skip to main content
research-article
Open Access

Concurrency-preserving and sound monitoring of multi-threaded component-based systems: theory, algorithms, implementation, and evaluation

Authors Info & Claims
Published:01 November 2017Publication History
Skip Abstract Section

Abstract

Abstract

This paper addresses the monitoring of logic-independent linear-time user-provided properties in 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 in a monitor which would force the system to synchronize in order to obtain the sequence of global states at runtime. Such a 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 transformations of components that preserve their semantics and 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 Behavior, Interaction, Priority (BIP) 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.

References

  1. BBBS08 Basu A, Bidinger P, Bozga M, Sifakis J (2008) Distributed semantics and implementation for systems with interaction and priority. In: Higashino KST, El-Fakih KYK (eds) Formal techniques for networked and distributed systems—FORTE 2008, 28th IFIP WG 6.1 international conference, Tokyo, Japan, June 10–13, 2008, proceedings. Lecture notes in computer science, vol 5048. Springer, pp 116–133Google ScholarGoogle Scholar
  2. BBF15 Berkovich SBonakdarpour BFischmeister SRuntime verification with minimal intrusion through parallelismForm Methods Syst Des201546331734810.1007/s10703-015-0226-31323.68363Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. BBJ+12 Bonakdarpour BBozga MJaber MQuilbeuf JSifakis JA framework for automated distributed implementation of component-based modelsDistrib Comput201225538340910.1007/s00446-012-0168-61256.68016Google ScholarGoogle ScholarCross RefCross Ref
  4. BBS06 Basu A, Bozga M, Sifakis J (2006) Modeling heterogeneous real-time components in BIP. In: Fourth IEEE international conference on software engineering and formal methods (SEFM 2006), 11–15 September 2006, Pune, India. IEEE Computer Society, pp 3–12Google ScholarGoogle Scholar
  5. BCL+04 Bruneton E, Coupaye T, Leclercq M, Quéma V, Stefani J-B (2004) An open component model and its support in Java. In: International symposium on component-based software engineering. Springer, pp 7–22Google ScholarGoogle Scholar
  6. BF12 Bauer AK, Falcone Y (2012) Decentralised LTL monitoring. In: Giannakopoulou D, Dominique M (eds) 18th international symposium on formal methods: FM 2012, Paris, France, August 27–31, 2012, proceedings. Lecture notes in computer science, vol 7436. Springer, pp 85–100Google ScholarGoogle Scholar
  7. BF16 Bauer AFalcone YDecentralised LTL monitoringForm Methods Syst Des2016481–2469310.1007/s10703-016-0253-806657613Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. BLS10 Bauer ALeucker MSchallhart CComparing LTL semantics for runtime verificationJ Log Comput201020365167410.1093/logcom/exn0751213.683632647019Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. BLS11 Bauer A, Leucker M, Schallhart C (2011) Runtime verification for LTL and TLTL. ACM Trans Softw Eng Methodol 20(4):14:1–14:64Google ScholarGoogle Scholar
  10. BS07 Bliudze S, Sifakis J (2007) The algebra of connectors: structuring interaction in bip. In: Proceedings of the 7th ACM & IEEE international conference on embedded software. ACM, pp 11–20Google ScholarGoogle Scholar
  11. CF16 Colombo CFalcone YOrganising LTL monitors over distributed systems with a global clockForm Methods Syst Des2016491–210915810.1007/s10703-016-0251-xGoogle ScholarGoogle ScholarDigital LibraryDigital Library
  12. DKL10 Dormoy J, Kouchnarenko O, Lanoix A (2010) Using temporal logic for dynamic reconfigurations of components. In: Barbosa LS, Lumpe M (eds) Proceedings of the 7th international workshop on formal aspects of component software (FACS 2010). LNCS, vol 6921. Springer, pp 200–217Google ScholarGoogle Scholar
  13. FCF14 Falcone Y, Cornebize T, Fernandez J-C (2014) Efficient and generalized decentralized monitoring of regular languages. In: Ábrahám E, Palamidessi C (eds) Formal techniques for distributed objects, components, and systems—34th IFIP WG 6.1 international conference, FORTE 2014, held as part of the 9th international federated conference on distributed computing techniques, DisCoTec 2014, Berlin, Germany, June 3–5, 2014, proceedings. Lecture notes in computer science, vol 8461. Springer, pp 66–83Google ScholarGoogle Scholar
  14. FFM09 Falcone Y, Fernandez J-C, Mounier L (2009) Runtime verification of safety-progress properties. In: Bensalem S, Peled D (eds) Proceedings of the 9th international workshop on runtime verification (RV 2009), selected papers. LNCS, vol 5779. Springer, pp 40–59Google ScholarGoogle Scholar
  15. FFM12 Falcone YFernandez J-CMounier LWhat can you verify and enforce at runtimeSTTT201214334938210.1007/s10009-011-0196-8Google ScholarGoogle ScholarCross RefCross Ref
  16. FJMP16 Falcone YJéron TMarchand HPinisetty SRuntime enforcement of regular timed properties by suppressing and delaying eventsSyst Control Lett2016123241Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. FJN+11 Falcone Y, Jaber M, Nguyen T-H, Bozga M, Bensalem S (2011) Runtime verification of component-based systems. In: SEFM 2011, pp 204–220Google ScholarGoogle Scholar
  18. FJN+15 Falcone YJaber MNguyen T-HBozga MBensalem SRuntime verification of component-based systems in the BIP framework with formally-proved sound and complete instrumentationSoftw Syst Model201514117319910.1007/s10270-013-0323-yGoogle ScholarGoogle ScholarDigital LibraryDigital Library
  19. FS15 Francalanza ASeychell ASynthesising correct concurrent runtime monitorsForm Methods Syst Des201546322626110.1007/s10703-014-0217-91323.68373Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Hoa78 Hoare CAR (1978) Communicating sequential processes. In: The origin of concurrent programming. Springer, pp 413–443Google ScholarGoogle Scholar
  21. KW14 Kouchnarenko O, Weber J-F (2014) Adapting component-based systems at runtime via policies with temporal patterns. Lecture notes in computer science, vol 8348. Springer, Cham, pp 234–253Google ScholarGoogle Scholar
  22. KW15 Kouchnarenko O, Weber J-F (2015) Decentralised evaluation of temporal patterns over component-based systems at runtime. Lecture notes in computer science, vol 8997. Springer, Cham, pp 108–126Google ScholarGoogle Scholar
  23. MB15 Mostafa M, Bonakdarpour B (2015) Decentralized runtime verification of LTL specifications in distributed systems. In 2015 IEEE international parallel and distributed processing symposium, IPDPS 2015, Hyderabad, India, May 25–29, 2015. IEEE Computer Society, pp 494–503Google ScholarGoogle Scholar
  24. Mil95 Milner R (1995) Communication and concurrency. Prentice Hall International (UK) Ltd., HertfordshireGoogle ScholarGoogle Scholar
  25. Naz Nazarpour H. Website of RVMT-BIP, a tool for the runtime verification of multi-threaded BIP systems. http://www-verimag.imag.fr/~nazarpou/rvmt.htmlGoogle ScholarGoogle Scholar
  26. NFB+16 Nazarpour H, Falcone Y, Bensalem S, Bozga M, Combaz J (2016) Monitoring multi-threaded component-based systems. In: Abraham E, Huisman M (eds) Proceedings of the 12th international conference on integrated formal methods. LNCSGoogle ScholarGoogle Scholar
  27. SG03 Sen A, Garg VK (2003) Detecting temporal logic predicates in distributed programs using computation slicing. In: Papatriantafilou M, Hunel P (eds) Principles of distributed systems, 7th international conference, OPODIS 2003 La Martinique, French West Indies, December 10–13, 2003 revised selected papers. Lecture notes in computer science, vol 3144. Springer, pp 171–183Google ScholarGoogle Scholar
  28. SG07 Sen AGarg VKFormal verification of simulation traces using computation slicingIEEE Trans Comput200756451152710.1109/TC.2007.10112351623Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. SVAR06 Sen K, Vardhan A, Agha G, Rosu G (2006) Decentralized runtime analysis of multithreaded applications. In: 20th international parallel and distributed processing symposium (IPDPS 2006), 25–29 April 2006, proceedings, Rhodes Island, Greece. IEEEGoogle ScholarGoogle Scholar
  30. TG97 Tomlinson AIGarg VKMonitoring functions on global states of distributed programsJ Parallel Distrib Comput199741217318910.1006/jpdc.1996.1298Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. vGV97 van Glabbeek RVaandrager FThe difference between splitting in n and n + 1Inf Comput1997136210914210.1006/inco.1997.26340889.680551459843Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Concurrency-preserving and sound monitoring of multi-threaded component-based systems: theory, algorithms, implementation, and evaluation
            Index terms have been assigned to the content through auto-classification.

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in

            Full Access

            • Published in

              cover image Formal Aspects of Computing
              Formal Aspects of Computing  Volume 29, Issue 6
              Nov 2017
              188 pages
              ISSN:0934-5043
              EISSN:1433-299X
              Issue’s Table of Contents

              © British Computer Society 2017

              Publisher

              Springer-Verlag

              Berlin, Heidelberg

              Publication History

              • Published: 1 November 2017
              • Accepted: 19 January 2017
              • Received: 3 April 2016
              Published in fac Volume 29, Issue 6

              Qualifiers

              • research-article

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader