Research Interests
-
Distributed computing: architecture description languages and support environments; distributed algorithms; dynamic configuration and self-organising systems.
-
Software architectures: Architectural Description Languages (ADL): structural concepts; underlying theory; application to the specification, analysis and construction of concurrent and distributed software systems.
-
Behaviour analysis: compositional techniques for modelling and analysis of concurrent and distributed systems specified in the Finite State Process (FSP) process algebra, Labelled Transition Systems (LTS) and Compositional Reachability Analysis (CRA); probabilistic models.
-
LTSA Extensions:
-
Software evolution and change: Change as fundamental in architecture definition: rigorous techniques for unplanned change, decentralised development and conflict detection using ADLs.
- Evolve is a flexible and lightweight software tool for software component reuse and evolution, providing a more principled way to construct and maintain software systems than approaches such as dependency injection
-
Adaptive software systems: rigorous architectural approaches to self-organised adaptive software, including dynamic planning, component assembly and execution.
-
Requirements analysis: multiple perspectives (ViewPoints): inconsistency; requirements evolution, synthesis of behaviour models from scenarios and goals; experimental plugin version of LTSA; requirements elaboration combining model checking and machine learning.
- More Tools