Please use this identifier to cite or link to this item: https://www.um.edu.mt/library/oar/handle/123456789/18379
Title: Towards modular monitoring for concurrent systems
Authors: Attard, Duncan Paul
Keywords: Algorithms
Formal methods (Computer science)
Computer software -- Development
Issue Date: 2016
Abstract: Concurrent systems typically consist of multiple components or processes that are designed with the intention of working together. Commonly, the correctness of such systems is perceived from a global perspective, and runtime monitors consider the overall functionality of a system rather than focusing on individual components. This work studies localisation as an alternative means of runtime monitoring in concurrent scenarios to mitigate scalability and performance issues that arise when a global monitoring approach is employed. It centres on the benefits that can be gained if the task of monitoring component-based systems is approached from a modular stance. Within this context, the study takes the form of a comparative analysis that rigorously assesses the benefits of local monitoring, and the ways these outweigh those of its global counterpart. The study presents an implementation of a runtime monitoring tool that automatically synthesises concurrent monitors from formulae specified in mHML, a monitorable subset of the branching-time logic μHML. The synthesis algorithm is compositional w.r.t. to the structure of formula, thereby naturally mapping correctness specifications into concurrent Erlang actors that monitor a running system with minimal instrumentation efforts. Through this tool, local and global monitoring are evaluated vis-à-vis a number of assessment criteria that target the qualitative and quantitative aspects of each approach. To ensure a thorough and holistic examination of the effectiveness of both monitoring approaches, two different experiment setups are considered. The first setup gauges the applicability of local monitoring by studying two forms of component-based architectures, in order to identify in which case the application of local monitoring yields the most benefits. In the second setup, local and global monitoring are used to runtime verify a third-party application, with the intent of assessing the behaviour of each in a real-world use case. The results obtained from these evaluations demonstrate that one stands to gain when local monitoring is employed in component-based scenarios, and that, in general, it outperforms global monitoring. Furthermore, the results clearly show that local monitoring can be used to great effect when applied to isolated target system components. In cases involving components that communicate between themselves, local monitoring may still yield benefits, though these are harder to interpret and quantify. The applicability of these results is not limited solely to the host technology used to conduct the experiments, nor is it bound to the specification formalism used. Rather, the results should be interpreted from an implementation-agnostic viewpoint, making them applicable to any concurrent scenario where components can be delineated into subsystems that can be individually traced.
Description: M.SC.COMPUTER SCIENCE
URI: https://www.um.edu.mt/library/oar//handle/123456789/18379
Appears in Collections:Dissertations - FacICT - 2016
Dissertations - FacICTCS - 2016

Files in This Item:
File Description SizeFormat 
16MCSFT003.pdf
  Restricted Access
1.33 MBAdobe PDFView/Open Request a copy


Items in OAR@UM are protected by copyright, with all rights reserved, unless otherwise indicated.