Present position: Temporary Researcher
|Thesis title:||Model-driven development of Search Based Web Applications|
|Research area:||Web, multimedia e database, Software engineering, Web Engineering, Information Retrieval, Multimedia Information Retrieval|
With the advent of the Web, search has become the predominant paradigm for addressing the information needs of users. Nowadays search has assumed a fundamental role as a practical means to grant unified access to the vast collections of structured, semi-structured, and unstructured data that constitute the core of modern businesses. This brings about the notion of Search-Based Application (SBA), which can be defined as an application in which searching over collections of heterogeneous data constitutes the predominant user interface paradigm. Unlike search engines, which are canned applications with a fixed behavior, SBAs are mostly tailor-made solutions, which integrate a complex front-end (devoted to query expression and result presentation) with a complex back-end (specialized in content provisioning, annotation, indexing, and distributed query execution). The trait d'union of these apparently dissimilar focuses is the fact that both embody data-intensive and process-intensive tasks.
This thesis explores the usage of Model Driven Development and of Model Transformations to structure the life-cycle of search-based applications, considered as process- and data-intensive applications. In particular, we propose a top-down design approach that combines the benefits of business process design with the advantages of a domain specific language for the Web. We advocate the use of a process model as the starting point of SBA specification. Such process model can be semi-automatically transformed into an Application Model, encoded using a Web modeling language. The resulting application model caters for both the front-end and the back-end business logics and also incorporates the user interface needed for human-directed activities.
Even if several methodologies and tools exist for the conceptual modeling of both general-purpose and vertical Web applications, no previous work explores how to address the full range of requirements of search based Web applications using conceptual modelling and automatic code generation.
The original contribution of this thesis comprises a modeling framework for the model driven development of search based Web application, composed by a reference architecture, a set of design dimensions, a development methodology and a set of models and model-to-model transformations. Moreover, the thesis presents a detailed specification of the main SBA's interaction flows, namely the Indexing process, the Query and Result Presentation process, and the User Interaction process, accompanied by several modeling examples. Finally we provide a method for the verification of model properties and the extraction of declarative descriptions of application behaviors based on the formalization of search-specific extensions for the process model.
The work includes an implementation experience based on WebRatio, a commercial tool for the model driven development of Web applications. The architecture of the tool has been extended to enable the semi-automatic development of SBA's applications starting from high-level process models. The approach has been validated and evaluated in the context of an European research project, where several showcase applications have been developed.