Our research is around the development of new methods that enable software engineers to more efficiently develop and maintain complex software systems. Our focus is on software modeling and specification languages. These languages introduce new concepts and abstractions to capture the complexity of software systems. Specifically, we am interested in developing the right tools and processes to leverage existing knowledge present in heterogeneous and evolving software models.

Techniques applied in our research are design of modeling languages, verification algorithms and tools, automated synthesis of reactive systems, and evolution analysis -- with various applications, e.g., to software of trusted autonomous robots and automotive systems.

We are involved in and contributing to some larger projects:

Most of our software is available on GitHub: