University of Sheffield crest Department of Computer Science logo


Welcome to Andrew's University Universe


I completed my PhD in December 2009. This page is now maintained as was for reference purposes only.

I'm currently a PhD student at the University of Sheffield, working in the area of concurrent systems, specifically with respect to the theory of synchronous mobile systems (see the outline below). I'm also a passionate supporter of the Free Software movement and have made significant contributions within the domain of Free Java over the past four years (see my other website for more information). On 20/10/2008, I entered full time employment with Red Hat, working on the IcedTea project as part of the OpenJDK team.


Contents

Introduction

Recent changes in the direction of computer hardware development have created an impasse in the domain of software engineering. Over the past few years, new microprocessors have not seen the same increase in clock speed that has prevailed over previous decades. Instead, the use of multiple `cores' has become common, due largely to physical limitations which prevent the individual elements of a single processor core becoming any smaller. As a result, the performance benefits of these new processors arise not from being able to execute a single task faster than before, but from the parallel execution of many such tasks.

However, this leads to a problem. The existing dominant methods for designing software systems are inherently sequential. Current imperative and object-oriented programming languages are still founded on the principles of early computational models, such as the Turing machine. These take an idealised view of events where they always occur sequentially and in isolation. Programs are thus still effectively written as a sequence of reads and writes to a form of memory. The problem with this approach is that it runs into major issues when the execution of other programs may cause changes to memory outside the remit of the program. Imagine Turing's model but with multiple heads, each running separate programs yet still sharing the same tape -- what happens if more than one head writes to the same area of the tape?

Our research advocates a move towards systems where the focus is on interaction between minimal sequential subsystems. Rather than building huge monolithic structures, the same result can be achieved using a number of smaller components, running in parallel. Such a strategy has been suggested in varying forms over the years, but due to the perceived future evolution of the microprocessor, this is now an essential requirement, rather than a design ideal or optimisation. We also provide a formal grounding for such designs, based on academic research which has been largely overlooked in the industrial sector. Security also forms an inherent part of both the design and formal model by allowing restrictions to be imposed on the communication between individual components.

What we propose here is a compromise; we introduce a new framework, DynamiTE with a task-oriented design methodology, which retains as many familiar ideas as possible. Unlike existing efforts, we avoid introducing a completely new programming language. Instead, we build on top of an existing one (Java) which is already familiar to many software developers and which uses constructs with which they are already familiar. In doing so, we remove a huge barrier to adoption; the implementation of the framework is no longer some mysterious mass of code written in an obscure functional language, but a Java library like any other which developers may even be able to contribute to with time.


Contact Details

Remove the additional @ character before using.


Publications


Talks


Development Projects


Administrative Roles (ordered chronologically)


Photographs

All photos are licenced under a Creative Commons Attribution-No Derivative license.

Creative Commons License

Movies

Each movie is provided as a Theora video stream together with a Vorbis audio stream using the Ogg container format. Three versions are provided, suitable for different downloading capabilities: full size, half size and quarter size. The audio stream is also provided as a separate download using Speex, which may be preferable if you are not bothered about seeing the visual content. Further details of these formats are available on the Xiph website. A DVD copy is available on request for a nominal duplication and distribution charge. You also find some movies linked from the photograph pages as appropriate. All videos are licenced under a Creative Commons Attribution-No Derivative license.

Creative Commons License Play OGG!

2008

TitleArtistDateVenue/EventLow (176x144)Med (352x288)High (704x576)Audio
Ants! Mesude Biçak 28/05/2008 VT/G22 Play Play Play Play

2007

TitleArtistDateVenue/EventLow (176x144)Med (352x288)High (704x576)Audio
Data Quality as a Fuzzy Set Henry Addico 31/10/2007 VT/G22 Play Play Play Play
Modelling Compensation with Timed Process Algebra Simon Foster 01/06/2007 Theory SIG/G22 Play Play Play Play
Monads in Haskell: Modelling Computation in a Functional Setting Simon Foster 21/03/2007 SG-LT05/COM2020 Part 1, Part 2 Part 1, Part 2 Part 1, Part 2 Part 1, Part 2

2006

TitleArtistDateVenue/EventLow (176x144)Med (352x288)High (704x576)Audio
P Systems as a Formal Framework for the Specification and Simulation of Biological Systems Francisco Romero Campero (University of Sevilla) 08/12/2006 G22/VT Play Play Play Play
A Machine With Class: A FRamework for Object Generation, Integration and Language Authentication (FROGILA) Emmanuel Ogunshile 10/11/2006 G22/VT Play Play Play Play
Searching and Retrieving in Source Code Digital Libraries Maslita Abdul Aziz 03/11/2006 G22/VT Play Play Play Play
Reverse Engineering X-Machines using Dynamic Analysis Shaukat Ali 03/11/2006 G22/VT Play Play Play Play
Challenges in Specifying and Verifying Multi-Agent Systems Mahmood Javed 27/10/2006 G22/VT Play Play Play Play
Semantic Macromodeller Mohammed Ibrahim Ullah (Ibby) 27/10/2006 G22/VT Play Play Play Play
Testing Erlang Code with QuickCheck Zubair Sheikh 20/10/2006 G22/VT Play Play Play Play
Empirical Assessment of Test First Approach - A Comparative Study Liang Huang 20/10/2006 G22/VT Play Play Play Play
Data Quality in XML Databases: An Application in Health Care Henry Addico 13/10/2006 G22/VT Play Play Play Play
Towards Extreme Design Abraham Rodriguez-Mota 13/10/2006 G22/VT Play Play Play Play
Nomadic Time Andrew John Hughes 06/10/2006 G22/VT Play Play Play Play
Composite Web Services Simon Foster 06/10/2006 G22/VT Play Play Play Play
Nomadic Time Andrew John Hughes 22/08/2006 G22/CRG Play Play Play Play
ASDL: A Wide Spectrum Language for Designing Web Services Monika Solanki (DeMontfort University, Leicester) 18/08/2006 G22/VT Play Play Play Play
3-Level Composition and Cashew Barry Norton (Knowledge Media Institute, Open University) 18/08/2006 G22/VT Play Play Play Play
The Semantic Modeller Mohammed Ibrahim Ullah (Ibby) 28/07/2006 G22/VT Play Play Play Play

Associates


Research Hosting

Research

Personal

Blogs

Wikis


Posters


Panel Paraphernalia


Meetings


View Full MyPersonality.org Profile
0
50
100
%
Openness
88%
Conscientiousness
54%
Extraversion
61%
Agreeableness
78%
Neuroticism
46%
FOAF for Andrew Hughes DBLP Logo [FSF Associate Member] Google Summer of Code 2007 Google Summer of Code 2006 View Andrew Hughes's profile on LinkedIn ohloh profile for gnu_andrew Eliminate DRM! Play OGG!

Valid XHTML 1.1! Valid CSS!