Abstract:Software architecture (SA) provides a high-level abstraction for component-based software development. It’s important to specify the interaction behavior of the components, verify the compatibility among the components, and ensure the deadlock-freedom of the composition configuration at the architectural level. Many component-based software architectures are using object-oriented paradigm, in which component composition is implemented by method invocations over component interfaces. Concentrating on the component composition in this kind of SA, this paper formally specifies the components and their interaction behaviors, distinguishes the caller’s behavior from the callee’s in interaction, and then presents a set of rules to verify the behavioral compatibility on the interfaces between the components composed together. Finally, an example of e-commerce application is presented to illustrate the feasibility and pertinence of the approach.