Using ASN.1 with TTCN-3

advertisement
TTCN-3 and ASN.1 interworking
Analysis of backward compatibility in
ASN.1
Géza Horváth
geza.horvath@nsn.com
TTCN-3 User Conference 2011
7 – 9 June 2011 - Bled, Slovenia
Introduction
Géza Horváth
Nokia Siemens Networks
•Release 4 Product Support Engineer
•Joint Venture of Nokia and Siemens
•Started operations on April 1, 2007
•65,000+ employees
•75 of top 100 operators worldwide
•150 countries
•3 billion mobile subscribers and ¼ of
world’s voice households served
2
© Nokia Siemens Networks
TTCN-3 and ASN.1 interworking / Géza Horváth
Agenda
Concept of ASN.1 – TTCN-3
Compatibility of ASN.1
Planning a comparator tool
Result, future
3
© Nokia Siemens Networks
TTCN-3 and ASN.1 interworking / Géza Horváth
ASN.1 introduction
?
Abstract syntax in ASN.1
• Vendor- and languageindependent
•Recursive notation for
complex data types
Record ::=
name
age
gender
SEQUENCE {
PrintableString (SIZE(1..30)),
INTEGER,
ENUMERATED { unknown(0),
male(1),
female(2) } }
Machine B
Concrete syntax in Objective Caml
Machine A
Concrete syntax in C
typedef struct Record {
char name[31];
int age;
enum { unknown = 0;
male = 1;
female = 2 } gender;
} Record;
Transfer syntax
(bytes or bits)
• Avoid the transfer of
concrete syntax
4
© Nokia Siemens Networks
TTCN-3 and ASN.1 interworking / Géza Horváth
type record = {
name
: string;
age
: num;
gender : t_gender }
and t_gender = Unknown
| Male
| Female
•Encoding rules
Using ASN.1 with TTCN-3
• TTCN-3 provides a clean interface for using ASN.1
specifications: ETSI ES 201 873-7
• Alternative data type and value syntax
• Implicit mapping: import
5
© Nokia Siemens Networks
TTCN-3 and ASN.1 interworking / Géza Horváth
•Internal representation of
imported objects
•Without any lost information
Agenda
Concept of ASN.1 – TTCN-3
Compatibility of ASN.1
Planning a comparator tool
Result, future
6
© Nokia Siemens Networks
TTCN-3 and ASN.1 interworking / Géza Horváth
The need of ASN.1 compatibility
•INTEGER(1..10)
•INTEGER(1..10,...)
• Extension marker ”...”
– Specification v2 must include v1
• Two compatible specifications are not necessarily
syntactically identical
• Syntactic differences should be detected
• Semantics are very bound to syntax
• Two distinct specifications of the same protocol can be
compared to evaluate the impact on the interface
7
© Nokia Siemens Networks
TTCN-3 and ASN.1 interworking / Géza Horváth
Syntactic compatibility between ASN.1
specifications
• OPTIONAL keyword
• Extensible subtyping constraints
•What if v1 does not
send the INTEGER to
v2?
• Permutation of SET components
•We should know all the changes
on the interface
•In case of SEQUENCE?
8
© Nokia Siemens Networks
TTCN-3 and ASN.1 interworking / Géza Horváth
•What if v2 sends the
value 11 to v1?
•Without the extensions
marker?
Agenda
Concept of ASN.1 – TTCN-3
Compatibility of ASN.1
Planning a comparator tool
Result, future
9
© Nokia Siemens Networks
TTCN-3 and ASN.1 interworking / Géza Horváth
Structure of the comparator
•Parser: syntactic
error messages as
well
10
© Nokia Siemens Networks
•Transitive closure:
checking references,
imports
TTCN-3 and ASN.1 interworking / Géza Horváth
•Normalization:
avoiding circular
definitions
Root
Root
PDU 1
Comparator algorithm
PDU 1
statement 1
statement 1
statement 2
statement 2
•
•
•
•
•
•
PDU 2
PDU 2
A diff-like (textual) algorithm?
Detailed comparison algorithm on graphs!
The goal is the find a matching between two trees
Nodes of the two trees are numbered
A global default mark is assigned to the root
It is divided between each branch of the root, and so on
recursively
• According to how each node matches with the
corresponding one
– The mark is inherited completely or
– Decreased portionally to the result of the comparison
11
© Nokia Siemens Networks
TTCN-3 and ASN.1 interworking / Géza Horváth
Comparator algorithm
• Synthesised mark at highest level can be considered as
the global level of syntactic mapping
• Compare each PDU of v1 to all PDU of v2 to determine
the best matching
12
© Nokia Siemens Networks
TTCN-3 and ASN.1 interworking / Géza Horváth
Agenda
Concept of ASN.1 – TTCN-3
Compatibility of ASN.1
Planning a comparator tool
Result, future
13
© Nokia Siemens Networks
TTCN-3 and ASN.1 interworking / Géza Horváth
Result
• Simple semantic deductions based on syntactic
differences
–*
– **
– ***
Only notice, not incompatibility
In some cases it can be incompatibility
Incompatibility
• Important to build up an effective visualization
– A specification can be very huge
14
© Nokia Siemens Networks
TTCN-3 and ASN.1 interworking / Géza Horváth
Extension for future
• Complete formalization of all the comparison rules
– Fortunately the algorithm is easily extensible
• All the error messages are mainly syntactic
• Addition of the semantics in order to refine messages
• Integration with specification environment
15
© Nokia Siemens Networks
TTCN-3 and ASN.1 interworking / Géza Horváth
Thank you for your attention!
Géza Horváth
geza.horvath@nsn.com
16
© Nokia Siemens Networks
TTCN-3 and ASN.1 interworking / Géza Horváth
Download