O'Reilly logo

An Introduction to TTCN-3, 2nd Edition by Stephan Schulz, Federico Engler, Stefan Keil, Stephan Tobies, Thomas Deiß, Colin Willcock

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 9

Advanced Type Topics

In our presentation of the Testing and Test Control Notation Version 3 (TTCN-3) type system in the previous chapter, some aspects have been left out deliberately to allow for a more stringent presentation of the most important topics. However, these aspects are sufficiently fundamental (like type compatibility) or useful for particular applications (like the anytype, recursive type definitions and foreign type system support) that this book would be incomplete without them. These aspects will now be covered in this chapter.

9.1 Type Compatibility

Like many other programming languages, TTCN-3 is a statically typed language. This means that each entity in TTCN-3 is declared together with its type. For a variable, its type describes which values can be stored in the variable and how it can be used to form expressions. For a function, it is specified what values can be passed as parameters, and what values can be returned as return values. For a port, it is defined, which values can be sent and received via this port and so on. For each entity, its type is known statically from the program code. It can hence be used to catch ill-formed expressions. In the following, we will describe the rules used to determine whether an expression is well typed. These rules guide which assignments, expressions and parameter instantiations are considered type-safe.

We have already discussed TTCN-3's capabilities to define new types from existing types via subtyping (see ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required