A dynamic middleware-based instrumentation framework to assist the understanding of distributed applications

Denis Reilly · Liverpool John Moores University · 2017

Distributed object and component-based middleware technologies dramatically simplify the development of distributed applications, but they offer little support to assist their runtime control and management.The control and management problem is exacerbated by the fact that distributed applications are notoriously complex at runtime, due to their inherent dynamics and the possibility of heterogeneous component technologies.A prerequisite to the management of any dynamic system is an understanding of the system itself, which calls for techniques capable of gathering information relating to structure and behaviour.In conventional engineering disciplines, such techniques are provided through instrumentation, which provides instruments, such as data loggers, gauges, probes, monitors, that further our understanding of a target system.This thesis sets out on a journey, which aims to utilize the concepts of conventional engineering instrumentation to assist the understanding of distributed applications.The starting point for such a journey is that of traditional software instrumentation, which has been around for some time (circa 1970s), but has not reached the maturity of its conventional engineering counterpart.Initially, software instrumentation was used to assist the understanding and debugging of procedural language programs and later to assist the tuning and visualization of parallel programs.The basic technique of software instrumentation is the insertion of instrumentation code at points of interest throughout a program.However, where distributed applications are concerned this is impractical for several reasons, which include the distribution itself and the problem of runtime insertion, without having to take resources offline.If we are to use software instrumentation in distributed applications, these issues and others must be addressed.The main aim of the thesis is to investigate the fundamental requirements of on-demand distributed software instrumentation, and the promotion of instrumentation as a new middleware service.The main contribution of the thesis is the conception of a dynamic software instrumentation framework.The framework consists of a series of related models including: a requirements model, a classification model, formal and semi-formal analysis models and a programming model.An instrumentation architecture makes up the heart of the framework.The architecture regards instrumentation as services, which are intended to complement core middleware services.A proof of concept implementation of the architecture has been prototyped using Jini (a Java-based middleware technology) to provide an API for use in distributed Java applications.A series of case-studies are used to evaluate the architecture and assess the effectiveness and performance overhead of instrumentation services.Overall, the thesis provides a reference framework, which can be used by system architects, application developers and middleware technology providers as a basis for the development of subsequent instrumentation efforts.I would like to express a special thankyou to Prof. M. Merabti

Read the paper · More papers on PaperTik