Font Size: a A A

Dealing With Faults In Self-adaptive Software System:An Explicit Environment Model-based Approach

Posted on:2015-10-22Degree:DoctorType:Dissertation
Country:ChinaCandidate:L H ZhangFull Text:PDF
GTID:1368330491460252Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
Nowadays,the operation environment of software systems is becoming more and more open,complex and unpredictable.To fulfill their requirements,software systems are required to dynamically adapt their behaviors in response to environment changes without human intervention.Such software systems are called self-adaptive systems.Self-adaptive systems often interact with the environment in a a "sense—decide—adapt"manner.Such interactions can be complicated and bring new quality issues,such as the inconsistencies between the perceived environment and the real environment,the in-completeness of the adaption logic,and the inaccuracy of hardware control.In addition,directly applying existing fault handling techniques to self-adaptive systems would also have some drawbacks.First,there is a lack of systematic understanding and modeling approaches for the environment and its changes,making model checking of those sys-tems not complete.Second,we often ignore the impacts of the system's adaptation actions on the environment's state,making testing results inaccurate.Finally,we lack knowledge on the hardware constraints,causing fault recovery techniques to be infea-sible on such systems.These issues are due to the fact that existing techniques simply treat environment interaction as the same with traditional system input and output.We argue that,environment is equally important with the system in a self-adaptive system.Environment should be explicitly taken into consideration throughout the system' s design,development,deployment,and maintenance phases.In this thesis,we propose a fault-handing approach to deal with software faults for self-adaptive system,based on the explicit environment modeling.This thesis makes the following contributions:1.We propose a self-adaptive system oriented modeling approach to explicitly model a system' s operation environment.Such an environment model is a labeled tran-sition system that is consisted of a set of dynamic environment states and transi?tions between them.Also,it should be maintained explicitly during a system s execution.Compared to an environment models derived from raw sensory data,or simple reasoning,our environment models contain richer semantics,which is capable of describing not only the developer's expectation on the environment but also the way how the environment changes.2.We propose an automated test-ease generation approach for self-adaptive sys-terms.Based on our explicit environment model,we first symbolize the states of our environment model to enable automated test-case generation tools to under-stand and manipulate the environment.Then we redirect the system under test to interact with our environment model.Finally,we apply dynamic symbolic execu?tion techniques to automatically generate test cases.We apply this approach on a typical application domain,cloud applications,which operate on a cloud environ-ment.The experimental results show that our test generation framework could automatieally generate test eases with high structural coverage while avoiding false alarms.As a result,the accuracy of test results is improved.3.We propose a runtime-error detection and recovery approach for self-adaptive systems,targeting at the sync-loss error,which has a strong correlation with a system's runtime failure.Based on our explicit environment model,such sync-loss errors can be formally defined.A runtime system support is then presented,which enables sync-loss errors to be detected and fixed by an environment re-synchronization mechanism.We also propose a static analysis algorithm for pre-dicting whether a system has the capability to re-synchronize itself with its envi-ronment.The experimental results show that our approach could greatly reduce a system's runtime failure rate when sync-loss error occurs.4.We implement a prototypical middleware platform for self-adaptive robot car applications.The platform supports not only our explicitly environment model-ing approach,which enable developers to easily design a rule-based model for a self-adaptive system,but also the two previously mentioned fault handling ap-proaches.In addition,our platform masks all the low-level hardware control de-tails,incorporates sensory inconsistency resolution and control error compensa-tion mechanisms,and provides a unified programming interface for self-adaptive applications.
Keywords/Search Tags:Self-adaptive System, Software Quality, Fault Handling, Environmental Modeling, Software Testing, Fault Tolerance
PDF Full Text Request
Related items