Principles of program design - Jackson, M A (London Academic Press, 1988)