Exercise 1 of the second year Software Systems Components SH module at the University of Birmingham.