Font Size: a A A

The Dynamic Evolution Of Software Technology Research Base On Object And Component

Posted on:2012-02-03Degree:DoctorType:Dissertation
Country:ChinaCandidate:H L ChenFull Text:PDF
GTID:1228330395985267Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
History of software technology indicated that computing platforms, thinking pattern and underlying property of problems, corresponding to the computing space, thinking space and problem space, are the mainly reasons affecting software development. In essence, the development of software technology is the process of in-depth understanding of the three spaces and promoting the transition between them. With the rapid developing of internet, tiny devices of computing power and networking capabilities are making network ubiquitous. All these change people’s understanding of the three spaces and will promote new software technology oriented internet.Currently, according to the opening, dynamic and difficult control environment in the field of internet, Fuqing Yang, Hong Mei, Jian Lu, et al proposed Internetware. Kephart and Chess in IBM proposed autonomic computing for collaboration, self-managing and the like. But no matter Internetware, autonomic computing or other software models, there are all a common challenge, that how to change with the opening, dynamic and difficult controlled external environment and meet external expectations by self-adapting. Obviously the research to dynamic evolution of software is very important to achieve dynamic, open and flexible system and has become an important field in the software engineering community.According to the requirements of dynamic evolution in internet, first analyze the background of dynamic evolution and describe it in detail from the aspect of how to support evolution, evolve and verify the correctness and consistence of evolution. Then propose some principles to classify dynamic evolution and emphasizes on model, framework of dynamic evolution. Further propse a conception model of dynamic evolution based on these to provide guidance for further study of dynamic evolution.The behavior’s consistency, coherence and integrity of system have long been the research focus in dynamic evolution. But today the formalism of dynamic evolution mainly concentrates on some particular aspect and little involves the environment, it hard to analyze and verify all the characteristics in dynamic evolution. Based on the theory in Bigraph which is proposed by Robin Milner, propose a modeling method based on Bigraph and demonstrate the relevant characteristics of the dynamic evolution. Different from tradition method utilizing Petri Net,π calculus and process algebra, Bigraph merge the advantages of π calculus and mobile ambient calculus and introduce environment context to participate system transition, which enable more intuitive and accurate description of system and make it more suitable for modeling of dynamic evolution. A case study of Bigraph shows that software modeling mechanism based on Bigraph can offer solid foundation for the formalism of dynamic evolution.Evolution mechanism is one of the key problems in dynamic evolution. On the basis of command pattern, separating method invocation from method execution and handling the method execution by centralized dispatching, an online evolution mechanism (FOEM) is designed. In FOEM, the method invocation is encapsulated into command request and put into active queue, when dispatching changes its behavior according to configuration in deploy file, for example to add method before or after original method or replace original method dynamically during running time. Experiments show that FOEM is flexible and ligthweight, which meets most of dynamic evolution requirements, But FOEM is not suit for complex evolution process involving large number of objects. Inspiring from service oriented computing, another dynamic evolution mechanism is proposed, which is based on service object and we may call it a pseudo SOA. The mechanism decouple the object reference by registry so that it can interpret the invocation of service object during running time and accomplish the evolution with complex evolution logic. The mechanism introduces SOA in the internal of program design; enable the same unified invocation style whenever from internal or external. It is convenient for migration between local and remote service object, and also dynamic composition of service object to realize dynamic evolution flexibly.Framework is the key factors for software dynamic evolution which enable fast develop and widely deploy. Based on the mechanism of dynamic object replacing, a dynamic evolution framework is designed for embedded environment. The principle used in the framework is that when classes have the same number of variables and virtual functions and signatures, memory layout of object belonging to different classe is the same. By means of this way, when the two part of class is the same, the same is the memory layout of the old object as the new object. So after replace the old object, the system execute the instruction of the same address which is now change to the new object, so it can switch from the old object to the new object transparently and satisfy the evolution requirements.In view that current research of dynamic evolution is mainly focus on the functional requirement and little about the nonfunctional requirement or almost useing qualitative method, the research of quantitative mothods about the nonfunctional requirement during evolution, especially performance and reliability, is carrying out in this paper. First a component assignment method is proposed on the basis of architecture model to satisfy the performance and resource constrains during dynamic evolution.The component assignment problem is proved to be NP, so a corresponding heuristic algorithm is proposed. As for reliability, a component assignment algorithm based on distributed architecture model is also proposed to satisfy the reliability during dynamic evolution. Experiments show that all these algorithms proposed is suit for evolution decision-making during running time, which provides guidance for the nonfunctional evolution.Our work has focused on the following aspects:1) through the study on dynamic evolution modeling, evolution mechanism, system infrastructure and applications, this dissertation establishes a global view of software dynamic evolution;2) proposes many key technologies and algorithms for software dynamic evolution. All of these can provide effective direction and guideline on the research of software dynamic evolution.
Keywords/Search Tags:dynamic evolution, design pattern, command pattern, service object, architecture model, Reliability, Bigraph theory
PDF Full Text Request
Related items