The purpose of this study is to define principles that apply to the design of communication gateways between heterogeneous computer systems, and to identify strategies to solve incompatibilities in a systematic manner. The importance of communication service common properties is explored in detail. The modification of the service available for interworking due to subset selection and service concatenation is discussed. Various methods of adaptation are described. Two architectural options for the design of communication gateways are explored, namely, conversion at the service level or at the PDU (protocol data unit) level. While the former is conceptually simpler, various optimizations are possible through the latter approach. A method for deriving the specification of a protocol adapter from the two protocol specifications is given. All these issues are illustrated by a number of simple examples.< <ETX xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">></ETX>