Title: An Intuitive TTCN-3 Data Presentation Format
1An Intuitive TTCN-3 Data Presentation Format
- Roland Gecse and Sarolta Dibuz
- Ericsson Hungary, 1037 Budapest Laborc u. 1.
- Roland.Gecse, Sarolta.Dibuz_at_eth.ericsson.se
2Motivation
- Find an intuitive graphical representation format
for abstract data (excluding OO) - Abstract data a set of simple types with given
value domain and rules for constructing complex
types (e.g. ASN.1, TTCN-3) - Intuitive Keep it super simple (e.g. introduce
a minimal set of symbols)
3Goals
- Facilitate test suite data part development
- Help testers getting the overview of type
definitions hierarchy - Provide a graphical tool for test data
development (e.g. contants, templates), which are
significant parts of Test Suites - Translate between different formal data
description methods (e.g. TTCN, TTCN-3 and ASN.1)
4Conceptual architecture
- Basic NotationGraphical representation of
common language concepts - ProfilesLanguage-specific features
- XMLPotential common data exchange format
between different implementations
TTCN-3 Profile
ASN.1 Profile
Basic Notation
5Data Presentation Format
- Basic Notation TTCN-3 profile
- Supports data part Type definitions, constant
declarations, signature declarations, template
declarations, port type definitions, component
type definitions, module parameter declarations - Dynamic parts out of scope functions, altsteps,
testcases, control - 7 disjunct parts (25)
- Separated containers for all supported TTCN-3
constructions - Resolves context sensitivity of graphical
representations(e.g. specific value template
value template looks equal to a constant, but
these are in different parts!)
6Simple Type and Value Representation
Simple-type-spec
Field-identifier
with-attributes
value
- Simple-type-spec simple-type-id
base-simple-type-id
subtype-spec - 4 forms of simple-type-spec simple type
reference, simple type alias, subtype definition
and inline subtype definition - 3 context specific attributes Field-identifier,
value, with-attributes
7Simple type reference
A
field_a
- TTCN-3 equivalenttype ltrecordgt R
A field_a,
8Simple Type Alias
C charstring
- TTCN-3 equivalent
- type charstring C
9Simple Type Subtype definition
I integer(1..10)
- TTCN-3 equivalenttype integer I (1..10)
10Simple Type Inline subtype definition
charstring(abc)
field_abc
- TTCN-3 equivalenttype ltrecordgt R
charstring field_abc (abc),
11Field identifier attribute
integer
INT_field
428
- Different meaning in different contexts
- Simple value notation (together with the value
attribute)identifier of that valueltconstgt
integer INT_field 428
12Value attribute
- Simple type
- Literal, e.g. true, 4, 10110B, Hello!
- Value reference
Value attribute
13With-attributes
BER_INT integer
encode BER1997
with
- Location of TTCN-3 with statements attributes
w/o braces - type integer BER_INT with encode BER1997
14Building Structured Types from Simple Types
alternatives
- Model
- ordering, choice
- Consider an imaginary plane
- Vertical axis ordering
- Horizontal axis alternatives
- repetition
- quantor
- grouping of elements
- structured type header attributes
Field-id
quantor
Structured-type-id
with-attributes
value
A
B
C
ordering
15Structured Type and Value Representation
- Structured type reference has the same graphical
representation than simple type reference - Context specific attributes Field-identifier,
value, with-attributes and quantor
16Element type list
- Determines structured type content
- Graphical representation depends on the format of
constructed type
- Record type rectangles of neighbouring elements
have joint edges along vertical axis
- Set type rectangles of neighbouring elements are
encircled and have disjoint edges
- Union type rectangles of alternative elements
have joint edges along the horizontal axis
17Optional elements
- marked with dotted border
Elements B and C are optional
18Field identifier attribute (2)
Field identifier in structured type element
- Structured type definition Field identifier is
used to refer to a structured type element (e.g.
a field of a record type)type record R
charstring host, integer port
19Value attribute
- Structured type header
- Empty all values MUST be provided in elements
value attribute - Structured value reference get the value of each
element by ref. - Both Reference AND some elements values
presentelements values modify the referred
value
20The quantor
- Used to express set-of and record-of
constructions - Includes length restriction subtype
- type set length(1..9) of A SetOfType
- type record of B RecordOfType
quantor
21TTCN-3 specific constructions
- These are unknown to the Basic Notation but
belong to the TTCN-3 Profile (DPF) - Signature declaration
- Port type definition
- Component type definition
- Template declaration
- Module parameter declaration
22Signature
Exception
Return type
Parameter list
Parameter type
Parameter name
In, out, inout
23Port type
Port type identifier
message, procedure, mixed
direction
Message/ signature type or all
24Component type
Component identifier
Port decl.
Initial value
Component variable
Component timer
25Template
parameter m
Literal
Formal parameters
Omit value
26Implementation
- Graphical front-end for data part development
- Display partscontents in separate windows
- Create and edit language entities incl. drag
drop features - Support overview of hierarchy (expand, collapse)
- Resolve references on click
- Create constants and templates from types and
fill-in values - Syntactical/semantical check of module
- Import/export module (w/o touching irrelevant
parts)
27Example SIP RequestLine (view by reference)
28Example Embedded view
Expand type SipUrl
Expand GenericParam_List
29Conclusion
- Basic Notation complete
- TTCN-3 profile ready (waiting for feedback)
- Prototype implementation working
- Positive feedback from testers
- Productification, case study
- ASN.1 profile design started
30Thank you for your attention!