ITU

Committed to connecting the world

Tree and Tabular Combined Notation (TTCN)

The Evolution of TTCN

The following tells the history of TTCN and it’s evolution, starting from the first edition in the early 90’s until the most recent edition, called TTCN-3.

1. Introduction

Work on the Tree and Tabular Combined Notation (TTCN) first started in 1983 in ISO TC 97/SC 16 and later in ISO/IEC JTC 1/SC 21 and CCITT SG VII as part of the work on Open Systems Interconnection (OSI) conformance testing methodology and framework. It was standardized as twin texts ISO/IEC 9646-3 and CCITT Rec. X.292 in 1992 as one of the set of 7 twin texts (ISO/IEC 9646 7-part standard and CCITT X.290-series of Recommendations) on OSI conformance testing. Since then TTCN has been widely used for describing protocol conformance test suites in standardization organizations such as ITU-T, ISO/IEC, ATM Forum (now IP/MPLS Forum), ETSI, NIST and in industries.

2. TTCN (first edition)

The main characteristics of TTCN that contributed to its wide acceptance are:

  • its Tabular Notation allows its user to describe easily and naturally in a tree form all possible scenarios of stimulus and various reactions to it between the tester and the Implementation Under Test (IUT),
  • its verdict system is designed such that to facilitate conformance judgment on the test result agrees against the test purpose, and
  • it provides a mechanism to describe appropriate constraints on received messages so that conformance of the received messages can be mechanically evaluated against the test purpose.

3. TTCN – edition 2

However, the first edition of TTCN was not designed to describe the concurrent behaviour within the tester, the IUT or between them and the need for an extension to deal with concurrent behaviour efficiently was soon recognized. In the process of extension, in addition to concurrency mechanism, the concepts of module and package were newly introduced to TTCN to increase reusability and to achieve encapsulation. Also manipulation of ASN.1 encoding was made possible beyond simple syntax declaration. The TTCN extended in this way was adopted as TTCN edition 2, or TTCN-2, in ISO/IEC and in ITU-T in 1998.

4. TTCN – edition 2++

Following publication of the 1998 edition of TTCN, several defect reports were submitted to ISO/IEC. The experts working on ETSI projects corrected the defects and the revised version of TTCN-2 was published as ETSI technical report TR 101 666. This version of TTCN became known as TTCN-2++ as ISO/IEC did not publish this version of TTCN. In 2002, ITU-T SG 17 made the same defect corrections in Recommendation X.292 and approved it on May 14, 2002.

5. TTCN – edition 3, from now on called TTCN-3

In spite of the improvements in TTCN-2, TTCN was designed from the beginning with OSI-based protocol conformance testing in mind and even TTCN-2 was not adequate for the various kinds of testing such as interoperability testing, robustness testing, regression testing, system testing and integration testing or for various emerging testing application areas such as mobile protocol, Internet protocol, service testing, module testing, CORBA-based platform testing and API testing. Therefore a more flexible and powerful test description language was needed. In order to meet the need, the Special Task Force (STF) 133 and 156 of ETSI started working on a new version of TTCN in 1998 and completed it in October 2000.

TTCN-3 retained the proven features of TTCN-2 but was designed to provide the new features listed above. A single most visible difference is that the previous versions adopted as the main description notation the Tabular Notation and its textual counterpart a machine-processible language for translation to programs whereas in TTCN-3 the usual programming language-like notation is adopted as the core language. In October 2000, TTCN-3 was approved in ETSI. Then it was submitted to ITU-T as Z.140 (series). Z.140 and Z.141 were approved July 2001. In 2003, ITU-T approved an updated Z.140 and Z.141 and approved Z.142. To reflect the new nature of TTCN-3, the acronym TTCN was changed in 2003 to Testing and Test Control Notation from the previous Tree and Tabular Combined Notation, which still applies to TTCN-2 and Recommendation X.292 (2002).

The TTCN-3 Core Language can be expressed in a variety of presentation formats. While Recommendation Z.140 defines the Core Language, Recommendation Z.141 defines the Tabular Format for TTCN (TFT) and Recommendation Z.142 defines its Graphical Format for TTCN (GFT).

The TTCN-3 tabular presentation format, TFT, is similar in appearance and functionality to TTCN-2 and provides an alternative way of displaying the Core Language as well as emphasizing those aspects that are particular to the requirements of a standardized conformance test suite.

The TTCN-3 graphical presentation format, GFT, is based on the ITU-T Recommendation Z.120 defining Message Sequence Charts (MSC). GFT uses a subset of MSC with test specific extensions. The majority of extensions are textual extensions only. Graphical extensions are defined to ease the readability of GFT diagrams. Where possible, GFT is defined like MSC, so that established MSC tools with slight modifications can be used for the graphical definition of TTCN-3 test cases in terms of GFT.

The TTCN-3 Core Language may be used independently of TFT and GFT. However, TFT and GFT cannot be used without the core language.

Comparing it with TTCN-2, TTCN-3 has improvements in that TTCN-3 has a:

  1. well-defined syntax, interchange format and static semantics, and
  2. precise execution algorithm (operational semantics).

The major new capabilities of TTCN-3 are:

  1. different presentation formats (e.g. tabular and MSC presentation formats),
  2. dynamic concurrent testing configurations,
  3. operations for synchronous and asynchronous communications,
  4. ability to specify encoding information and other attributes (including user extensibility),
  5. data and signature templates with powerful matching mechanisms,
  6. type and value parameterization,
  7. assignment and handling of test verdicts,
  8. test suite parameterization and test case selection mechanisms,
  9. TTCN-3 Tabular presentation Format (TFT),
  10. Graphical presentation format (GFT),
  11. TTCN-3 Operational Semantics,
  12. TTCN-3 Runtime Interface (TRI),
  13. TTCN-3 Control Interface (TCI),
  14. combined use of TTCN-3 and ASN.1,
  15. The IDL to TTCN-3 mapping,
  16. Using XML Schema with TTCN-3, and
  17. TTCN-3 documentation tags.

Certainly TTCN-3 is a significant improvement over TTCN-2 in precision, expressiveness and capability to meet emerging testing needs. However, the industry and standard organizations put a lot of investment in developing TTCN and TTCN-2 test suites and would not want the investment to be simply discarded or demoted today when TTCN-3 does not provide backward compatibility for the preceding versions and new features require some extent of test-drives. Meanwhile, TTCN-2++ can continue to serve the test specification needs until TTCN-3 makes its way to such needs and becomes accepted.

6. TTCN 3, further evolution

In March of 2006, revisions of Recommendations Z.140, Z.141 and Z.142 were approved. At the same time, four new Recommendations were added to the Z.140 series: "TTCN-3 Operational Semantics"; "TTCN-3 Runtime Interface (TRI)"; "TTCN-3 Control Interface (TCI)"; and "Using ASN.1 with TTCN-3". The set of seven TTCN Recommendations are listed below and the new Recommendations are briefly described:

  • Z.140: TTCN-3 Core Language – Revised
  • Z.141: TTCN-3 Tabular presentation Format (TFT) – Revised
  • Z.142: TTCN-3 Graphical presentation Format (GFT) – Revised
  • Z.143: TTCN-3 Operational Semantics – New

    The operational semantics describes the meaning of behaviour of TTCN-3. This is needed for translating TTCN-3 statements into executable form or exact understanding of TTCN-3 behaviour. Z.143 describes the behaviour in an intuitive and unambiguous manner. The operational semantics is not meant to be completely formal and therefore the ability to perform mathematical proofs based on this semantics is limited. This semantics requires a graphical representation of TTCN-3 behaviour descriptions in form of flow graphs. The mapping of TTCN-3 behaviour descriptions onto flow graphs is straightforward.

  • Z.144: TTCN-3 Runtime Interface (TRI) – New

    TTCN-3 Runtime Interface specifies the runtime interface for TTCN-3 test system implementations. It provides a standardized adaptation for timing and communication of a test system to a particular processing platform and the system under test, respectively. Z.144 defines the interface as a set of operations independent of target language. It describes the structure of the test system, the TTCN-3 Runtime Interface specification and the interaction between the various entities.

    The interface is defined in terms of operations, which are implemented as part of one entity that is called by other entities of the test system. For each operation, the interface specification defines the associated data structures, the intended effect on the test system and any constraints on the usage of the operation.

  • Z.145: TTCN-3 Control Interface (TCI) – New

    TTCN-3 Control Interface specifies the control interfaces for TTCN-3 test system implementations. It provides standardized adaptation for test system management, test component handling and encoding/decoding of a test system to a particular test platform. Z.145 defines the interfaces and associated data structures as a set of operations that are independent of the target language. It describes the structure of a TTCN-3 test system implementation and presents the TTCN-3 Control Interface specification. It should be noted that certain interface interactions, not included here are described in the TTCN-3 Runtime Interface specification.

  • Z.146: TTCN-3 Using ASN.1 with TTCN-3

    This Recommendation defines the normative way of using ASN.1 as defined in ITU-T Recommendations X.680, X.681, X.682 and X.683 with TTCN-3 (Testing and Test Control Notation 3) as defined in Recommendation Z.161. It is aligned with TTCN-3 core language version 3.3.1. Accepted comments from ITU T SG 17 are incorporated. The harmonization of other languages with TTCN-3 is not covered by the present document.

7. TTCN 3, renumbering of the Recommendations

In September 2007, while revising the existing TTCN-3 Recommendations, additional new TTCN-3 Recommendations were approved and it became necessary to renumber the parts in a new series starting with Z.161 to replace Z.140 and continuing through Z.170. Numbers beyond Z.170 are reserved for additional TTCN-3 Recommendations that are expected to be developed in the near future. TTCN-3 textual description, BNF syntax and operational semantics were updated to reflect approved change requests related to the core language.

The revised and new approved TTCN-3 Recommendations are given below indicating the new numbering:

Z.161 (Z.140 Revised), Testing and Test Control Notation version 3: TTCN-3 core language

Recommendation ITU-T Z.161 defines TTCN-3 (Testing and Test Control Notation 3) intended for specification of test suites that are independent of platforms, test methods, protocol layers and protocols. TTCN-3 can be used for specification of all types of reactive system tests over a variety of communication ports. Typical areas of application are protocol testing (including mobile and Internet protocols), service testing (including supplementary services), module testing, testing of CORBA‑based platforms and APIs. The specification of test suites for physical layer protocols is outside the scope of this Recommendation.

The core language of TTCN-3 can be expressed in a variety of presentation formats. While this Recommendation defines the core language, Recommendation ITU-T Z.162 defines the tabular format for TTCN (TFT) and Recommendation ITU-T Z.163 defines the graphical format for TTCN (GFT). The specification of these formats is outside the scope of this Recommendation. The core language serves three purposes:

  1. as a generalized text-based test language;
  2. as a standardized interchange format of TTCN test suites between TTCN tools;
  3. as the semantic basis (and where relevant, the syntactical basis) for the various presentation formats.

The core language may be used independently of the presentation formats. However, neither the tabular format nor the graphical format can be used without the core language. Use and implementation of these presentation formats shall be done on the basis of the core language.

Z.161.1 (new), The Testing and Test Control Notation version 3: TTCN-3 language extensions: Support of interfaces with continuous signals

This Recommendation defines the "Continuous Signal support" package of TTCN 3. It defines concepts for testing systems using continuous signals as opposed to discrete messages and the characterization of the progression of such signals by use of streams. For both the production as well as the evaluation of continuous signals the concept of mode is introduced. Also, the signals can be processed as history-traces. Finally, basic mathematical functions that are useful for analysing such traces are defined for TTCN-3. It is thus especially useful for testing systems which communicate with the physical world via sensors and actuators.

Z.161.2 (new), The Testing and Test Control Notation version 3: TTCN-3 language extensions: Configuration and deployment support

This Recommendation defines the “Configuration and Deployment support” package of TTCN-3. TTCN-3 can be used for the specification of all types of reactive system tests over a variety of communication ports. Typical areas of application are protocol testing (including mobile and Internet protocols), service testing (including supplementary services), module testing, testing of CORBA based platforms, APIs, etc. TTCN-3 is not restricted to conformance testing and can be used for many other kinds of testing including interoperability, robustness, regression, system and integration testing. The specification of test suites for physical layer protocols is outside the scope of the present document. TTCN-3 packages are intended to define additional TTCN-3 concepts, which are not mandatory as concepts in the TTCN-3 core language, but which are optional as part of a package which is suited for dedicated applications and/or usages of TTCN-3. This package defines the TTCN-3 support for static test configurations. While the design of TTCN-3 package has taken into account the consistency of a combined usage of the core language with a number of packages, the concrete usages of and guidelines for this package in combination with other packages is outside the scope of the present Recommendation.


Z.161.3 (new), The Testing and Test Control Notation version 3: TTCN-3 language extensions: Advanced parameterization

This Recommendation defines the “Advanced Parameterization” package of TTCN-3. TTCN-3 can be used for the specification of all types of reactive system tests over a variety of communication ports. Typical areas of application are protocol testing (including mobile and Internet protocols), service testing (including supplementary services), module testing, testing of CORBA based platforms, APIs, etc. TTCN-3 is not restricted to conformance testing and can be used for many other kinds of testing including interoperability, robustness, regression, system and integration testing. The specification of test suites for physical layer protocols is outside the scope of the present document.

TTCN-3 packages are intended to define additional TTCN-3 concepts, which are not mandatory as concepts in the TTCN-3 core language, but which are optional as part of a package which is suited for dedicated applications and/or usages of TTCN-3.

This package defines:

  • Value parameters of types.
  • Type parameterization.

While the design of TTCN-3 package has taken into account the consistency of a combined usage of the core language with a number of packages, the concrete usages of and guidelines for this package in combination with other packages is outside the scope of the present Recommendation.

Z.161.4 (new), The Testing and Test Control Notation version 3: TTCN-3 language extensions: Behaviour types


This Recommendation defines the “Behaviour Types” package of TTCN 3. TTCN 3 can be used for the specification of all types of reactive system tests over a variety of communication ports. Typical areas of application are protocol testing (including mobile and Internet protocols), service testing (including supplementary services), module testing, testing of CORBA based platforms, APIs, etc. TTCN 3 is not restricted to conformance testing and can be used for many other kinds of testing including interoperability, robustness, regression, system and integration testing. The specification of test suites for physical layer protocols is outside the scope of the present document.

TTCN 3 packages are intended to define additional TTCN-3 concepts, which are not mandatory as concepts in the TTCN-3 core language, but which are optional as part of a package which is suited for dedicated applications and/or usages of TTCN-3.

This package defines types for behaviour definitions in TTCN-3.

While the design of TTCN 3 package has taken into account the consistency of a combined usage of the core language with a number of packages, the concrete usages of and guidelines for this package in combination with other packages is outside the scope of the present document.

Z.162 (Z.141 Revised), Testing and Test Control Notation version 3: TTCN-3 tabular presentation format (TFT)

Recommendation ITU-T Z.162 defines TFT, the Tabular Format for TTCN-3. TFT is the tabular presentation format for TTCN‑3 (Testing and Test Control Notation 3) Core Language defined in [ITU-T Z.161]. It is similar in appearance and functionality to TTCN-2 defined in Recommendation ITU-T X.292 for conformance testing. The tabular format provides an alternative way of displaying the core language as well as emphasizing those aspects that are particular to the requirements of a standardized conformance test suite. While the core language may be used independently of the tabular presentation format, the tabular format cannot be used without the core language. Use and implementation of the tabular presentation format shall be done on the basis of the core language. This Recommendation defines proformas, syntax mappings, additional static semantics, operational semantic restrictions, display and other attributes. Together, these characteristics form the tabular presentation format.

TFT inherits all the essential properties of the Core Language and is intended for specification of test suites that are independent of platforms, test methods, protocol layers and protocols. TTCN-3 can be used for specification of all types of reactive system tests over a variety of communication ports. Typical areas of application are protocol testing (including mobile and Internet protocols), service testing (including supplementary services), module testing, testing of CORBA-based platforms and APIs. The specification of test suites for physical layer protocols is outside the scope of this Recommendation.

Z.163 (Z.142 Revised), Testing and Test Control Notation version 3: TTCN-3 graphical presentation format (GFT)

Recommendation ITU-T Z.163 defines the graphical presentation format for the TTCN-3 core language as defined in Recommendation ITU-T Z.161. This presentation format uses a subset of Message Sequence Charts as defined in Recommendation ITU-T Z.120 with test specific extensions.

This Recommendation is based on the core TTCN-3 language defined in Recommendation ITU-T Z.161. It is particularly suited to display tests as GFTs. It is not limited to any particular kind of test specification.

The specification of other formats is outside the scope of this Recommendation.

Z.164 (Z.143 Revised), Testing and Test Control Notation version 3: TTCN-3 operational semantics

Recommendation ITU-T Z.164 defines the operational semantics of TTCN-3 (Testing and Test Control Notation 3). The operational semantics are necessary to unambiguously interpret the specifications made with TTCN-3. This Recommendation is based on the TTCN-3 core language defined in [ITU‑T Z.161].

Z.165 (Z.144 Revised), Testing and Test Control Notation version 3: TTCN-3 runtime interface (TRI)

Recommendation ITU-T Z.165 provides the specification of the runtime interface for TTCN-3 (Testing and Test Control Notation 3) test system implementations. The TTCN-3 Runtime Interface provides the recommended adaptation for timing and communication of a test system to a particular processing platform and the system under test, respectively. This Recommendation defines the interface as a set of operations independent of target language.

The interface is defined to be compatible with Recommendation ITU-T Z.161. This Recommendation uses the CORBA Interface Definition Language (IDL) to specify the TRI completely. Clauses 6 and 7 specify language mappings of the abstract specification to the target languages Java and ANSI-C. A summary of the IDL-based interface specification is provided in Annex A.

Z.165.1 (new), Testing and Test Control Notation version 3: TTCN-3 extension package: Extended TRI

This Recommendation defines the extended runtime interface (TRI) package of TTCN 3. It defines a more efficient handling of software values by a version of TRI, that does not use binary encoded messages for the communication with the system under test (SUT), but uses the values as they are; meaning e.g. that software objects or serialized data can be passed directly between the SUT and the TTCN 3 Executable (TE).

Z.166 (Z.145 Revised), Testing and Test Control Notation version 3: TTCN-3 control interface (TCI)

This Recommendation specifies the control interfaces for TTCN-3 test system implementations. The TTCN-3 Control Interfaces provide a standardized adaptation for management, test component handling and encoding/decoding of a test system to a particular test platform. This Recommendation defines the interfaces as a set of operations independent of a target language.

The interfaces are defined to be compatible with the TTCN-3 standard (see clause 2). The interface definition uses the CORBA Interface Definition Language (IDL) to specify the TCI completely. Clauses 8 and 9 present language mappings for this abstract specification to the target languages Java and ANSI C. A summary of the IDL‑based interface specification is provided in Annex A.

Z.167 (Z.146 Revised), Testing and Test Control Notation version 3: TTCN-3 mapping from ASN.1

This Recommendation defines a normative way of using ASN.1 as defined in Recommendations ITU-T X.680, X.681, X.682 and X.683 with TTCN-3. The harmonization of other languages with TTCN-3 is not covered by this Recommendation.

Z.168 (New), Testing and Test Control Notation version 3: TTCN-3 mapping from CORBA IDL

Recommendation ITU-T Z.168 defines the mapping rules for CORBA IDL (as defined in chapter 3 in Draft Approved Specification ptc/06-05-01 (2006)) to TTCN-3 (as defined in Recommendation ITU-T Z.161) to enable testing of CORBA-based systems. The principles of mapping CORBA IDL to TTCN-3 can be also used for the mapping of interface specification languages of other object-/component-based technologies.

The specification of other mappings is outside the scope of this Recommendation.

Z.169 (New) Testing and Test Control Notation version 3: TTCN-3 mapping from XML data definition

This Recommendation defines the mapping rules for W3C Schema to TTCN-3 to enable testing of XML-based systems, interfaces and protocols.

Z.170 (New), Testing and Test Control Notation version 3 TTCN-3 documentation comment specification

Recommendation ITU-T Z.170 defines a documentation of TTCN-3 source code using special documentation comments. The source code documentation can then be produced automatically from the TTCN-3 core language, e.g., in the form of hypertext web pages.

References

Further Information