A grammar-based index for matching business processes

Complex services are composed of simple services which typically need to be processed in a particular order. Two complex services only match if they agree on both, their simple services and their processing order. This matching semantics can be formalized by means of modelling complex services as finite state automata (FSAs), and analysing the intersection of the FSAs. However, computing the intersection of FSAs is computationally expensive, and thus, does not scale for large service repositories. This paper presents an approach for indexing and matching complex services using an abstraction that transforms the underlying FSA via its grammar into a form that can be indexed using available index mechanisms. Evaluation of this approach shows a performance gain of several orders of magnitude as compared to sequential matching.

[1]  Roy Goldman,et al.  DataGuides: Enabling Query Formulation and Optimization in Semistructured Databases , 1997, VLDB.

[2]  Herbert Weinblatt,et al.  A New Search Algorithm for Finding the Simple Cycles of a Finite Directed Graph , 1972, JACM.

[3]  Andreas Reuter,et al.  Transaction Processing: Concepts and Techniques , 1992 .

[4]  Rajeev Rastogi,et al.  RE-tree: an efficient index structure for regular expressions , 2003, The VLDB Journal.

[5]  Seymour Ginsburg,et al.  Algebraic and Automata Theoretic Properties of Formal Languages , 1975 .

[6]  Jan Mendling,et al.  Business Process Execution Language for Web Services , 2006, EMISA Forum.

[7]  Sven Helmer,et al.  A performance study of four index structures for set-valued attributes of low cardinality , 2003, The VLDB Journal.

[8]  Dennis Shasha,et al.  GraphGrep: A fast and universal method for querying graphs , 2002, Object recognition supported by user interaction for service robots.

[9]  Erich J. Neuhold,et al.  Matchmaking for Business Processes Based on Choreographies , 2004, Int. J. Web Serv. Res..

[10]  Jeffrey D. Ullman,et al.  Introduction to Automata Theory, Languages and Computation , 1979 .

[11]  Dan Suciu,et al.  Index Structures for Path Expressions , 1999, ICDT.

[12]  Erich J. Neuhold,et al.  Transforming BPEL into annotated deterministic finite state automata for service discovery , 2004, Proceedings. IEEE International Conference on Web Services, 2004..

[13]  Matjaz B. Juric,et al.  Business process execution language for web services , 2004 .

[14]  Erich J. Neuhold,et al.  IPSI-PF: a business process matchmaking engine , 2004, Proceedings. IEEE International Conference on e-Commerce Technology, 2004. CEC 2004..