A methodology is presented for the construction of communication protocols which perform several distinct functions simultaneously. The construction of such a multi-function protocol consists of three steps: (1) the development of component protocols for the different functions, (2) the integration of component protocols into a merged protocol, and (3) the specification of operational relationship among the component protocols. The conditions required for the resulting merged protocol to retain the safety properties, such as freedom from unspecified receptions, freedom from deadlocks, and boundedness, of the component protocols are discussed. The methodology is simple and facilitates the reuse of existing protocols. Two examples are given to illustrate its usage: a full-duplex data transfer protocol and another data transfer protocol with pipelining and flow control.