Search Computing
"Who are the strongest European competitors on software ideas?" "Who is the best doctor to cure insomnia in a nearby hospital?" "Where can I attend an interesting conference in my field close to a sunny beach?"
This information is available on the Web, but no software system can accept such queries nor compute the answer. We propose Search Computing as the new multi-disciplinary science which will provide the abstractions, foundations, methods, and tools required to answer these and many similar questions.
Search Computing is a new paradigm for composing search services. While state-of-art search systems answer generic or domain-specific queries, search computing enables answering questions via a constellation of dynamically selected, cooperating search services, which are correlated by means of join operations. The idea is simple, yet pervasive. New language and description paradigms are required for expressing queries and for connecting services. New user interfaces and protocols help capturing ranking preferences and enabling their refinement.
Search Computing research results are available at the site: SECO Project
Audiovisual Search and Search Based Applications
We are investigating the problem of developing Search-Based Applications (SBAs), i.e., applications where information retrieval is the leading interaction paradigm, with a specific interest on SBAs for audiovisual content. The research is partially supported by European PHAROS Project in the VI Framework Programme, and is conducted in collaboration with such partners as Microsoft FAST, Engineering and France Telecom.
- We have shown how to use process and hypertext modeling notations and tools (notably WebML and BPMN) to specify the orchestration of the distributed processes supporting the annotation and indexing of audiovisual content and the front-end for brokering and executing rich audiovisual queries, with such features as keyword matching in automatically extracted meta-data, query refinement, query by similarity, query adaptation based on personal profiles and social wisdom.
- We have designed the conceptual model and provided code generation tools capable of automatically synthesizing advanced multi-channel interfaces to audiovisual SBAs, supporting all the above-mentioned query functionalities.
Web Engineering
The focus is on the design methods for data- and process-intensive Web applications. The major results is the Domain Specific Language WebML (Web Modeling Language).
WebML provides graphical, yet formal, specifications, embodied in a complete design process, which can be assisted by visual design tools.
Together with Stefano Ceri and three of students, I co-founded Web Models, a spinoff company whose mission is to build WebRatio, a tool for exploiting the WebML patent. The most significant results we have achieved are:
- Disseminating the use of WebML, which is now the most widely adopted conceptual model for Web applications; the first article on WebML had 563 citations, WebML is taught in about 50 universities worldwide, and has been widely used by many researchers and practitioners worldwide.
- With Web Models, building the tool suite WebRatio, which features about 3000 academic licenses and more than 100 commercial applications so far, including solutions for such large customers like Acer Corporation, Enel, Autostrade, etc.
- Developing extensions of WebML covering process modeling, service-oriented architectures, Rich Internet Application interfaces, and semantic Web services. These works have been published in many research articles, have been demonstrated in industrial and demo sessions of major conferences, have participated to international contexts, and are implemented in WebRatio.
Model Driven Architecture and Model Driven Development
This line of research is bridging the Model Driven Development (MDD) paradigm, based on Domain Specific Languages (DSL), with the OMG standards known as Model Driven Architecture and extending the benefits of MDD to the entire software development lifecycle.
- We have defined a technique for automating the size estimation of software projects conducted using Model Driven Development methods. An algorithm for performing the Function Point Analysis of a software project starting from a conceptual model has been implemented, which works on the same conceptual model that is used for producing the implementation, eliminating any unnecessary ad-hoc specification task. We have evaluated the precision of the FP computation algorithm on a set of real-world projects and implemented the approach in WebRatio
- We have demonstrated the impact of conceptual modelling on testing, by showing how to automatically derive test-cases from models, and applying the proposed technique to an industrial case study where code generators are produced for a commercial Web CASE tool.
- We have investigated how pre-MDA development methodologies based on Domain Specific Modeling (DSM) languages can be semi-automatically ported to MDA. Given the definition of suitable model transformations, the approach is completely automatic. The proposed framework is fully implemented, in a way independent of the specific DSM language that must be transformed. As a case study, a toolsuite based on WebML and WebRatio has been bridged to MDA.