Current research areas in the VMTS Group
Modeling environment for multi-platform mobile software development
We work on a multi-paradigm modeling environment capable of describing different aspects of mobile software (e.g. communication, persistence, resources, user interface), and to build code generators that produce (depending on the domain) the skeleton or the fully functional source code modules for various mobile platforms. We are currently extending our solution for communication and resource modeling and adding support for other aspects.
Developing an efficient model transformation environment
We are working on to provide an efficient and easy-to-use development environment for defining, managing and executing graph rewriting-based model transformations. Our plans are twofold: firstly, we would like to define a rule definition language with specific language that enables us to specify the required matches in a concise way. Along with it, we would like to provide an easy to use programming API for the development and execution of the transformation artifacts. This means that we want to make it possible to reuse the components of the model transformations (e.g. matcher engine, rewriting rules) in traditional programs. Hence, we can integrate model transformations more easily in our traditional software developments processes.
Pattern matching with MapReduce
The goal is to utilize the advantageous properties of the MapReduce framework in order to detect subgraph isomorphic patterns in graphs with billions of edges and vertices. Furthermore, we also want to support inexact pattern matching. We have created a new language, where pattern nodes can be matched with arbitrary multiplicity. Moreover, the language allows us to define logical connections between the nodes as well.
Distributed and parallel model transformations
The performance of model transformations is not always enough when we use them to process industrial-sized models in real-life scenarios. One way to overcome the limitations is to use the capabilities of modern computer architectures efficiently. We have created a method that can partition the model and apply model transformations in the partitions in parallel. Combining this method with cloud computing seems to be a promising direction. We also plan to apply model transformations in a massively parallel way, based on General-Purpose Computing on Graphics Processing Units. In this field, we have taken only the very first steps.
Textual Domain-Specific Languages
We aim to provide methods to easily develop textual domain-specific languages for metamodels. One of the current challenges is to make it possible to edit the domain-specific scripts of the models along with their management on a graphical user interface and to make sure that the two representations are always synchronized.
Processing the web
The basic idea is that we can extend our definition of models and handle a network of webpages, or even the Internet itself as the model. Modern search engines (e.g. Google) are optimized to search for basic terms, but they are not good at combining these terms flexibly and search for a complex patterns. By applying model transformation techniques on these special models, we can achieve this flexibility. We can connect the information fragments of different web pages and create a higher level of knowledge from it. Instead of using the semantic web concept, we believe in creating an easy to use interface for the users, where they can map the information stored in the web pages to a semantic model. We are at the very beginning of this research, our current focus is to simplify mapping of the web pages to a semantic domain.