Dr Ian Gray

Lecturer in Real-Time Systems

Research interests

I am primarily interested in the development of software for future computing architectures. Whilst Moore’s Law largely still applies to increases in transistor density, single-threaded clock speeds have stopped rising significantly. Therefore, extra performance must be obtained by adopting novel system architectures. Features of these new architectures include:

All of these features pose interesting problems for the application programmer, who is frequently forced to resort to extra-linguistic techniques and assembly code to effectively target their code at such architectures. As a result my interests cover architecture support in software languages, embedded systems, real-time systems, hardware architectures, virtualisation and abstraction methods, FPGAs and reconfigurable computing, hardware synthesis languages and predictability of systems.

Research projects

I am currently working on the following EU projects:

I have also worked on the following projects that are now complete:


I have assisted teaching the Embedded Systems course at the University since 2006. Aside from standard demonstration duties of helping students and responding to questions, I have frequently been responsible for the creation of large amounts of software and hardware that form the teaching and assessment materials of the course. Over the years I have developed a number of hardware teaching architectures for the students to work within, complex server programs for the students’ solutions to interact with, networking infrastructure, many example solutions, code libraries, and teaching documents.


Throughout my career I have provided paper reviews for many conferences and journals including:

I have also been on the Programme Committee of the Junior Researcher Workshop on Real-Time Computing, Software Engineering and Advanced Applications, and Interoperable Infrastructures for Interdisciplinary Big Data Science.


I have supported a York-based engineering company during their migration of a legacy product to modern hardware and operating systems. This involved extensive Linux kernel development and hardware engineering expertise.