120 likes | 267 Vues
The IDL to TTCN-3 Mapping. Michael Ebner Institute for Informatics University of Göttingen Germany. TTCN-3 User Conference 2004. TTCN-3 Core Language. ASN.1 Types & Values. Tabular Format. IDL Types & Values. Graphical Format. TTCN-3 User. Other Types & Values n. Presentation
E N D
The IDL to TTCN-3 Mapping Michael Ebner Institute for InformaticsUniversity of GöttingenGermany TTCN-3 User Conference 2004
TTCN-3 Core Language ASN.1 Types & Values Tabular Format IDL Types & Values Graphical Format TTCN-3 User Other Types & Valuesn Presentation formatn Overall Picture of TTCN-3
UML Class Diagram WSDL CORBA IDL TTCN-3Data Applications of the IDL Mapping
IDL Example interface Naming { }; long bind(in Name n, inoutObject o, outObject mo) raises( NotFound ) context ( MyContextVariable ); exception NotFound { string why; string name; }; attributestring object_type; readonlyattribute Names myNames; constlong number = 12; constlong size = ( ( number << 3 ) % 0x1F ) & 0123; typedefsequence < string > Names;
IDL Specification Interface Operation Attribute Signature P3 P4 TTCN-3/CORBA Gateway Implementation under Test Object Request Broker Object Request Broker Testing CORBA with TTCN-3 MTC P1 P2 P3 P4 Test systeminterface
Basic Constructed Template Other struct record array sequence record of array boolean boolean union union string charstring char char address native wstring universalcharstring enum enumerated wchar universal char fixed record IDLfixed octet octetstring long integer long short short integer float float IEEE754float double float IEEE754double any union anytype IDLand TTCN-3Data Types
IDL module CosNaming { typedefsequence<NameComponent> Name; exception NotFound { string why; string name; }; }; TTCN-3 module CosNaming { typerecord of NameComponent Name with { variant “IDL v2.6, IDL:sequence” }; type record NotFound { NotFoundReason why, Name rest_of_name }; with { variant “IDL v2.6, IDL:exception” }; } Example - Data Type Mapping
Example – Interface Mapping IDL interface NamingContext { void bind( in Name n, inaddress object) raises( NotFound ); }; TTCN-3 group NamingContextInterface { signature bind( in Name n, in address object ) exception( NotFound ); typeport NamingContext procedure { out bind }; typeaddress NamingContextObject; }
Summary • ETSI Technical Specification 102 219 • Support by TTCN-3: • Synchronous communication including non-blocking procedure calls • IDL data types • anytype • variant attribute and “useful types” (IDLfixed, short, IEEE754float, iso8859string, etc.)
The IDL to TTCN-3 Mapping Michael Ebner Institute for InformaticsUniversity of GöttingenGermany TTCN-3 User Conference 2004