Peter Kilpatrick
Computer Science
Queen's University Belfast


Research Interests

I am a member of the High Performance and Distributed Computing research cluster in the School of Electronics, Electrical Engineering and Computer Science at Queen's University Belfast. I have a long-held interest in the pragmatic use of formal specification notations to model and reason about systems, most recently distributed/grid-based systems and, in particular, autonomic aspects of such systems. I am involved in two EU-funded projects: ParaPhrase and Cactos. Other current interests include variability management, particularly in the context of software product lines and feature modelling; and model-driven engineering. Previously I have worked in the areas of program transformation, formal methods, and language design for parallel systems.
A list of my publications can be found here. Also on ResearchGate (probably the most complete list). And on PURE.

I am co-chair of PDP 2014

I currently co-supervise seven PhD students:
Sakil Barbhuiya: Data collection and analytics.
Michael Campbell: Automated support for accelerator kernel development.
Anthony Keenan: Derivation of distributed implementations from Orc specifications.
Jonathan Kelly: Feature Modelling for Embedded Systems.
Stuart McCool: Tool support for parallel application development.
Stephen Murray: Feature Modelling for Parallel Systems.
Eoghan O'Neill: Characterization and Orchestration Optimization for Heterogeneous Platforms.


I teach two final-year courses:
"Algorithms: Analysis and Applications" which explores the complexity of a range of classical algorithms including sorting, searching, pattern matching, etc.
"High Performance Computing: Principles Of Parallel Programming" which explores fundamentals of parallel programming and emphasises practical aspects via MPI, OpenMP and CUDA.
Previously I have taught courses on Introductory Programming, Concurrency Theory and Practice, Formal Methods (VDM), Computation Theory, Language Semantics, Human-Computer Interaction.