Behavioral matchmaking for service retrieval
The capability to easily ﬁnd useful services (software applications, software components, scientiﬁc computations) becomes increasingly critical in several ﬁelds. Current approaches for services retrieval are mostly limited to the matching of their inputs/outputs. Recent works have demonstrated that this approach is not sufﬁcient to discover relevant components. In this paper we argue that, in many situations, the service discovery should be based on the speciﬁcation of service behavior (in particular, the conversation protocol). The idea behind is to develop matching techniques that operate on behavior models and allow delivery of partial matches and evaluation of semantic distance between these matches and the user requirements. Consequently, even if a service satisfying exactly the user requirements does not exist, the most similar ones will be retrieved and proposed for reuse by extension or modiﬁcation. To do so, we reduce the problem of behavioral matching to a graph matching problem and we adapt existing algorithms for this purpose. A prototype is presented (available as a web service) which takes as input two conversation protocols and evaluates the semantic distance between them; the prototype provides also the script of edit operations that can be used to alter the ﬁrst model to render it identical with the second one.