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