| Safe and low-disruptive dynamic updates of component-based system rely on accu-rate information of dependences between components. Recent researches on dynamic update criterion just assume the availability of the changing dependences information between components without considering how to gain the information with the forces of accuracy, overheads and automation balanced. To solve this problem, this paper introduces an automated approach to manage the changing dependences between com-ponents with a runtime model, which can achieve high accuracy and low overheads. The main work is summarized with five aspects as follows:â—Dynamic dependences between components of an on-going transaction are de-fined. By definition, a notion of dynamic dependences is proposed, which can be applied directly to dynamic update. A Dynamic Dependences Mealy Machine (DDMM) is formally defined, which can be considered as a runtime model of the on-going transaction and the runtime dynamic dependences of the transac-tion can be reasoned from the model.â—An automated management framework for managing dynamic dependences with the DDMM is proposed. DDMM is statically and directly derived from the im-plementation of the transaction. The static DDMM and its trigger methods are then instrumented into the implementation to synchronize DDMM with the trans-action at runtime. When the transaction runs, its instrumentations are executed accordingly, which drives the DDMM instantiated as a runtime model of the transaction and based on it the current dependences of the transaction are man-aged automatically. â—· The optimization for DDMM is studied, which minimizes the DDMM to reduce the number of instrumentations and its overheads. The optimization of branch prediction is studied, which predicts the branch a transaction will choose in the future ahead to improve the accuracy of the estimated dependences.â—A dynamic dependences management tool of Java transactions, called DDMT, has been implemented based on the automate management framework. DDMT only assumes the availability of the byte code implementation of a Java transac-tion. From the byte code, DDMT can automatically manage the runtime dynamic dependences of the transaction without introducing any manual work.â—Experiments have been conducted with DDMT on a real-world-application bench-mark Day Trader of Dacapo. The results show that our approach achieves a high accuracy and keeps low overheads. |