The application monitor aspect pattern

  • Authors:
  • Roberta Coelho;Ayla Dantas;Uirá Kulesza;Walfredo Cirne;Arndt von Staa;Carlos Lucena

  • Affiliations:
  • Pontifical Catholic University of Rio de Janeiro (PUC-Rio), Rio de Janeiro, Brazil;Universidade Federal de Campina Grande (UFCG);Pontifical Catholic University of Rio de Janeiro (PUC-Rio), Rio de Janeiro, Brazil;Universidade Federal de Campina Grande (UFCG);Pontifical Catholic University of Rio de Janeiro (PUC-Rio), Rio de Janeiro, Brazil;Pontifical Catholic University of Rio de Janeiro (PUC-Rio), Rio de Janeiro, Brazil

  • Venue:
  • Proceedings of the 2006 conference on Pattern languages of programs
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

Modern applications are typically complex, multithreaded, distributed, and often should provide real-time responses and small-footprint. Due to such characteristics, most often, it is hard to understand the behavior of such systems and consequently detect the root causes of performance or reliability problems. In order to collect information about system's runtime behavior - operations' performance, internal threads status - the system developer is required to instrument the target application (and sometimes also its execution platform). Such monitoring code which allows the developer to reason about the code execution is not localized in a single application module; it must be included in many modules. As a consequence, the monitoring concern tends to be scattered across multiple application/platform modules and tangled with other application concerns. The Application Monitor pattern supports the separate definition of monitoring-related functionalities concerns through the use of aspect-oriented programming. It decouples such concerns from the implementation of application-specific concerns, which in turn improves the system reusability and maintainability.