1 / 30

An Intuitive TTCN-3 Data Presentation Format

An Intuitive TTCN-3 Data Presentation Format. Roland Gecse and Sarolta Dibuz Ericsson Hungary, 1037 Budapest Laborc u. 1. {Roland.Gecse, Sarolta.Dibuz}@eth.ericsson.se. Motivation. Find an intuitive graphical representation format for abstract data (excluding OO)

onawa
Télécharger la présentation

An Intuitive TTCN-3 Data Presentation Format

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. An Intuitive TTCN-3 Data Presentation Format Roland Gecse and Sarolta Dibuz Ericsson Hungary, 1037 Budapest Laborc u. 1. {Roland.Gecse, Sarolta.Dibuz}@eth.ericsson.se

  2. Motivation • 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)

  3. Goals • 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)

  4. TTCN-3 ASN.1 ? Profile XML Conceptual architecture • Basic Notation:Graphical representation of common language concepts • Profiles:Language-specific features • XML:Potential common data exchange format between different implementations TTCN-3 Profile ASN.1 Profile Basic Notation

  5. Data 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 (2+5) • 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!)

  6. Simple Type and Value Representation Simple-type-spec • 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 [Field-identifier] [with-attributes] [value]

  7. Simple type reference A • TTCN-3 equivalent:type <record> R { … A field_a, …} field_a

  8. Simple Type Alias C : charstring • TTCN-3 equivalent: type charstring C;

  9. Simple Type Subtype definition I : integer(1..10) • TTCN-3 equivalent:type integer I (1..10);

  10. Simple Type Inline subtype definition charstring(“abc”) • TTCN-3 equivalent:type <record> R { … charstring field_abc (“abc”), …} field_abc

  11. Field identifier attribute integer • Different meaning in different contexts: • Simple value notation (together with the value attribute):identifier of that value<const> integer INT_field := 428; INT_field 428

  12. intval1 intval2 integer integer 1 intval1 Value attribute Simple type: • Literal, e.g. true, 4, ‘10110’B, “Hello!” • Value reference Value attribute

  13. With-attributes BER_INT : integer Location of TTCN-3 with statement’s attributes w/o braces type integer BER_INT with { encode “BER:1997” }; encode “BER:1997” with

  14. Building 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

  15. [quantor] [Field-identifier] Structured-type-spec [value] [with-attributes] Element-type-list Structured 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

  16. SetType RecType A A B B C C UnionType A B C Element 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

  17. SetType A B C Optional elements… …marked with dotted border Elements B and C are optional

  18. R host charstring port integer Field identifier attribute (2) • 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 }; Field identifier in structured type element

  19. HP2 HostPort HP1 HP1 HP3 HP2 HostPort HostPort HostPort HP1 HP1 host charstring host host charstring charstring “pauler” port port port integer integer integer 80 8080 Value attribute Structured type header: • Empty: all values MUST be provided in element’s value attribute • Structured value reference: get the value of each element by ref. • Both Reference AND some elements’ values present:elements’ values modify the referred value

  20. 1..9 SetOfType A * RecordOfType B The 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

  21. TTCN-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

  22. SuccessIndication ErrorException IPConnection protocol inout ProtocolID srcHost in IPAddress srcPort in integer dstHost out IPAddress out integer dstPort Signature Exception Return type Parameter list Parameter type Parameter name In, out, inout

  23. message PortType inout all in PDU_A out PDU_B Port type Port type identifier message, procedure, mixed direction Message/ signature type or “all”

  24. MyComponentType msgPortA PortType msgPortB PortType myCompVar integer 42 T timer Component identifier Component type Port decl. Initial value Component variable Component timer

  25. Req_line RequestLine(Method m, HostPort h, UserInfo u, GenericParam_List l) Method m SipUrl scheme charstring(“sip”) “sip” UserInfo u HostPort h urlParameters GenericParam_List l headers GenericParam_List - sipVersion charstring “SIP/1.2” Template parameter m Formal parameters Literal Omit value

  26. Implementation • Graphical front-end for data part development • Display parts’contents 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)

  27. RequestLine SipUrl UserInfo Method scheme charstring(“sip”) userOrTelephoneSubscriber charstring SipUrl UserInfo password charstring charstring sipVersion HostPort HostPort urlParameters GenericParam_List host charstring * GenericParam_List GenericParam_List headers port integer GenericParam Example – SIP RequestLine (view by reference)

  28. RequestLine Method RequestLine SipUrl Method scheme charstring(“sip”) RequestLine SipUrl UserInfo Method scheme charstring(“sip”) HostPort SipUrl UserInfo urlParameters GenericParam_List headers * HostPort sipVersion charstring GenericParam_List urlParameters GenericParam_List GenericParam headers GenericParam_List sipVersion charstring sipVersion charstring Example – Embedded view Expand type SipUrl Expand GenericParam_List

  29. Conclusion • 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

  30. Thank you for your attention!

More Related