Font Size: a A A

Key Techniques And Formalism For Dynamic Component-based Software Updating

Posted on:2012-08-17Degree:DoctorType:Dissertation
Country:ChinaCandidate:X H XuFull Text:PDF
GTID:1118330362958300Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
For some mission-critical software applications, high availability is one of mostimportant features. In these software systems, to correct software bugs, extendservice functions and enhance system performance, software updating must executedynamically to keep target system running. If a software system can excellentlysupport dynamic updating, it will be very good to improve the adaptability and agilityof system. As a result, dynamic software updating(DSU) can extend the softwarelifecycle, decrease the cost of software management and operation, and satisfy therequirements of software complexity and adaptability.In this thesis, we analyze various functional and nonfunctional requirements,extract some key technical issues on dynamic component-based software updating,and then propose several technical methods to solve these issues. Meanwhile, basedon the characteristics of component-based software, the high-orderπcalculus areextended to model dynamic modularity, transaction and compensation, and runtimestate preservation. These expansions will be helpful to better describe the principalcharacteristics and requirements of dynamic update, and to provide the basis offormalization for dynamic component-based updating. Finally, we develop a dynamicupdate supporting framework to implement technically those solutions, and validatethe feasibility of methods through case study and experimental analysis. The maincontributions of this thesis are summarized with three aspects as follows.Firstly we propose several implementation techniques to solve key issues ondynamic component-based software updating. Through the analysis of servicecharacteristics and structural expressions, we understand component composition,communication and interaction in a component-based software. Then in combinationwith the requirements on availability and correctness of dynamic update supporting mechanism, we analyze and extract some key technical aspects of dynamiccomponent-based software updating, such as derivation of update points,transmission of update files, choices of update timing, runtime state transfer andupdate exception handling. Based on secure communication, dependency analysis,static analysis and transaction techniques, we offer some corresponding solutions.Secondly we extend higher-orderπcalculus to model dynamic modularity,update transaction and compensation, and state preservation and develop a formalcalculus (called updateπcalculus) to describe the behaviors of dynamiccomponent-based software updating. Then according to previous analysis ondynamic update supporting mechanisms, we determine design principles forformalizing component-based software updating. After the introduction of processsequence and those expansions of higher-orderπcalculus, we define the syntax,semantics and reduction rules for updateπcalculus. Through some case studies, wedescribe some important mechanisms of dynamic component-based updating, such aschoices of update timing, update execution, runtime state transfer and updateexception handling.Thirdly we construct a component-based supporting platform for dynamicsoftware update based on service-oriented paradigm, which includes the componentdevelopment management, service-oriented infrastructure, service functionimplementation, service deployment and management, target system applications andtheir relations. Among them, dynamic update service, as a core component of servicedeployment and management, implements the functions about update initiation,updating scheduling, updating operation and exception handling to meet variousfunctional and nonfunctional requirements. Based on R-OSGi technology, wedevelop a dynamic update supporting system for component-based software andimplement some dynamic update in pervasive computing environments. Theseexperimental results show that the proposed solutions are feasible for supportingdynamic updates in component-based software.
Keywords/Search Tags:Component-based software, Software maintenance, Dynamicsoftware update, Dynamic modularity, Runtime state transfer, Formal method, Higher-orderπcalculus
PDF Full Text Request
Related items