Further Reading The Session Layer

www.pragsoft.com Chapter 7: The Presentation Layer 85 mapping between the abstract syntax of some data and its concrete syntaxes, that is, the same data can be represented in many different formats. For example, consider the following statement: An RGB color is defined as an object of three components red, green, and blue, each of which is an integer quantity. This is an example of an abstract syntax specification. It specifies the essential characteristics of an RGB color without saying anything about its representation in a computer. Some of the ways in which this data can be represented at a bit-level are shown in Figure 7.70. Format 1 uses a 16-bit signed integer quantity for representing each primary color, in a machine where bits are ordered left to right. Format 2 is identical to format 1, except that bits are ordered right to left. Formats 3 and 4 both use 8-bit unsigned integers with bits ordered left to right. However, in format 4, the primary colors appear in reverse order. Figure 7.70 Four alternate representation formats for an RGB color. Red Green Blue 16-bit signed integer bit 0 bit 7 bit 0 bit 7 Red Green Blue bit 0 bit 7 8-bit unsinged integer Red Green Blue 1 2 3 4 Red Green Blue 16-bit signed integer bit 0 bit 7 8-bit unsinged integer Error Objects cannot be created from editing field codes. Concrete syntax is essential wherever data is to be digitally stored or communicated. In general, each system has its own concrete syntax which may be different to the concrete syntax of other systems. Two communicating applications running on two such systems would have to convert their data into a common concrete syntax to facilitate transmission. We will use the terms application concrete syntax and transfer concrete syntax to distinguish between these two 86 Communication Networks Copyright © 2005 PragSoft syntaxes. To preserve the characteristics of the data which is subject to transformation, the two applications should standardize on the same abstract syntax notation. Figure 7.71 illustrates the role of various syntaxes. Figure 7.71 The role of various syntaxes. Convert between Application Concrete Syntax A Transfer Concrete Syntax T and Presentation Layer Convert between Application Concrete Syntax B Transfer Concrete Syntax T and Presentation Layer Application Layer Application Layer Transfer Concrete Syntax T Abstract Syntax S Uses: - Abstract Syntax S - Application Concrete Syntax A Application A Application B Uses: - Abstract Syntax S - Application Concrete Syntax B Abstract Syntax S Figure 7.72 Presentation service primitives. Presentation Primitive Types Related Session Primitive Purpose P-CONNECT request indicate response confirm S-CONNECT Same as S-CONNECT except that it also negotiates the presentation functional units, a defined context set, and a default context. P-RELEASE request indicate response confirm S-RELEASE Same as S-RELEASE, but also deletes the defined context set. P-U-ABORT request indicate S-U-ABORT Same as S-U-ABORT, but also deletes the defined context set. P-P-ABORT indicate S-P-ABORT Same as S-P-ABORT, but also deletes the defined context set. P-other ... S-other Identical to its session counterpart. P-ALTER-CONTEXT request indicate response confirm none Used for making changes to the defined context set after a connection has been established.