Tigris: a DSL and Framework for Monitoring Software Systems at Runtime

by   Jhonny Mertz, et al.

The understanding of the behavioral aspects of a software system is an essential enabler for many software engineering activities, such as adaptation. This involves collecting runtime data from the system so that it is possible to analyze the collected data to guide actions upon the system. Consequently, software monitoring imposes practical challenges because it is often done by intercepting the system execution and recording gathered information. Such monitoring may degrade the performance and disrupt the system execution to unacceptable levels. In this paper, we introduce a two-phase monitoring approach to support the monitoring step in adaptive systems. The first phase collects lightweight coarse-grained information and identifies relevant parts of the software that should be monitored in detail based on a provided domain-specific language. This language is informed by a systematic literature review. The second phase collects relevant and fine-grained information needed for deciding whether and how to adapt the managed system. Our approach is implemented as a framework, called Tigris, that can be seamlessly integrated into existing software systems to support monitoring-based activities. To validate our proposal, we instantiated Tigris to support an application-level caching approach, which adapts caching decisions of a software system at runtime to improve its performance.



There are no comments yet.


page 1

page 2

page 3

page 4


Model-Driven Engineering of Self-Adaptive Software with EUREMA

The development of self-adaptive software requires the engineering of an...

An Investigation of the Monitoring Activity in Self Adaptive Systems

Runtime monitoring is essential for the violation detection during the u...

BISM: Bytecode-Level Instrumentation for Software Monitoring

BISM (Bytecode-Level Instrumentation for Software Monitoring) is a light...

SmartWatts: Self-Calibrating Software-Defined Power Meter for Containers

Fine-grained power monitoring of software activities becomes unavoidable...

CBR: Controlled Burst Recording

Collecting traces from software running in the field is both useful and ...

The Concept of an Autonomic Avionics Platform and the Resulting Software Engineering Challenges

The self-* properties commonly associated with the concept of autonomic ...

Fragmented Monitoring

Field data is an invaluable source of information for testers and develo...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.