Author: UMIST.Software Engineering.