An approach to the analysis of design protocols