Welcome to Michael's home page.
I am head of the Informatics Theory Group. Here is a brief summary of my teaching and research interests:
Main areas of Interest
Mathematical methods for the specification, design, and validation of complex software and hardware systems, specifically in distributed and parallel applications.
Key issues
- Synchronisation mechanisms, transition between synchrony and asynchrony.
 - Abstraction and refinement for data-flow and control-flow programming.
 - Semantics of synchronous programming and model-based design languages (Esterel, Lustre, Statecharts).
 - Determinism and causality in concurrent systems
 - Interface specifications for compositional modelling, capturing also intensional, non-functional, properties specifically regarding causality and timing.
 
Mathematical tools
- Intuitionistic and constructive modal logics
 - Logical game theory
 - Kripke semantics, Heyting algebra and type theory
 - Process algebras and calculi for synchrony and asynchrony
 - Functional Programming Languages
 
Applications
- Compilation and type-based static analysis of hardware-software embedded systems
 - Interactive (e.g. web-based) services and distributed transaction systems
 - Stream-based data processing
 - Component-based programming
 
Automatic and interactive validation techniques
- Model checking
 - Timing analysis
 - Type checking
 - Theorem proving
 
