Font Size: a A A

Research On Dynamic Evolution Technologies Of Software Runtime Variability

Posted on:2017-11-22Degree:DoctorType:Dissertation
Country:ChinaCandidate:J W LiuFull Text:PDF
GTID:1368330569498487Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
Runtime variability is the ability of a software system to be effectively changed(extended,configured,adjusted)in a particular context.In order to handle ever-growing changes of evironments and requirements,runtime variabiltiy of a software system has to be dynamically evolvable.How to realise dynamic evolution of runtime variabiltiy is an important and challenging problem in the area of software engineering.This thesis attempts to solve the problem.Aiming at revealing the very nature of such evolution and providing key technologies and supporting environment for the development,miantianance and evolution of DERVS(software with dyanmically evolvable runtime variabiltiy),this thesis studies on runtime variabiltiy model,evolution mechanism,software architecture supporting evolution,inconsistency detecting,etc.The main contributions of the thesis are described as follows.1.In order to reveal the nature of runtime variability and its evolution and build the theriotical foundation for the research,this thesis proposes a type-based and cardinality-based runtime variability model,along with evolution mechanism of runtime variability.Based on types of variability element and cardinality of variability element relations,this thesis proposes a model for runtime variability to reflect its characteristics.Then this thesis puts forward evolution mechanism of runtime variability.According to evolution effect and evolution object,the evolution primitives of the evolution mechanism are classified to show the nature of the evolution.The above works provide theoretical foundation for the research on dynamic evolution of runtime variability.2.To support dynamic evolution of runtime variability,and to support designing DERVS,this thesis proposes reference architecture of DERVS,and further proposes implementation algorithm of the evolution mechanism.According to the nature of variability elements and the essential relation between variability elements and software architecture from an implementation perspective,this thesis puts forward a software architecture that supports dynamic evolution of runtime variability,and supports design and implementation of DERVS.There are three levels in it: representation level,base level and synchronisation level.Runtime variability model can be represented in a computable form in the representation level,in order to facilitate managing and maintaining runtime variability in the process of evolution.Base level consists of variability units and their containers to implement business logic and runtime variability of DERVS.Synchronisation level is supposed to synchronise representation and implementation of runtime variability in the evolution process.On the basis of such architecture,this thesis depicts the implementation algorithm of the evolution mechanism.The algorithm is supposed to achieve the goal of dynamically evolving runtime variability,through synchoronously adjusting representation level and implementation level of DERVS at runtime.3.Aiming at the inconsistencies possibly brought about by the evolution,the thesis proposes consistency constraints that should be satisfied by the runtime variability model;designs and implements inconcsistency detecting algorithms based on the consistency constraints.Dynamic evolution tends to introduce inconsistencies into runtime variability model from four perspectives: model representation,model coordination,model configuration and accessibility of variability elements.These inconsistencies are actually defects and exceptions in the software system.This thesis proposes four corresponding consistency constraints,including Well-formedness Constraint,Coordination Constraint,Self-containedness Constraint and Accessibility Constraint,in order to define prerequisites that should be satisfied by a consistent runtime variability model.That is,if these consistency constraints are violated during dynamic evolution,then some inconsistencies are surpposed to exist in the model,i.e.,the software system has defects.This thesis puts forward corresponding inconsistency detecting algorithms,including Well-formedness Checking Algorithm,Coordination Checking Checking Algorithm,Self-containedness Checking Algorithm and Accessibility Checking Algorithm,to determine whether the runtime variability model satisfies the consistency constraints,in order to find and locate the inconsistencies.4.This thesis develops DERVF to support development,operation and evolution of DERVS,in order to reify the key technologies of dynamic evolution of runtime variability.On the basis of.Net Framework,a supporting environment DERVF is designed and implemented to facilitate development and operation of DERVS,as well as dynamic evolution of runtime variability of DERVS.DERVF provides a set of tools,class libraries and infrastructure,including Runtime Variability Class Library,DERVS Development Tool Kits,DERVS Runtime Routine and Runtime Variability Integrated Evolution Environments,to reify the key technologies such as runtime variability model representation,evolution mechism,DERVS architecture,inconsistency detecting algorithms,etc.DERVF simplifies development,maintenance and evolution of DERVS to a great extent,and thus unburden people involved in these activities.The thesis conducts a case study on a real socio-technical system based on DERVF,in order to show the feasibility and effectiveness of the proposed key technologies.
Keywords/Search Tags:Runtime Variability, Dynamic Software Evolution, Evolution Mechanism, Software Architecture, Consistency Constraint, Inconsistency Detecting
PDF Full Text Request
Related items