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