Projects
Here you can find the projects I've worked on. Click on one for more information.
Attached to this EPSRC-funded project during my PhD studies, I developed a generic overlay network repair protocol and component framework. This dealt with continual redundancy provisioning, failure detection, and dynamic repair strategy development and enactment. My work was evaluated in simulation and on the PlanetLab testbed using a number of different overlay technologies as case studies of generalised repair. The main output from this project was the Gridkit middleware to which I contributed a number of elements, most significantly my overlay repair framework.
I worked on the EU-funded WISEBED project as a post-doctoral research associate, acting as the leader of the largest work package in the project. The WISEBED project aimed to deliver a Europe-wide federated Wireless Sensor Network testbed, within which I was responsible for coordinating and integrating the development of all infrastructure software within the project. The main project outputs within my purview were a reference model for WSN testbed federation (including access control, reservation, and experiment setup / execution); a virtualisation framework to enable distributed testbeds to appear to be co-located; and a lightweight OS abstraction toolkit allowing the same code to run on multiple different WSN operating systems and hardware platforms.
I led the design and development of the C version of Lancaster University's OpenCom component model, including a complete reworking of the fundamental component model and a significant toolchain including a graphical system composition tool. This work is maintained as an open-source project available at SourceForge.
During my involvement in the WISEBED project I independently developed a component-based research OS for WSN nodes which supported a uniformly-applied runtime software evolution model throughout every component in its design (from applications down to file systems and hardware drivers). Maintained as an open-source project, Lorien continues to drive cutting-edge research at a number of institutions.
My current research platform, Dana demonstrates the potential of a runtime component-based programming language for the desktop. Dana enables unprecendented inter-project code re-use, a global network of independently developed components, and meta-reasoning over entire software systems. Dana is the first programming language or component technology to support ad-hoc structural dynamics within a software system, including complex behaviour-over-behaviour relationships, while maintaining the ability to perform external structural reasoning and control over that system.