Systems Modelling Lab (SML)
Mathematical models of software systems enable characterizations, abstractions, simulations, and analysis of complex software during its development.
The use of mathematical techniques from the fields of algebra, coalgebra, automata theory, logic, type theory, and category theory allows for formal specification and analysis, which contribute to the correct design and implementation of a software system. We develop new mathematical techniques that are necessary for dealing with current and future features of software systems. Furthermore, we develop rigorous models and powerful algorithms for reasoning about modern object-oriented programs, concurrent and probabilistic systems, coordination languages, and software-defined networks. We also explore the application of the modelling and reasoning techniques to other systems that arise outside of computer science.