An efficient necessary condition for compatibility

Composing services makes sense only if they are compatible, i.e. composition does not lead to problems such as livelocks or deadlocks. In general, compatibility can be checked using state space explorations on any kind of formal models of services. Petri nets, one of the formal models in use, offer a rich theory for reasoning without exploring a state space. Among the techniques is the so-called state equation which forms a linear algebraic necessary condition for reachability of states. In this article, we show how the state equation can be applied for a necessary condition for compatibility. This way, the number of expensive state space based compatibility checks can be drastically reduced. The condition can be applied even if compatibility is achieved through the construction of a behavioral adapter (mediator).