Current systems and methods supporting component upgrade tend to use a static subtyping comparison or refinement check to guarantee upgrade process. They statically analyzed component compatibility and substitutability without taking the context dependencies into account. This paper proposes a formal underpinning of methods aimed at reasoning about the component instances for its upgradability. We analyze the behavioral protocols of software component and its dependencies with runtime environments, and then introduce interface automata with dependency constraints to express the runtime behaviors and the interaction on the components. Through some efficient monitoring mechanisms, we can check the upgradability of runtime components with taking into account the exact behaviors of environment components.
['Xiaohui Xu', 'Linpeng Huang', 'Xin Wang']
Formalism for Safe Component Upgrades