The modeling, analysis and synthesis of communication protocols