In this paper, a novel approach for service substitutions based on the service type in terms of its interface type and behavior semantics is proposed. In order to analyze and verify behavior-consistent service substitutions in dynamic environments, we first present a formal language to describe services from control-flow perspective, then introduce a type and effiect system to infer conservative approximations of all possible behaviors of these services. The service behaviors are represented by concurrent behavior expressions(CBEs). Built upon the interpretation of CBEs, behavior-consistent service substitutions are defined and analyzed by subtyping technology.The correctness of the analysis approach is guaranteed by type safety theorem, which is mechanically proved in the Coq proof assistant. Finally, applications in web services show that our method is effiective and feasible.
In this paper, a novel approach for service substitutions based on the service type in terms of its interface type and behavior semantics is proposed. In order to analyze and verify behavior-consistent service substitutions in dynamic environments, we first present a formal language to describe services from control-flow perspective, then introduce a type and effect system to infer conservative approximations of all possible behaviors of these services. The service behaviors are represented by concurrent behavior expressions (CBEs). Built upon the interpretation of CBEs, behavior-consistent service substitutions are defined and analyzed by subtyping technology. The correctness of the analysis approach is guaranteed by type safety theorem, which is mechanically proved in the Coq proof assistant. Finally, applications in web services show that our method is effective and feasible.