The research group Tyrex conducts research in the areas of web data and documents, algorithms, programming languages, formal methods, reasoning techniques, and software tools. The overall challenge is to make web application development more reliable, more efficient and more flexible.
Despite the major social and economic revolution that the web has caused, content representation practices and programming methods remain severely limited. Designing web applications is becoming increasingly complex as it relies more and more on a jungle of programming languages, tools and data formats, each targeted toward the different application layers (presentation, application and storage). This often yields complex and opaque applications organized in silos, which are costly, inefficient, hard to maintain and evolve, and vulnerable to errors and security holes. In addition, the communication aspects are often handled independently via remote service invocations and represent another source of complexity and vulnerability.
We believe that we have reached a level where there is an urgent need and a growing demand for alternative programming frameworks that capture the essence of web applications: advanced content, data and communication. In particular, we target those that capture rich document formats, data models and communication patterns. A crucial aspect is to offer correction guarantees and flexibility in the application architecture. Applications need to be checked, optimized and managed as a whole, while leveraging on the consistency of their individual components and data fragments.
Scientific goals and research directionsTyrex explores formalisms, concepts and tools for reasoning simultaneously over documents and communication aspects in programs. The scientific challenge that we want to address is to establish a unifying framework for the web. This is a difficult problem that we propose to address along three complementary directions:
- Modeling, which consists in capturing various aspects of document processing, data and communication in a unifying model, and whose difficult part consists in taking into account the peculiarities of the web that require new programming models and the supporting theoretical tools that do not exist today.
- Analysis, verification and optimization, which consist in guaranteeing safety and efficiency properties, and whose hard part consists in dealing with problems close to the frontier of decidability, and therefore in finding useful balances between programming ease, expressivity, complexity, succinctness, algorithmic techniques and effective implementations.
- Design of advanced web applications, which consists in building a new generation of multimedia and augmented reality applications with new design foundations. The challenging part is to propose means to combine in an easy and compositional manner rich content, augmented reality and data gathered dynamically from the environment and collected from various sensors, camera, etc.
Overall, we aim at developing content models, formalisms, languages, concepts, algorithms, and tools for building a unifying framework, along the three directions above. These directions are closely related and inter-dependent. We intend to make contributions to each of them first, by obtaining fundamental results, second, by building advanced experimental applications and tools and third, by contributing to Web standards. The overall goal is to enable richer, more reliable, secure, and efficient systems.