Modeling Search Computing Applications


Published on

Published in: Technology, Education
  • Be the first to comment

  • Be the first to like this

Modeling Search Computing Applications

  1. 1. Modeling Search Computing Applications Alessandro Bozzon , Marco Brambilla, Alessandro Campi, Stefano Ceri, Francesco Corcoglioniti, Piero Fraternali, Salvatore Vadacca ICWE 2010, Vienna
  2. 2. Motivating Examples <ul><li>“ Who are the strongest candidates in Europe for competing on software ideas?” </li></ul><ul><li>“ Who is the best doctor who can cure insomnia in a close-by hospital?” </li></ul><ul><li>“ Where can I attend an interesting scientific conference in my field and at the same time relax on a beautiful beach nearby?” </li></ul>This information is available on Internet, but no software system is capable of computing the answer. Queries span over multiple semantic domains and require composing ranking of results.
  3. 3. Their Common Aspect <ul><li>Multi-domain queries </li></ul><ul><li>Individual answers are on the Web </li></ul><ul><li>A knowledgeable user would do the query step-by-step: </li></ul><ul><ul><li>Search database conferences, get their city </li></ul></ul><ul><ul><li>Check that the city average temperature is warm enough </li></ul></ul><ul><ul><li>Search low-cost flights via a broker for that city </li></ul></ul><ul><ul><li>Search luxury hotels via another broker </li></ul></ul><ul><li>We want a system for supporting this search process </li></ul><ul><ul><li>Build several “solutions” which already integrate all dimensions </li></ul></ul><ul><ul><li>Rank “solutions” according to a rank function and outputing results in rank order </li></ul></ul><ul><ul><li>Possibly add dimensions while the search proceeds or change the relative weight of each search </li></ul></ul>
  4. 4. Search Computing architecture: overall view Main Query flow <Uses> relation High level query “ Where can I attend a DB scientific conference close to a beautiful beach reachable with cheap flights?” Sub query 1 “ Where can I attend a DB scientific conference?” Sub query 2 “ place close to a beautiful beach?” Sub query 3 “ place reachable with cheap flight?” Low level query 1 ConfSearch(“DB”,placeX,dateY) Low level query 2 TourSearch(“Beach”,PlaceX) Low level query 3 Flight(“cost<200”,PlaceX,DateY) Services invocations and operators execution Presented results MSVVEIS’08 - Barcelona – Iberia LID’08 – Rome - Alitalia RCIS’08- Marrakech- AirFrance Query plan Results
  5. 5. Service Registration <ul><li>Workshop sessions: </li></ul><ul><li>Semantic Resource Framework </li></ul><ul><li>Wrapping Technology and Ontological Annotation </li></ul><ul><li>Search Computing and Research Evaluation </li></ul><ul><li>Service Marts: </li></ul><ul><li>Conceptual representation of resources as entities and connections </li></ul><ul><li>Logical representation of signatures </li></ul><ul><li>Physical repre. as service implementations </li></ul>
  6. 6. Query Processing <ul><li>Query Planner includes: </li></ul><ul><li>Language for querying services </li></ul><ul><li>Models for building (top-k vs top-flow) query plans </li></ul><ul><li>Methods for query optimization </li></ul><ul><li>Query Engine includes: </li></ul><ul><li>Panta Rhei , a query execution model. </li></ul><ul><li>Workshop sessions: </li></ul><ul><li>Query Processing </li></ul><ul><li>Rank Join </li></ul>
  7. 7. Front-end Research in the SeCo framework <ul><li>Liquid Query </li></ul><ul><li>Client-side framework for configuration and automatic rendering of query and result interfaces </li></ul><ul><li>User interaction primitives that allow to perform explanatory search </li></ul><ul><li>Workshop sessions: </li></ul><ul><li>Search as a Process </li></ul><ul><li>Visual Interfaces for Complex Search </li></ul>
  8. 8. Model Driven Development Process of SeCo Applications
  9. 9. A Model-driven Perspective on Search Computing <ul><li>MDE approaches applied to search computing </li></ul><ul><ul><li>metamodels describing the objects of interest, </li></ul></ul><ul><ul><ul><li>shared knowledge and vision </li></ul></ul></ul><ul><ul><ul><li>bases for future tool interoperability </li></ul></ul></ul><ul><ul><li>specification of applications through model transformations </li></ul></ul><ul><ul><ul><li>formalized representation of the intended semantics </li></ul></ul></ul><ul><ul><ul><li>tool interoperability </li></ul></ul></ul><ul><ul><li>definition of a domain specific language (DSL) for query processing </li></ul></ul><ul><ul><ul><li>Simplified definition and visual representation of the query manipulation processes </li></ul></ul></ul>
  10. 10. SeCo: MDE Overview <ul><li>The SeCo system can be seen as a set of models and model transformations </li></ul><ul><ul><li>At design time </li></ul></ul><ul><ul><li>At runtime ( Query plan execution) </li></ul></ul>
  11. 11. SeCo Overview: Models <ul><li>4 artifact models </li></ul><ul><ul><li>Service Mart, Query, Query Parameters, Result </li></ul></ul><ul><li>A query plan model </li></ul><ul><ul><li>For the runtime query transformation </li></ul></ul>
  12. 12. Service Mart Metamodel
  13. 13. Service Mart Metamodel <ul><li>ServiceMart </li></ul><ul><ul><li>A ServiceMart is an abstraction (e.g., Hotel) of one or more Web service implementations (e.g., Bookings and Expedia) </li></ul></ul><ul><ul><li>capable of accepting queries and of returning results </li></ul></ul><ul><ul><li>possibly ranked and chunked into page </li></ul></ul><ul><li>Attribute </li></ul><ul><ul><li>ServiceMart contains Attributes </li></ul></ul><ul><ul><li>Attributes can be Atomic or Composite </li></ul></ul><ul><li>AccessPattern </li></ul><ul><ul><li>An AccessPattern specifies RankingType and AttributeDirection (I/O) for every Attribute of the ServiceMart, thus allowing its actual invocation </li></ul></ul><ul><li>ConnectionPattern </li></ul><ul><ul><li>is defined as an input-output relationship between pairs of service marts that can be exploited for joining them </li></ul></ul><ul><ul><ul><li>e.g., the output city of the Concert can be used as input for the Hotel. </li></ul></ul></ul><ul><li>ServiceInterface </li></ul><ul><ul><li>physical interface of the service, with details about chunk size, cost, … </li></ul></ul><ul><ul><li>Exact or Search (ranked) </li></ul></ul>
  14. 14. Query Metamodel <ul><li>LogicalQuery </li></ul><ul><ul><li>is a conjunctive query over services </li></ul></ul><ul><ul><li>can be defined at an abstract level ( AccessPatternLevelQuery ) or at physical level ( InterfaceLevelQuery ). </li></ul></ul><ul><li>QueryClause </li></ul><ul><ul><li>a LogicalQuery is composed by a set of QueryClauses </li></ul></ul><ul><ul><li>a QueryClause can refer to the SM level or to the SI level </li></ul></ul><ul><ul><li>Several types of clauses </li></ul></ul>
  15. 15. SeCo Overview: Transformations <ul><li>Vertical transformations for Queries and ServiceMarts </li></ul><ul><li>QueryToPlan transformation </li></ul><ul><li>Query Execution transformation (at runtime) </li></ul><ul><li>Result transformation (at runtime) </li></ul>1 1 2 4 3
  16. 16. Vertical transformations <ul><li>For moving among different conceptualization levels </li></ul><ul><li>For providing recommendations </li></ul><ul><li>For transforming informations </li></ul><ul><li>Examples: </li></ul><ul><ul><li>service mart and query: for moving from conceptual to logic to phisical level </li></ul></ul><ul><ul><li>result: </li></ul></ul><ul><ul><ul><li>for reshaping the data in the resultset (exploratory approach implemented by liquid query) </li></ul></ul></ul><ul><ul><ul><li>For enriching the results with personalization and recommendations </li></ul></ul></ul>
  17. 17. Query Execution transformation <ul><li>Query execution as a transformation </li></ul><ul><ul><li>model of the query parameters -> model of the query results </li></ul></ul><ul><li>Represented as a Query Plan model </li></ul><ul><ul><li>well-defined scheduling of service invocations, possibly parallelized, that complies with their service interface and exploits the ranking in which search services return results to rank the combined query results. </li></ul></ul><ul><li>QueryPlan metamodel + Concrete Syntax = Panta Rhei Language </li></ul>
  18. 18. Query plan metamodel
  19. 19. Transformations: Panta Rhei <ul><li>Panta Rhei </li></ul><ul><ul><li>describes both the execution flow and the data flow between nodes. </li></ul></ul><ul><ul><li>Several types of nodes exist </li></ul></ul><ul><ul><ul><li>service invocators, sorting, join, and chunk operators, clocks (defining the frequency of invocations), caches, and others. </li></ul></ul></ul><ul><li>The query result model is constructed stepwise, following the execution flow </li></ul>
  20. 20. Transformations: Query to Plan (1/2) <ul><li>1 st phase: an ATL helper (functional program) encapsulates the scheduling algorithm of the execution plan. </li></ul><ul><ul><li>The function produces a representation of a partial order of the clauses </li></ul></ul><ul><ul><li>Several very different scheduling algorithms can be used in this phase, and the transformation structure allows to easily swap the preferred one, also at runtime </li></ul></ul><ul><li>2 nd phase generates the output Pantha Rhei query plan. In this phase the following mappings are assumed: </li></ul><ul><ul><li>Invocation clauses become Service invocation nodes </li></ul></ul><ul><ul><li>Join clauses become parallel joins or pipe joins </li></ul></ul><ul><ul><li>The connections between the nodes are generated based on the ordering calculated in the first phase. </li></ul></ul><ul><li>A Higher Order Transformation (HOT) could be used to automatically modify the logic of the plan, based on domain-specific needs or insights </li></ul>
  21. 21. User interaction metamodel <ul><li>Implemented by the Liquid Query paradigm </li></ul><ul><ul><li>See: </li></ul></ul>
  22. 22. Model Transformation Challenges <ul><li>Specification of mappings for data extraction </li></ul><ul><ul><li>Simple interface based on MT </li></ul></ul><ul><ul><li>e.g. using Model Weaving, Transformations by Example. </li></ul></ul><ul><li>Transformations for building views of the results. </li></ul><ul><ul><li>views and viewpoints on models </li></ul></ul><ul><ul><li>i.e. model transformations to filter or change the representation of a given data set </li></ul></ul><ul><li>Search process orchestration in light of model transformations. </li></ul><ul><ul><li>the Pantha Rhei DSL can be seen as a model transformation. </li></ul></ul><ul><ul><li>formalization is needed to represent query plans as composition of operations on models. </li></ul></ul><ul><li>Search on query models. </li></ul><ul><ul><li>Search within the domain of the queries themselves </li></ul></ul><ul><ul><li>Ex: most typical queries and their relationship to usage patterns </li></ul></ul>
  23. 23. Experiments and prototypes <ul><li>Main SeCo concept models in ECORE </li></ul><ul><li>Implemented ATL transformation that generates the query plan from query and service mart definitions, using trivial strategies </li></ul><ul><li>Further works: implementing different optimization strategies, by adopting rule-based optimization (old concept in the DB field) </li></ul><ul><li>Prototypes available online: </li></ul>
  24. 24. Conclusions <ul><li>Search Computing as integration of several interacting models, </li></ul><ul><li>Partition of the design space and responsibilities on the different roles and involved expertise, in a non-trivial way </li></ul><ul><li>Objective: is to replace programming with model driven development wherever possible, yielding to flexibility and efficiency. </li></ul><ul><li>A model transformation approach is a good tool for clarifying the problem and solution space </li></ul><ul><li>Probably not viable for actual implementation of the search system, because of performance /scalability issues </li></ul><ul><li>Current status of the project and state of the art recorded in the book: Search Computing Challenges and Directions (Springer LNCS, vol. 5950, Ceri-Brambilla eds.) </li></ul><ul><ul><li>Part 1: Visions by Ceri, Baeza-Yates , Weikum </li></ul></ul><ul><ul><li>Part 2: Technology Watch   </li></ul></ul><ul><ul><li>Part 3: Issues in Search Computing </li></ul></ul>
  25. 25. Thanks! <ul><li>Questions? </li></ul>