07.01.2013 Views

Lecture Notes in Computer Science 3472

Lecture Notes in Computer Science 3472

Lecture Notes in Computer Science 3472

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

16 TTCN-3 483<br />

user. The CD, SA and PA entities are <strong>in</strong>stantiated on each device because their<br />

implementation may differ depend<strong>in</strong>g on their underly<strong>in</strong>g heterogeneous devices.<br />

16.5.2 Test Control Interfaces<br />

The TTCN-3 Control Interfaces provide a standardized adaptation for the management<br />

and the handl<strong>in</strong>g of test components and for the encod<strong>in</strong>g/decod<strong>in</strong>g of<br />

a test system to a particular test platform.<br />

The 6th part of the ETSI TTCN-3 standard def<strong>in</strong>es the <strong>in</strong>teraction between<br />

three ma<strong>in</strong> entities: Test Management (TM), Test Component Handler (CH)<br />

and Coder/Decoder (CoDec). The test can be distributed over many test hosts<br />

and different test behaviors can be executed simultaneously. As it is conceived<br />

with<strong>in</strong> the standard, on each host, an <strong>in</strong>stance of the test system is created. The<br />

Test Execution (TE) must be distributed on each host with its own codec (CD),<br />

System Adapter (SA) and Platform Adapter (PA). The Component Handl<strong>in</strong>g<br />

(CH) supplies the communication between the test components created, that run<br />

on different hosts. The Test Management coord<strong>in</strong>ates and manages the execution<br />

of the test.<br />

The <strong>in</strong>teraction between the ma<strong>in</strong> entities is def<strong>in</strong>ed as a set of <strong>in</strong>terfaces. The<br />

API, conceived with<strong>in</strong> the <strong>in</strong>terfaces, def<strong>in</strong>es operations which the entities either<br />

provide or use. For this reason, there are two classes of <strong>in</strong>terfaces: provided and<br />

required. Provided <strong>in</strong>terfaces conta<strong>in</strong> operations which are offered by an entity;<br />

the required <strong>in</strong>terfaces conta<strong>in</strong> operations that an entity expects from the other<br />

entities.<br />

Data Types The TTCN-3 data described <strong>in</strong> the test module must be transformed<br />

<strong>in</strong>to concrete data values which are handled by the entities implement<strong>in</strong>g<br />

the test system. TE conta<strong>in</strong>s the data values which are generated at compilation.<br />

In order to ma<strong>in</strong>ta<strong>in</strong> a common data model, the TCI standard def<strong>in</strong>es the Abstract<br />

Data Type Model, which describes the <strong>in</strong>terfaces that handle the TTCN-3<br />

data from TE. Each abstract data type has associated a set of operations which<br />

def<strong>in</strong>es its functionality.<br />

The Abstract Data Type Model conta<strong>in</strong>s two parts: the data type Type,which<br />

represents all TTCN-3 types of a module, and data types that represent TTCN-3<br />

values (<strong>in</strong>stances of TTCN-3 types). All TTCN-3 types provide the same <strong>in</strong>terface.<br />

One may obta<strong>in</strong> for a type the module where it was def<strong>in</strong>ed, its name<br />

or class and the type of encod<strong>in</strong>g. Any type can be <strong>in</strong>stantiated by us<strong>in</strong>g the<br />

newInstance method. The different types of values, which can appear <strong>in</strong> a TE,<br />

are presented <strong>in</strong> Figure 1.5.<br />

All types of values <strong>in</strong>herit the Value type and provide the core operations:<br />

getValueEncod<strong>in</strong>g, getType and notPresent. TheValue types represent the<br />

mapp<strong>in</strong>g of the abstract TTCN-3 values to concrete ones. There are three categories<br />

of values: a) basic types (<strong>in</strong>teger, float, boolean etc), b) str<strong>in</strong>g based values<br />

(hexstr<strong>in</strong>g, octetstr<strong>in</strong>g, charstr<strong>in</strong>g etc) and c) structured types (union, record,<br />

verdict). All of them provide additional operations (besides the operations extended<br />

from Value) to access their functionality.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!