A Structured Approach to Support Collaborative Design, Specification and Documentation of Communication Protocols