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.
- 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 Scholar
- BBF15 Runtime verification with minimal intrusion through parallelismForm Methods Syst Des201546331734810.1007/s10703-015-0226-31323.68363Google ScholarDigital Library
- BBJ+12 A framework for automated distributed implementation of component-based modelsDistrib Comput201225538340910.1007/s00446-012-0168-61256.68016Google ScholarCross Ref
- 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 Scholar
- 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 Scholar
- 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 Scholar
- BF16 Decentralised LTL monitoringForm Methods Syst Des2016481–2469310.1007/s10703-016-0253-806657613Google ScholarDigital Library
- BLS10 Comparing LTL semantics for runtime verificationJ Log Comput201020365167410.1093/logcom/exn0751213.683632647019Google ScholarDigital Library
- 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 Scholar
- 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 Scholar
- CF16 Organising LTL monitors over distributed systems with a global clockForm Methods Syst Des2016491–210915810.1007/s10703-016-0251-xGoogle ScholarDigital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
- FFM12 What can you verify and enforce at runtimeSTTT201214334938210.1007/s10009-011-0196-8Google ScholarCross Ref
- FJMP16 Runtime enforcement of regular timed properties by suppressing and delaying eventsSyst Control Lett2016123241Google ScholarDigital Library
- 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 Scholar
- FJN+15 Runtime verification of component-based systems in the BIP framework with formally-proved sound and complete instrumentationSoftw Syst Model201514117319910.1007/s10270-013-0323-yGoogle ScholarDigital Library
- FS15 Synthesising correct concurrent runtime monitorsForm Methods Syst Des201546322626110.1007/s10703-014-0217-91323.68373Google ScholarDigital Library
- Hoa78 Hoare CAR (1978) Communicating sequential processes. In: The origin of concurrent programming. Springer, pp 413–443Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- Mil95 Milner R (1995) Communication and concurrency. Prentice Hall International (UK) Ltd., HertfordshireGoogle Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- SG07 Formal verification of simulation traces using computation slicingIEEE Trans Comput200756451152710.1109/TC.2007.10112351623Google ScholarDigital Library
- 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 Scholar
- TG97 Monitoring functions on global states of distributed programsJ Parallel Distrib Comput199741217318910.1006/jpdc.1996.1298Google ScholarDigital Library
- vGV97 The difference between splitting in n and n + 1Inf Comput1997136210914210.1006/inco.1997.26340889.680551459843Google ScholarDigital Library
Index Terms
- Concurrency-preserving and sound monitoring of multi-threaded component-based systems: theory, algorithms, implementation, and evaluation
Recommendations
Monitoring Multi-threaded Component-Based Systems
IFM 2016: Proceedings of the 12th International Conference on Integrated Formal Methods - Volume 9681This 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 ...
A new concurrency control mechanism for multi-threaded environment using transactional memory
Software transactional memory (STM) is one of the techniques used towards achieving non-blocking process synchronization in multi-threaded computing environment. In spite of its high potential, one of the major limitations of transactional memory (TM) ...
Comments