Formal methods and reuse in software engineering. - Clive Richard Higgs (1990)