T3DevKit User Manual

December 15, 2010
©2006 INRIA

©2007, 2008, 2009, 2010 Université de Rennes 1

Contributors:  Anthony Baire, Franois Lerebours

Contact address:  <t3devkit@irisa.fr>


This document is part of T3DevKit, a free toolkit for building TTCN-3 tests.

This software is governed by the CeCILL-C license under French law and abiding by the rules of distribution of free software. You can use, modify and/or redistribute the software under the terms of the CeCILL-C license as circulated by CEA, CNRS and INRIA at the following URL: http://www.cecill.info.

As a counterpart to the access to the source code and rights to copy, modify and redistribute granted by the license, users are provided only with a limited warranty and the software’s author, the holder of the economic rights, and the successive licensors have only limited liability.

In this respect, the user’s attention is drawn to the risks associated with loading, using, modifying and/or developing or reproducing the software by the user in light of its specific status of free software, that may mean that it is complicated to manipulate, and that also therefore means that it is reserved for developers and experienced professionals having in-depth computer knowledge. Users are therefore encouraged to load and test the software’s suitability as regards their requirements in conditions enabling the security of their systems and/or data to be ensured and, more generally, to use and operate it in the same conditions as regards security.

The fact that you are presently reading this means that you have had knowledge of the CeCILL-C license and that you accept its terms.

History of the document



0.11.0 December 2010

Updated sections:

  • Getting Started (replacement of makefiles with waf build scripts & support of new environments)
  • Helper functions (support of the structured type set)
  • Defining Primitive Types (support of textual encoding of integers)
  • Debugging (enable debugging with the waf script)

New sections:

  • Simulated Time

Removed sections:

  • Sample Makefile for T3DevKit

0.10.1 July 2008

Updated sections:

  • Requirements (support of picottcn)
  • Usage & Low-level Usage (new build options, new modules)
  • Reusing an existing CoDec & Reusing existing Adapters (options for prefixing TRI/TCI functions names were removed)

0.9.1 July 2007

New sections:

  • Reusing an existing CoDec
  • SUT Actions
  • Reusing existing Adapters

Updated sections:

  • Requirements (updated supported tool versions, added cygwin)
  • Usage (added the “analyse” target)
  • Registering manually defined types (deprecated feature)

0.9 March 2007

Initial Release


1 Overview of T3DevKit
 1.1 Features
 1.2 A short introduction to TTCN-3
  1.2.1 The Language
  1.2.2 The Execution Environment
 1.3 Why do I need an additional library and a CoDec generator ?
 1.4 Limitations
2 Getting Started
 2.1 Requirements
 2.2 Installation
 2.3 Usage
  2.3.1 The build script: wscript
  2.3.2 Running waf
  2.3.3 Speeding up the compilation
3 Codec Generation
 3.1 Running the CoDec Generator
 3.2 Encoding and Decoding with T3DevLib
  3.2.1 Value framework
  3.2.2 Buffers
  3.2.3 Exceptions
 3.3 Writing Codets (i.e. customising the codec)
  3.3.1 The generated codec
  3.3.2 Helper functions
  3.3.3 Codets
  3.3.4 Adding missing logic
  3.3.5 Additional processing
  3.3.6 Reporting Errors
  3.3.7 Extending class definitions
  3.3.8 Handling Exceptions
 3.4 Defining Primitive Types
  3.4.1 Predefined Macros
  3.4.2 Class definition
  3.4.3 Registering manually defined types
 3.5 Reusing an existing CoDec
  3.5.1 Overview of the problem and solutions
  3.5.2 Calling another CoDec (Master mode)
  3.5.3 Being called by another CoDec (Slave mode)
4 Implementing Adapters
 4.1 Manipulating TRI structures
 4.2 Communication Ports
  4.2.1 Basics
  4.2.2 Map & Unmap operations
  4.2.3 Sending and Receiving messages
  4.2.4 Registering ports
  4.2.5 Summary
 4.3 SUT Actions
 4.4 External Functions
  4.4.1 Basics
  4.4.2 Registering external functions
  4.4.3 Accessing parameters
  4.4.4 Returning values
  4.4.5 Summary
 4.5 Timers
  4.5.1 Simulated Time
 4.6 Reusing existing Adapters
5 Debugging
 5.1 Enabling debugging support
 5.2 Debug switches
6 Examples
 6.1 DNSTester
  6.1.1 Implementing the codec
  6.1.2 Implementing the system adapter
 6.2 DNSTester2


[1]   C. Willcock et al. An Introduction to TTCN-3. ISBN: 978-0470012246, John Wiley & Sons Ltd, 2005.

[2]   P. Mockapetris. Domain Names - Implementation and Specification Network Working Group RFC 1035, http://www.ietf.org/rfc/rfc1035.txt, November 1987.