Font Size: a A A

Research On Accompanied Monitoring Techniques For Large-scale Distributed Software Systems

Posted on:2012-08-21Degree:DoctorType:Dissertation
Country:ChinaCandidate:D H LiuFull Text:PDF
GTID:1268330392973828Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
Along with the increase of the scale and complexity of software systems, softwarefaults and failures is becoming more and more severe, bringing a tremendous impact topeople’s lives as well as social and economic functioning. How to ensure thetrustworthiness of large scale distributed software system becomes a real challenge.Large-scale distributed software systems have the following characteristics: immensesize, decentralized deployment, heterogeneous components, opening environment andcontinuous evolution, which makes that its trustworthiness cannot be ensured by meansin the development phase such as software testing and formal verification. To guaranteereliable operation of large scale distributed software system, we have to "inspect” and"adjust" the system at runtime, in which one of the key enabling technology is softwaremonitoring.Software monitoring technology has undergone decades of development, andresearchers have carried out their research from different point of views, such assoftware debugging, software maintenance, software tuning, software qualityassessment, software, real-time assurance and fault-tolerance. However, to support theassurance of the trustworthiness of large-scale distributed software systems, we stillconfront a set of huge challenges. The most prominent ones are:(1) The lack of researchon the large-scale software monitoring architecture, especially the adaptability,flexibility, and non-invasiveness of for such an architecture;(2) The lack of research onthe monitoring-enabling mechanisms and methods in large-scale systems, especially theresearch on the completeness of monitoring requirements and the efficiency of themonitoring design;(3) The lack of pervasive development methodology to design themonitoring system in large systems.This dissertation launches the research in view of the above challenges and mainlyfocuses in the software engineering field. Our work covers three major topics: themonitoring architecture, the monitoring-enabling mechanism, and the monitoringdevelopment method. The main contributions of this dissertation are as follows:(1) The Adjoin Monitoring Architecture for large-scale distributed softwaresystemsWe present the Adjoin Monitoring Architecture (AMA) for large-scale distributedsoftware system in this dissertation. Here,"adjoin" means the separation of themonitoring mechanisms and the system being monitored. AMA supports the adjoindevelopment through the application of the Aspect-Oriented Programming (AOP)technology and related design patterns, supports the adjoin running through theapplication of monitoring-enabling distributed software run-time framework, andsupports the adjoin evolution through the dynamic deployment of the monitoring system. As a result, AMA can support a variety of software development paradigms, reduce theimpact on the behavior of the system being monitored and support the independentevolution of the monitoring mechanisms.(2) The monitoring-enabling mechanisms and methods driven by designconstraintsThis paper analyzes three main types of distortion in the process of software design:the calculation distortion, the physical-digital mapping distortion and the human-relatedfactors. We present the basic objects and elements in software monitoring from thepoint of view of the origin of computing systems. Based on those work, we propose theinvariant monitoring-enabling mechanism based on design constraints and themonitoring execution mechanism forced by operation specifications. Those twomechanisms are based on the idea of the adjoin monitoring architecture, which achievethe runtime supervision of the design constraints in calculation expression and theoperation specification which should be followed by the operators. The correspondingmethods and tools widen the source of the monitoring requirements and improve theautomation as well as design efficiency of the monitoring-enabling procedure.(3) The monitoring ability injecting method based on meta-informationThe intermixing of the business logic and the monitoring logic will lead to theincrease of the complexity of large-scale distributed software systems. The monitoringability injecting method based on meta-information is the realization of the idea of“divid and conquer”. In this method, the development and maintenance of themonitoring code is independent of the business code, and after the development of themonitoring code, it will be weaved into the target system based on its meta-information(such as the class name, function name, the variable type in the code) with the aid of thereflection mechanism and a set of tools. This approach is composed of four steps: thesource code analysis, the monitoring requirement modeling, the monitoring codegeneration and the monitoring code weaving, which can support the injection ofmonitoring ability before and after the software release as well as a variety ofdevelopment methods and environments.(4) The multi-purpose induction and synthesis method of monitoring informationThe ultimate goal of software monitoring is to serve the requirements from theusers to the system, which comes from the two spaces and three types of users. Theformer is digital space and physical space, the latter includes maintenance personnel,assurance personnel and operational personnel. The main purpose of traditionalsoftware monitoring is the "fault detection." From the perspective of improvingmonitoring efficiency, this dissertation put forward the trace tracking method in the“black-box” problem at runtime based on monitoring synthesis in the digital space, themonitoring customization method for debugging and fault location, and the approach torealize the digital-physical space analysis based on software monitoring.
Keywords/Search Tags:Software Monitoring, Large-Scale Distributed Software System, Accompanied Monitoring Technique, Software Development Method
PDF Full Text Request
Related items