T3DevKit User Manual


July 23, 2008

©2007, 2008 INRIA

Contributor:  Anthony Baire

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




VersionDate

Changes




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




Contents

1 Overview of T3DevKit
 1.1 Features
 1.2 Framework
 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.4 Low Level Usage
  2.4.1 C/C++ Compiler & Linker Configuration
  2.4.2 CoDec Generation
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.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
A Sample Makefile for T3DevKit

Bibliography

[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.