Forward to Annex B : Registers of document types Back to Section 4 : Basic Class Up to contents Warning on status of this document

Annex A

(normative)

JTM service conventions

A.1 Introduction

ISO/TR 8509 (Service Conventions) is restricted in scope to the two-party operations used in the Network, Transport, Session and Presentation layers. This annex is modelled on ISO/TR 8509, making minimal changes to it, and defines the service conventions used in JTM.

A.2 Scope

This annex establishes definitions of terms and conventions for defining the services provided by JTM.

A.3 References

ISO 7498 : 1984,Information processing systems – Open Systems Interconnection – Basic Reference Model.

A.4 Definitions

A.4.1 This annex builds on the concepts developed in ISO 7498 and makes use of the following terms defined in that standard:

  1. (N)-service;
  2. (N)-facility;
  3. (N)-layer.

A.4.2 For the purpose of this annex the following definitions also apply:

A.4.2.1 service-user: An abstract representation of an entity in a single system that makes use of a service; any one service user can be initiating a service, or can be responding to initiatives from the service provider as a result of earlier initiatives by some other service user or users.

A.4.2.2 service-provider: An abstract machine which models the behaviour of the totality of the entities providing the service, as viewed by a service-user.

A.4.2.3 layer service: A service provided by a layer of the Reference Model.

A.4.2.4 service primitive; primitive: An abstract, implementation-independent element of an interaction between a service-user and the provider.

A.4.2.5 request (primitive): A primitive issued by a service user to invoke a procedure (for a confirmed or non-confirmed service) by the service provider.

A.4.2.6 indication (primitive): A primitive issued by a service provider to invoke some procedure (for a confirmed or non-confirmed service) by a service user.

A.4.2.7 response (primitive): A primitive issued by a service user to complete the procedures associated with a confirmed service.

A.4.2.8 confirm (primitive): A primitive issued by a service-provider to complete the procedures associated with a confirmed service.

A.4.2.9 service element access point: The conceptual point at which interactions occur between the JTM service provider and a JTM agency.

A.5 Model for the JTM service

The JTM service is defined in terms of an abstract model (see figure A.1) having the following elements:

Figure A.1 — Service model

gif of line drawing (fig A.1 - service model)
  1. JTM-service-users;
  2. JTM-service-provider.

Note that the use of the term "service users" for JTM does not imply the existence of a higher layer. It merely provides a convenient notation for describing the interactions with JTM agencies.

Each service-user interacts with the service provider by issuing or receiving service primitives. The service defines relations between interactions with one service user and consequential interactions with one or more other service-users.

A.6 Service primitives

The use of primitives does not preclude any specific implementation of a service in terms of interface primitives. The following comments apply to this definition technique based on service primitives:

  1. Service primitives are conceptual and are neither directly related to protocol elements, nor seen as macro calls of an access method to the service;
  2. There are other equivalent sets of service primitives which can describe the same service;
  3. Only service primitives which correspond to some element of the service involving other service-users are considered. The primitives which are only related to local conventions between the service user and provider do not relate to this description technique. For example, strictly local functions could be provided in some implementations. As they do not involve other users, such functions are not visible outside the local system.

A.6.1 Types of service

Two types of service are identified:

  1. a non-confirmed service involving either
    1. a single request primitive (see A.4.2.5) and one or more indication primitives (see A.4.2.6) at different service element access points; or
    2. one or more indication primitives at different service element access points;
  2. a confirmed service involving
    1. a single request primitive (see A.4.2.5); and
    2. one or more indication primitives (see A.4.2.6) and one or more response primitives (see A.4.2.2) both at different service element access points from 1) above; and
    3. a single confirm primitive (see A.4.2.8) at the same service element access point as 1) above.

A.6.2 Properties of primitives

The occurrence of a service primitive is a logically separate and indivisible event. The event occurs at a logically separate instant, which cannot be interrupted by another event.

A service primitive has a direction which is either

  1. from a service-user to the service-provider; or
  2. from the service-provider to a service-user.

One or more parameters can be associated with a service primitive and each of these parameters has a defined range of values. Parameter values associated with a service primitive are passed in the direction of the service primitive.

A.6.3 Primitive names

The name of each service primitive contains three elements:

  1. an initial (or initials) indicating the service (see A.8.1);
  2. a generic name which indicates the primitive group (see A.8.2);
  3. a specific name which indicates the type of primitive (see A.8.3).

A.6.4 Groups of primitives

The occurrence of a group of service primitives is not a logically instantaneous and indivisible event. The intervals between the constituent service primitives can be non-disruptively interspersed with other service primitives.

A group of primitives which includes primitives mapping to the CCR primitives is called a commitment group, but is otherwise named as for a primitive, e.g.

          J-INITIATE commitment-group
          J-DISPOSE commitment-group

A.7 Time sequence diagrams

Time sequence diagrams indicate

  1. the sequence of interactions with a service-user;
  2. where appropriate, the sequence of events between two or more service-users.

Each diagram contains one or more vertical lines representing the interaction between the service provider and a service user (a service element access point); for the initiating or master (commitment) user, the left of the line represents the service user, and the right of the line the service provider; in the other cases the service provider is on the left of the line, and the service user on the right.

Arrows, placed in the areas representing the service-user, indicate the direction of propagation of the primitives. The angle of the arrow in the fields has no significance.

Necessary sequence relations between the interactions are indicated by a horizontal dashed line. Where no time-relationships exists, there will be no dashed line. In this case all the primitives for one interaction can occur following or before all those for some other interaction, or interleaved with them.

The dashed line can contain an arrow tail or an arrow head at each service element access point. All interactions above all arrow tails necessarily occur before any interactions beneath any arrow head.

A.7.1 Non-confirmed service examples

The sequences in figure A.2 are all possible.

Figure A.2 — Non-confirmed services

gif of line drawing (fig A.2 - non-confirmed services)

A.7.2 Confirmed service examples

The sequences in figure A.3 are all possible; note that in the second case the service-provider takes responsibility for completion of the service, and verifies that some error reporting mechanism is available, typically involving a further indication to the same or a different service-user.

Figure A.3 — Confirmed services

gif of line drawing (fig A.3 - confirmed services)

A.8 Conventions for naming service primitives

A.8.1 Initials

The following initials are used to indicate services provided by the layers of the OSI model:

               F          FTAM service;
               J          JTM service;
               V          VT service;
               C          CCR service;
               A          Other application-services;
               P          Presentation service;
               S          Session service;
               T          Transport service;
               N          Network service;
               DL          Data Link service;
               Ph          Physical service;
NOTE -- The use of N to signify the Network service is not to be confused with the use of (N) – to signify a particular but unspecified layer of the model.

A.8.2 Generic name

A single word or a hyphenated word (usually consisting of the infinitive form of a verb) is used for the generic name e.g. INITIATE, DISPOSE, END-SIGNAL.

A.8.3 Specific name

The specific name consists of one of the following (indicating the type of the primitive or a primitive group):

  1. request;
  2. indication;
  3. response;
  4. confirm;
  5. commitment group.

A.8.4 Representation

The initial is represented in the form given in A.8.1. The generic name is written in capital letters and the specific name is written in lower case letters.

The initial and the generic name are separated by a hyphen. The generic and specific names are separated by a space.

A.8.5 Examples

The following are examples of parameter names which use these conventions:

  1. J-INITIATE request;
  2. J-KILL indication;
  3. J-DISPOSE commitment-group.

Forward to Annex C : Tutorial material Back to Annex A : JTM service conventions Up to contents Warning on status of this document

Annex B

(normative)

Registers of document types

B.1 Introduction

An enterprise can wish to establish a document type register for private use, or to register a document type in the ISO Register of Document Types.

This annex defines the information which is required by JTM for a Register Entry supporting document types carried by JTM.

B.2 Purpose of the entry

The purpose of the entry is to provide

  1. an identification for the document type; and
  2. the definition (possibly by reference) of the semantics and abstract syntax of the document which are standardised for this type; and
  3. the definition (possibly by reference) of one or more transfer syntaxes for the document type; and
  4. the definition of concatenation rules for the document type.

B.3 Identification

The document type is identified by an ASN.1 OBJECT DENTIFIER and by an ASN.1 ObjectDescriptor assigned according to the rules of ISO/IEC 8824.

B.4 Document semantics

The semantics which are standardised can be very complete, as is the case of document types defined to support JTM displays. For other document types, the semantics can be only partly standardised. An example of this is the "Simple ISO text document" document type (see ISO/IEC 8832) which is standardised only to the extent of saying that it consists of lines of graphic characters.

Document types with highly defined semantics can form a special case of documents with a lesser definition. In this case they could share the same transfer syntax.

The abstract syntax of a datatype supporting the transfer of the document type semantics is defined and named in accordance with the requirements of ISO 8822 for naming abstract syntaxes.

B.5 Transfer syntax

If communication is to be possible, there has to be agreement on the transfer syntax to be used for each type of document. This agreement can be bilateral, enterprise-specific, or expressed as an International Standard.

The register entry defines, either directly or by reference to encoding rules, the precise set of bits which are to be used to transfer the single presentation service data value (see ISO 8822) which is to carry the document semantics (for Basic Class transfers) and the precise sets of bits which are to be used to transfer the series of presentation service data values when extended implementations provide transfer.

NOTE -- Neither JTM nor the presentation service restricts the form of specification or encoding for abstract and transfer syntaxes, except that in Basic Class only a single set of bits are transferred for each document.

The transfer syntax for the document type is named in accordance with the requirements of ISO 8822for naming transfer syntaxes.

NOTE -- The above text has assumed a single abstract syntax name for all the data values used in forming a document type, and a single transfer syntax for that abstract syntax. This restriction is recommended, but is not required by JTM. The full generality of the presentation layer for using different abstract syntaxes for each data value, and for having embedded data values from different abstract syntaxes is available, as is the ability to select from a number of transfer syntaxes supporting each abstract syntax.

B.6 Relation of syntax and semantics

It is possible (but unlikely) for two totally different abstract syntaxes, and associated with totally different semantics, to produce identical bit patterns for transfer through the use of different encoding rules.

It is also possible (and more likely) for two totally different document types, with different semantics, to share a common abstract syntax.

Thus it is not possible, in general, to deduce the abstract syntax from the transfer syntax, nor to deduce the document semantics (the document type) from the abstract or transfer syntax.

Given a document type, however, it is possible to deduce (from the register entry), one or more possible abstract syntaxes, and from these to deduce one or more transfer syntaxes.

Correct interpretation of a received string of bits (transfer syntax) requires knowledge of the encoding rules which were used to generate the bits. Correct interpretation of an abstract syntax similarly requires knowledge of the semantics being carried.

The JTM protocol explicitly carries the document type name with each document, thus defining all standardised aspects of the semantics. The use of a particular transfer syntax, if there is more than one available, is negotiated using the Presentation Service.

B.7 Syntactic considerations

The JTM protocol is defined using the abstract syntax notation ASN.1, but such a restriction is not imposed on document types.

Each document is carried as a separate presentation data value, and all problems of delimiting documents and octet alignment are resolved by the Presentation Service.

B.8 Contents of the register

Each Register Entry contains the information defined in the following sub-clauses.

B.8.1 Document type identifier

This is an ASN.1 OBJECT IDENTIFIER value and an ASN.1 ObjectDescriptor value.

B.8.2 Document semantics

The definition (either directly or by reference to another standard) of those parts of the total semantics which are standardised for this document type.

B.8.3 Document syntaxes

The definition (either directly or by reference to another standard) of one or more transfer syntaxes (possibly via one or more abstract syntaxes and encoding rules) which will support the document semantics.

Where multiple transfer syntaxes are specified then one of them is selected as a minimum implementation requirement for conforming systems which claim to support this document type.

B.8.4 Syntax names

Abstract and transfer syntax names to support the transfer of the document as one (for JTM Basic Class) or more (extended) presentation service data values (see ISO 8822).

B.8.5 Concatenation

A statement of which document types can be involved in the concatenation operation:

          A concatenate B to give C

and the definition of the operation in each case.

NOTE -- The common case will be where A, B, and C are all the same document type.

B.8.6 Additional information

Additional information can be needed if the document type is to be used in other protocols, but is not required by JTM. Forward to Annex C : Tutorial material Return to top of Annex B : Registers of document types Up to contents Warning on status of this document