ASN 1 MSC SDL and TTCN Today Jens

  • Slides: 73
Download presentation
ASN. 1, MSC, SDL and TTCN Today Jens Grabowski - Göttingen University Rick Reed

ASN. 1, MSC, SDL and TTCN Today Jens Grabowski - Göttingen University Rick Reed - TSE Ltd ISSSRE 04 WITUL - Rennes 01 November 2004

Objectives of this tutorial Introduction ASN. 1 MSC o Overview of ITU languages used

Objectives of this tutorial Introduction ASN. 1 MSC o Overview of ITU languages used today • ASN. 1, MSC, SDL and TTCN NOT • GDMO, CHILL, e. ODL or URN o Introduction for potential new users SDL TTCN Summary o Review key features and current status o Background for work shop discussion • Relevance with respect to UML • Current integration of languages ISSSRE 04 WITUL - Rennes 01 November 2004

UML, SDL? , URN? ? Introduction • Methodology ASN. 1 MSC Methodology of Z.

UML, SDL? , URN? ? Introduction • Methodology ASN. 1 MSC Methodology of Z. 100 Supplement 1 UML, MSC, � URN? ASN. 1 MSC+SDL TTCN ? ? ? TTCN C, C++, Java, ? ? ? Summary ISSSRE 04 WITUL - Rennes 01 November 2004

ASN. 1 Abstract Syntax Notation number One Introduction ASN. 1 MSC SDL o Is

ASN. 1 Abstract Syntax Notation number One Introduction ASN. 1 MSC SDL o Is a textual notation o Separated from encoding rule standards o Defines the “abstract syntax” of data That is • Named “types” - sets of data values • basic types (INTEGER, BOOLEAN etc. ) • types constructed from other types • subtypes (constraining the values of a type) • Names (some) data values of the types TTCN Summary o Data extensible for version interworking o Has parameters of types, + CLASS defs. o No behaviour operations are defined ISSSRE 04 WITUL - Rennes 01 November 2004

ASN. 1 Basic types (1) Introduction Typereference ASN. 1 • Basic Types Myinteger :

ASN. 1 Basic types (1) Introduction Typereference ASN. 1 • Basic Types Myinteger : : = INTEGER -- unlimited + or - MSC Valid. Case : : = BOOLEAN -- TRUE or FALSE is assigned Type comment (to endline or --) Pronoun 3 : : = ENUMERATED { he, she, it} SDL TTCN Summary Speed : : = REAL -- m*b^e, b=2 or 10 Exists : : = NULL -- NULL, when no data Buttons : : = BIT STRING Payload : : = OCTET STRING ISSSRE 04 WITUL - Rennes 01 November 2004

ASN. 1 Basic types (2) Introduction ASN. 1 • Basic Types MSC SDL TTCN

ASN. 1 Basic types (2) Introduction ASN. 1 • Basic Types MSC SDL TTCN o BIT STRING - Numbered bits Flags : : = BIT STRING {isd(0) fax(1) sec(3)} o char strings: IA 5 String UTF 8 String etc. "some chars" "the "" quote” { "carriage return", {0, 13}, "in IA 5 String"} {"UTF 8 Cap. Sigma follows ", {0, 0, 3, 163}}--∑ o UTCTime, Generalized. Time "041102092531+0100" "2004110209 Z" o OBJECT IDENTIFIER, RELATIVE-OID Summary o EMBEDDED PDV ISSSRE 04 WITUL - Rennes 01 November 2004

Value Assignments valuereference Introduction ASN. 1 • Basic Types MSC SDL TTCN Summary Type

Value Assignments valuereference Introduction ASN. 1 • Basic Types MSC SDL TTCN Summary Type is assigned value male INTEGER : : = 3 female My. Integer : : = 5 neuter My. Integer : : = 1 invalid Valid. Case : : = FALSE stopped Speed : : = 0 -- special case limit Speed : : = 120. 5 --kph name IA 5 String : : = "WITUL" m 123 Flags : : = {fax, isd} valuereference used Pronoun 4 : : = ENUMERATED {he(male), she(female), it(neuter) } ISSSRE 04 WITUL - Rennes 01 November 2004

ASN. 1 Constructed Types SEQUENCE (SET) Introduction ASN. 1 • Constructed MSC Employee :

ASN. 1 Constructed Types SEQUENCE (SET) Introduction ASN. 1 • Constructed MSC Employee : : = SEQUENCE { number INTEGER, } name UTF 8 String, position ENUMERATED { worker, manager, chief } SDL pay REAL OPTIONAL, married BOOLEAN DEFAULT FALSE TTCN } Summary boss Employee : : = {number 1, name "M. Top", position chief, pay 99. 99} identifier value ISSSRE 04 WITUL - Rennes 01 November 2004

ASN. 1 Constructed Types SEQUENCE OF (SET OF) Introduction ASN. 1 • Constructed MSC

ASN. 1 Constructed Types SEQUENCE OF (SET OF) Introduction ASN. 1 • Constructed MSC SDL TTCN Summary Auto. Tach : : = SEQUENCE OF Speed truck 1 Auto. Tach : : = { 0, 45. 5, 30, 98. 7, 50. 3, 0 } Name. Set : : = SET OF IA 5 String group Name. Set : : = {"Jim", "Jane", "Frida", "Gilbert"} ISSSRE 04 WITUL - Rennes 01 November 2004

ASN. 1 Constructed Types CHOICE Introduction ASN. 1 • Constructed MSC SDL Peer 2

ASN. 1 Constructed Types CHOICE Introduction ASN. 1 • Constructed MSC SDL Peer 2 : : = CHOICE { rr Receive. Ready, rej Reject, disc Disconnect } -- where Receive. Ready : : = NULL Reject : : = INTEGER (0. 255) Disconnect : : = NULL identifier TTCN Summary rr 2 Peer 2 rj 1 Peer 2 value : : = rr: NULL : : = rej: 1 ISSSRE 04 WITUL - Rennes 01 November 2004

ASN. 1 Subtypes Introduction ASN. 1 • Subtypes MSC SDL TTCN Summary Single. Primes

ASN. 1 Subtypes Introduction ASN. 1 • Subtypes MSC SDL TTCN Summary Single. Primes : : = INTEGER (1, 2, 3, 5, 7) Duo. Bit. Char : : = IA 5 String ("0", "1", "2", "3") My. Byte : : = INTEGER (0. . 255) Parity. Byte : : = BIT STRING (SIZE (9)) Len 4 to 8 Oct : : = OCTET STRING (SIZE(4. . 8)) VT 100 text : : = SEQUENCE (SIZE(24)) OF Printable. String (SIZE(80)) Zdta : : = OCTET STRING (ENCODED BY zid) o FROM, Regular Expression o Component(s) - subset, size, present ISSSRE 04 WITUL - Rennes 01 November 2004

ASN. 1 Extensibility Introduction ASN. 1 • Extensibility MSC SDL TTCN Summary Simple :

ASN. 1 Extensibility Introduction ASN. 1 • Extensibility MSC SDL TTCN Summary Simple : : = SEQUENCE { head Header, data Payload, . . . } -- version 1 Simple SEQUENCE { head Header, data Payload, . . . , crc CRCcode } version 2 ISSSRE 04 WITUL - Rennes 01 November 2004

ASN. 1 Relationship to UML Introduction o ASN. 1 type = passive class (data

ASN. 1 Relationship to UML Introduction o ASN. 1 type = passive class (data type) ASN. 1 o Well-defined subtypes (=subsets) • Comparison MSC o Well-defined value notation o Designed with encoding in mind o Supports XML SDL TTCN Summary BUT o No Generalization (inheritance) Dependency Operations/Behaviour “Structure” ISSSRE 04 WITUL - Rennes 01 November 2004

MSC Introduction ASN. 1 MSC Message Sequence Chart Scenarios or tracing o Instance axes

MSC Introduction ASN. 1 MSC Message Sequence Chart Scenarios or tracing o Instance axes - Instance, time order o Messages - class (type)name [params] • output event, input event • no message instance name (usually) o Actions, conditions, timers, data, structure … msc example call control calling SDL iam incomplete sam setupind network setup TTCN setupcomp answer Summary call control called setupcomp answer ISSSRE 04 WITUL - Rennes 01 November 2004 ring answer

Instance: head, axis, end An instance Introduction ASN. 1 msc env_instances user 1 MSC

Instance: head, axis, end An instance Introduction ASN. 1 msc env_instances user 1 MSC • Basic service iam incomplete sam setup_ind user 2 instance head containing instance name instance axis ring instance end SDL user 2 TTCN Summary Time flow user 2: user 2 Alternative instance heads ISSSRE 04 WITUL - Rennes 01 November 2004 system telephony service

Instance: creation and stop Introduction ASN. 1 msc initiate_server client scheduler request (p 1,

Instance: creation and stop Introduction ASN. 1 msc initiate_server client scheduler request (p 1, 2) MSC • Basic createline symbol server instance parameters service_started SDL msc server_termination client service_stopping server TTCN stop Summary ISSSRE 04 WITUL - Rennes 01 November 2004

Messages: parameters, lost and found Introduction msc ASN. 1 MSC • Basic message symbol

Messages: parameters, lost and found Introduction msc ASN. 1 MSC • Basic message symbol use_server client server ask (p 2, 2) responding message name message parameters sloping symbol message overtaking resp 2 SDL resp 1 symbol with straight line segments ack myself TTCN flyball lost message symbol server kitchen message to self cookie optional intended target found message symbol optional supposed origin Summary ISSSRE 04 WITUL - Rennes 01 November 2004

Timers: start, restart, stop, time-outs msc show_timers Introduction ASN. 1 MSC • Timer timed

Timers: start, restart, stop, time-outs msc show_timers Introduction ASN. 1 MSC • Timer timed tmr use 2 t 2 SDL tmr use 1 [1, 10. 2] (x, y) tmr use 1(a, b) t 3 [0. 5] t 3 [1] TTCN tmr use 2 timer start symbol timer name timer instance name (optional) duration (optional) timer parameters (optional) timeout symbol separate from (re)start timer instance name&timer params timer name timeout symbol joined by vertical line to (re)start restart symbol joined by vertical line to (re)start timer name timer instance name (omitted) duration timer parameters (omitted) timer stop symbol joined by vertical line to (re)start timer stop symbol separate from (re)start Summary ISSSRE 04 WITUL - Rennes 01 November 2004

Timer: instance, duration, parameters msc success_cancelled Introduction call switch ASN. 1 MSC • Timer

Timer: instance, duration, parameters msc success_cancelled Introduction call switch ASN. 1 MSC • Timer SDL TTCN ts connected msc create_2_instances account filer ts 1 open(1) retry Examples of timer sequences • cancelled, expires • timer instances • duration • parameters msc cancel_instance_1 account filer ts 1 opened(1) msc cancel_instance _2 account filer ts 2 opened(2) Duration msc parameters_case account filer open (e) ts 2 open(2) msc duration_case account filer open ts [1, 1] Summary msc failure_expires call switch ts connect omitted - 0 to infinity [ min ] min to infinity [, max] - 0 to max [min, max] - min to max min must be <= max ISSSRE 04 WITUL - Rennes 01 November 2004 m (f) ts (a) ts (b)

Informal Action and MSC Conditions Introduction msc Connection_request ASN. 1 User MSC guarding condition

Informal Action and MSC Conditions Introduction msc Connection_request ASN. 1 User MSC guarding condition • Conditions SDL TTCN Summary Initiator Responder when disconnected CONreq CON informal action 'monitor carrier' setting condition wait ISSSRE 04 WITUL - Rennes 01 November 2004 CONind wait Net

MSC composition Introduction msc No_carrier ASN. 1 User MSC Initiator guarding condition when wait

MSC composition Introduction msc No_carrier ASN. 1 User MSC Initiator guarding condition when wait • Conditions ‘carrier fail’ SDL TTCN Summary DISind setting condition disconnected ISSSRE 04 WITUL - Rennes 01 November 2004

Global and Shared Conditions Introduction msc Connection_confirm ASN. 1 User Initiator Responder when wait

Global and Shared Conditions Introduction msc Connection_confirm ASN. 1 User Initiator Responder when wait MSC • Conditions SDL global condition msc Disconnection_a Net User Responder Net when connected when wait CONF(x) Initiator DISreq CONresp (x) 'reset carrier' DISreq 'reset carrier' CONconf (x) DISind disconnected msc Disruption User TTCN Initiator shared condition Summary ISSSRE 04 WITUL - Rennes 01 November 2004 Responder Net disrupt special disrupted

MSC reference name of referenced MSC Introduction ASN. 1 MSC • Reference SDL TTCN

MSC reference name of referenced MSC Introduction ASN. 1 MSC • Reference SDL TTCN msc Ref_example A B C D C ac 1 ab MSC_ref msc MSC_ref A m 1 gate 1 m 2 gate 2 m 3 ack 1 ok 1 ack 2 ok 2 cb gates MSC_ref expanded MSC reference m 2 gate 2 m 3 msc example_expanded A B C ab ac 1 D m 1 ack 1 ok 1 ack 2 ok 2 cb Summary m 1 gate 1 ISSSRE 04 WITUL - Rennes 01 November 2004 m 2 m 3

Example of MSC reference use msc Set. Up. Channel msc single_data_send Introduction Env Base

Example of MSC reference use msc Set. Up. Channel msc single_data_send Introduction Env Base Mobile Chn. Rsv Rsc. Rck ASN. 1 when Idle Cont. Dual Single. Dat. Req Look. Up. L Locked Set. Up. Channel MSC • Reference Sync. Request msc Exchange. Data Env Sync. ACK Base Dat. Packet Ready Mobile Route. B 2 M Route. Set connected SDL Enc. Dat. Pak Decode. ACK Dat. ACK Exchange. Data End. Dat Tear. Down. Channel TTCN msc Tear. Down. Channel Success Env Base Mobile Verf. TD Idle DCKDown Rls. Lock. Dslv Chn. Down Summary ISSSRE 04 WITUL - Rennes 01 November 2004

Reference expressions msc MSC_ref User Introduction ASN. 1 MSC reference expressions MSC TTCN Summary

Reference expressions msc MSC_ref User Introduction ASN. 1 MSC reference expressions MSC TTCN Summary Admin request seq ( refuse alt ( connect_start seq (monitor par negotiation ) seq completion)) disconnect par billing_record • Reference SDL Net MSC reference names MSC expression operators (request, monitor, disconnect) (alt, par, seq) Syntax for msc reference (slightly simplified): <msc reference area> : : = <msc reference symbol> contains <msc ref expr> : : = <msc ref par expr> { alt <msc ref par expr> }* <msc ref par expr> : : = <msc ref seq expr> { par <msc ref seq expr> }* <msc ref seq expr> : : = <msc ref ident expr> { seq <msc ref ident expr> }* <msc ref ident expr> : : = loop [ <loop boundary> ] <msc ref ident exp> | exc <msc ref ident expr> | opt <msc ref ident expr> | <msc name> | empty |( <msc ref expr> ) ISSSRE 04 WITUL - Rennes 01 November 2004

Reference expressions: alt, par, seq msc alt_combined Introduction User Net Establish ASN. 1 msc

Reference expressions: alt, par, seq msc alt_combined Introduction User Net Establish ASN. 1 msc alt_case_intranet User Net means the sequence Establish or msc alt_case_extranet User Net Establish Intranet alt Extranet Intranet Extranet Disconnect MSC where and msc Extrasnd msc par_combined msc Intrasnd • Reference User Net isend esend Intrasnd par Extrasnd ireceive ereceive SDL Covers the message sequences isend, ireceive, esend, ereceive or esend, ereceive, isend, ireceive or isend, esend, ireceive, ereceive or esend, isend, ereceive, ireceive or esend, ireceive, ereceive TTCN msc seq_combined User Net Intranet seq Extranet Summary means the msc seq_expanded same User Net as Intranet sequence Extranet ISSSRE 04 WITUL - Rennes 01 November 2004

Reference expressions: loop, exc, opt msc repeat User Net Establish Introduction loop <2, 5>

Reference expressions: loop, exc, opt msc repeat User Net Establish Introduction loop <2, 5> ASN. 1 Handshake msc repeat 2 User Net covers the Establish sequences Handshake msc repeat 3 User Net Establish Handshake Disconnect msc repeat 4 User Net Establish Handshake msc repeat 5 User Net Establish Handshake Handshake Disconnect Syntax MSC <loop boundary>: : = < { inf | <natural expression>} [ , inf | <natural expression> ] > • Reference msc exc_case User Net Establish SDL exc forced_end Disconnect TTCN msc opt_case User Net Establish opt networking Disconnect Summary means the sequence msc with_option User Net Establish forced_end or msc without_option User Net Establish Disconnect msc with_option User Net means the sequence Establish networking or Disconnect ISSSRE 04 WITUL - Rennes 01 November 2004 msc without_option User Net Establish Disconnect

Inline expressions Introduction ASN. 1 inline expression symbol operand keyword msc REPLY_A_BUSY User_A Network_A

Inline expressions Introduction ASN. 1 inline expression symbol operand keyword msc REPLY_A_BUSY User_A Network_A when Status_Check_A alt T_CCBS 1 <MSC expression> MSC • Inline FACILITY <MSC expression> Inline alt operator 2 alternatives SDL TTCN (Status. Request_Busy) T_CCBS 1 FACILITY (BFree_inv) Suspend separator symbol ‘suspend request in queue’ exc inline expression symbol exc ‘release B channel reservation’ CCBS_Activated <MSC expression> Summary Network_B ISSSRE 04 WITUL - Rennes 01 November 2004

Nested and guarded inline expressions msc SUSPENSION User_A Introduction ASN. 1 MSC • Inline

Nested and guarded inline expressions msc SUSPENSION User_A Introduction ASN. 1 MSC • Inline SDL TTCN Summary guarding condition on a sequence in an inline expression Setting this condition terminates the loop Network_B when User_A_busy FACILITY (Status. Request_Inv) B_channel_released T_CSSB 1 Wait_A_free loop <0, inf> when Wait_A_free alt nested inline expression Network_A T_CSSB 1 FACILITY (Status. Request_Inv) T_CSSB 1 FACILITY (Status. Request_Busy) T_CSSB 1 FACILITY (Status. Request_Free) A_free T_CSSB 1 RESUME_Reqind CBBS_Activated ISSSRE 04 WITUL - Rennes 01 November 2004

Simple coregion msc Last_party_release Introduction Caller_A ASN. 1 Switch Release MSC coregion Caller_B Billing

Simple coregion msc Last_party_release Introduction Caller_A ASN. 1 Switch Release MSC coregion Caller_B Billing Release Bill • coregion SDL TTCN o o o Summary A coregion on an instance axis indicates that any event order is allowed; All events in the coregion take place before any event after the coregion; In a simple coregion there is no causal relationship between events. ISSSRE 04 WITUL - Rennes 01 November 2004

HMSC hmsc line symbol 2 Introduction An HMSC is a directed graph where each

HMSC hmsc line symbol 2 Introduction An HMSC is a directed graph where each node is: hmsc line symbol 1 msc CCBS_SERVICE hmsc start symbol, symbol (distinguishes hmsc/msc ) or ASN. 1 CCBS_ Idle hmsc end symbol, symbol (not shown here) or REQUEST MSC when CCBS_Requested msc reference symbol, symbol • HMSC SDL ACTIVATION alt REJECT when CCBS_ Activated MONITORING DEACTIVATION INVOCATION when CCBS_ Idle CANCEL when CCBS_ Free TTCN or condition symbol, symbol or connection point symbol, symbol or par frame symbol (explained later) Summary ISSSRE 04 WITUL - Rennes 01 November 2004

References and Referenced MSCs Reference in CCBS_Service: Introduction ASN. 1 ACTIVATION alt REJECT Referenced

References and Referenced MSCs Reference in CCBS_Service: Introduction ASN. 1 ACTIVATION alt REJECT Referenced MSCs msc ACTIVATION User_A Network_B when CCBS_Requested CCBS_Activated MSC • HMSC SDL Network_A FACILITY (Request_RR) Request_Resp. Conf ‘Add to queue’ T_CCBS 2 [10. 15] The guarding conditions ensure entry only happens when in condition CCBS_Requested: CCBS_Activated msc REJECT User_A TTCN CCBS_Not_ _Activated Network_A when CCBS_Requested Reject FACILITY (Reject) CCBS_Idle Summary ISSSRE 04 WITUL - Rennes 01 November 2004 Network_B

Referenced HMSC: Monitoring msc MONITORING CBBS_Activated CHECK_STATUS_B Introduction REPLY_B_FREE ASN. 1 when CBBS_Await_Status REPLY_B_BUSY

Referenced HMSC: Monitoring msc MONITORING CBBS_Activated CHECK_STATUS_B Introduction REPLY_B_FREE ASN. 1 when CBBS_Await_Status REPLY_B_BUSY REPLY_B_STILL_FREE when USER_B_Busy MSC • HMSC SDL Recall hmsc end symbol REPLY_A_BUSY when User_A_Free when USER_A_Busy CBBS_Free SUSPENSION msc REPLY_B_FREE msc CHECK_STATUS_B Start_CCBS_ _Processing to status request agent from basic call ‘reserve B channel’ msc REPLY_B_BUSY Network_B when CCBS_activated shared all Summary REPLY_A_FREE Monitoring of user A Network_B TTCN when Status_Check_A STATUS (request) from status request agent STATUS (confirm_free) Network_B from status request agent STATUS (confirm_busy) T_CSSB 4 to status request agent STATUS (request) CCBS_Await_Status shared all ISSSRE 04 WITUL - Rennes 01 November 2004 ‘release B-channel reservation’ User_B_busy shared all

HMSC parallel frame msc TIME_SUPERVISION Introduction ASN. 1 MSC Multiple HMSC sequences in parallel

HMSC parallel frame msc TIME_SUPERVISION Introduction ASN. 1 MSC Multiple HMSC sequences in parallel TIMER CONNECTION_SETUP msc TIMER • HMSC SDL msc CONNECTION_SETUP Net_B User_B off_hook when B_is_Free digit T_CCBS 4 seizure_int ack STATUS TTCN (req) answer STATUS (confirm_busy) CBBS_B_idle Summary ISSSRE 04 WITUL - Rennes 01 November 2004 connection

Other MSC features and relationship with UML & SDL Introduction ASN. 1 MSC Other

Other MSC features and relationship with UML & SDL Introduction ASN. 1 MSC Other features o Method Calls, Data, Formal Actions o Time Intervals, Multiple Conditions o MSC Document, Instance Decomposition Relationships • Comparison SDL TTCN Summary o Almost = UML Sequence Diagrams o o Data binding with SDL (but not ASN. 1) Messages = SDL signals, Events = SDL? SDL timers weaker? No intervals in SDL Weak on multiple instances ISSSRE 04 WITUL - Rennes 01 November 2004

SDL Introduction ASN. 1 MSC SDL TTCN Summary Specification and Description Language o Structure

SDL Introduction ASN. 1 MSC SDL TTCN Summary Specification and Description Language o Structure and types • for abstraction and information hiding, or as a requirement • support reuse of designs o Behaviour • stimulus/response • sequence • timing o Data • information structuring • meaning o Interfaces • environment • communication paths • signals (messages) ISSSRE 04 WITUL - Rennes 01 November 2004

Structure & Types(1) diagram heading Introduction ASN. 1 page number block type example gate

Structure & Types(1) diagram heading Introduction ASN. 1 page number block type example gate [(s 1)] MSC SDL • Structure g 1 c 1 [(s 1)] [(s 3)] c 3 y p: P 2 x g 2 [(s 3)] 2(4) 1(4) r b: B 1 s c 2 [(s 2)] process (instance) channel <<block>> B 2 B 1 4(4) <<process>> Ps 1 P 2 Ps 2 block type can contain block, block type, process type, other items, types … /*icon /*SDL-92 version*/ Summary block (instance) signallist block type example TTCN 3(4) ISSSRE 04 WITUL - Rennes 01 November 2004

Structure & Types(2) process type P 2 1(1) [(s 3)] Introduction ASN. 1 P

Structure & Types(2) process type P 2 1(1) [(s 3)] Introduction ASN. 1 P 2 y [(s 2)] x state (type) or procedure cannot contain block, block type, process type. MSC procedure Pr p 2 TTCN Summary [(s 1)] p initial Pr Pr e 1 initial a If the types are only used once a short hand can be used. system example c 3 [(s 3)] 1(21) e 2 pr 1 c 1 state P 2 1(1) pr 1 SDL • Structure process type cannot contain block, block type. [(s 2)] 1(4) B 1 c 2 process p /*normal*/ 1(21) initial Pr Pr e 1 initial a ISSSRE 04 WITUL - Rennes 01 November 2004

Structure & Types(3) o types type define the properties of a generic Introduction 1

Structure & Types(3) o types type define the properties of a generic Introduction 1 (2) agent (system, block, process), service, package term_to_nw (composite) state, object or value type, or abstract ASN. 1 procedure or signal or interface (note: handler these last 3 are “types”). Types can be reused. o Class symbols can be used to refer to the definition of the type showing some of its MSC attribute and behaviour properties. >1 1 user network Kind shown by icon or stereotype. link o Associations can exist between types. o inherits specializes a type to a sub-type: - by actuals for parameters of the type; SDL - or, adding properties in the sub-type; 1 (3) block type user • Structure - or, redefining a virtual type or transition, inherits handler adding and can be shown by a relation symbol. o virtual or redefined types or transitions in a type can be redefined in sub-types. TTCN o atleast can constrain parameters used for user_agent: redefined redefinition. Agent<maxuser> pdu 2 lower o abstract and parameterized types must be specialized before use. agents etc. can be based on types. Summary ISSSRE 04 WITUL - Rennes 01 November 2004

Key feature: Behaviour Extended finite state machine: EFSM o Start (symbol) Introduction followed by

Key feature: Behaviour Extended finite state machine: EFSM o Start (symbol) Introduction followed by initialisation going to ASN. 1 o State (symbol) where the machine waits until an process signal_unit_error_rate_monitor DCL c /*SUERM count*/, n /* Correct SU count*/ Natural; DCL t Natural : =suerm_threshold; 00_idle Start_ _suerm MSC Input stimulus (a Signal) Signal of the state as defined by the attached Input Symbols Symbol is available in the input queue. SDL o the Transition, Transition to the next State • Behaviour consumes the first such signal and interprets its actions such as each Task (symbol) or Decision (symbol) or TTCN Output (symbol) sending a signal leading to the Next. State or a o Stop (symbol) terminating the process 01_in_ _service o Summary Stop_ _suerm SU_in_ _error Correct_ _SU c: =c+1 c=0 c=t true false Link_ _failure 00_idle ISSSRE 04 WITUL - Rennes 01 November 2004 1(1) true false n: =n+1 n=256 false true c: =c-1, n: =0

Key SDL-2000 feature: Data Used in o Variables (owned by processes) Introduction o Parameters

Key SDL-2000 feature: Data Used in o Variables (owned by processes) Introduction o Parameters (for example in signals) Built-in with defined operations ASN. 1 o Boolean, Character, Charstring, Integer, Natural, Real, Duration, Time, Bitstring, Octetstring, Pid (agent references) MSC Build-in parameterised with operations o Strings (lists) of any type (not just characters) indexed by Naturals o Arrays SDL of any type indexed by any type • Data o Structures (records) with optional (and default) fields o Choice Structure with all fields optional TTCN o Powerset, Bag (maths. set and bag) User defined sorts of data with operations o Object type - elements are references o Value type - elements are values o Syntype - check on range of values Summary object type Linkedlist <type Elementsort> struct prev, next this Linkedlist; data Elementsort; operators "in" (Elementsort, Linkedlist) ->Boolean; methods delete (Elementsort); operator "in" referenced; method delete referenced; endobject type Linkedlist; object type Natlist inherits Linkedlist <Natural> endobject type Natlist; dcl primes Natlist : = (. Null, 1. ); ISSSRE 04 WITUL - Rennes 01 November 2004

Example: Bit-stuffing System Introduction ASN. 1 MSC SDL • Example TTCN Summary Bits are

Example: Bit-stuffing System Introduction ASN. 1 MSC SDL • Example TTCN Summary Bits are received one at a time for link transmission over a 100% reliable medium and are delivered at the other end of the link one at a time. When the system is ready to send a bit, but there is no bit ready to send, 5 identical bits are sent as a filler. The fillers alternate between ones and zeros. If the last payload bit sent was a one, a zeros filler is sent, if it was a zero - a ones filler. If no bit has ever been sent either filler can be sent. If there are 4 consecutive identical payload bits, a extra bit is inserted before the next bit to avoid the payload being interpreted as a filler. ISSSRE 04 WITUL - Rennes 01 November 2004

Signals Introduction SIGNAL ASN. 1 SIGNAL MSC SDL • Example TTCN Summary payload_0, payload_1;

Signals Introduction SIGNAL ASN. 1 SIGNAL MSC SDL • Example TTCN Summary payload_0, payload_1; line_0, line_1; /* The payload_0 signal represents a zero Bit to be transmitted, and the payload_1 signal represents a one Bit. Similarly, the line_0 signal represents a zero Bit sent the line, and line_1 signal represents a one Bit. */ ISSSRE 04 WITUL - Rennes 01 November 2004

State machine classes: Send_Bit and Receive_Bit Introduction ASN. 1 MSC payload_0, payload_1 bits_in SDL

State machine classes: Send_Bit and Receive_Bit Introduction ASN. 1 MSC payload_0, payload_1 bits_in SDL • Example <<STATE>> Send_Bit line_0, line_1 to_line_0, line_1 <<STATE>> Receive_Bit from_line transmission TTCN Summary ISSSRE 04 WITUL - Rennes 01 November 2004 payload_0, payload_1 bits_out

Introduction ASN. 1 MSC Finite state machine SDL • Example TTCN Summary ISSSRE 04

Introduction ASN. 1 MSC Finite state machine SDL • Example TTCN Summary ISSSRE 04 WITUL - Rennes 01 November 2004

Initialisation Introduction ANY expression ASN. 1 MSC SDL • Example TTCN Summary ISSSRE 04

Initialisation Introduction ANY expression ASN. 1 MSC SDL • Example TTCN Summary ISSSRE 04 WITUL - Rennes 01 November 2004

Extended finite state machine: Bit. Stuff Introduction ASN. 1 2(3) MSC SDL to_line bits_in

Extended finite state machine: Bit. Stuff Introduction ASN. 1 2(3) MSC SDL to_line bits_in payload_0, payload_1 line_0, line_1 • Example TTCN STATE TYPE Data defined nbits SYNONYM Data reduces states Summary ISSSRE 04 WITUL - Rennes 01 November 2004 Gates

Type inheritance: Send_Bit Introduction ASN. 1 MSC Taken if no signal SDL • Example

Type inheritance: Send_Bit Introduction ASN. 1 MSC Taken if no signal SDL • Example TTCN INHERITANCE Summary Continuous Signal Comment ISSSRE 04 WITUL - Rennes 01 November 2004 Text extension

Process Type with type-based State Introduction ASN. 1 MSC SDL • Example TTCN Summary

Process Type with type-based State Introduction ASN. 1 MSC SDL • Example TTCN Summary bits_in payload_0, payload_1 Reference to state type Send_Bit: Send_Bit to_line Channels without names or signals ISSSRE 04 WITUL - Rennes 01 November 2004 to_line_0, line_1 Use of gates on type-based state machine of process

Agent instances based on process types Introduction ASN. 1 MSC SDL • Example TTCN

Agent instances based on process types Introduction ASN. 1 MSC SDL • Example TTCN Summary Process in system signal definitions ISSSRE 04 WITUL - Rennes 01 November 2004 Synonym

Removing process types Introduction ASN. 1 MSC SDL • Example TTCN A process that

Removing process types Introduction ASN. 1 MSC SDL • Example TTCN A process that is not type based has an implied process type of the same name. Summary ISSSRE 04 WITUL - Rennes 01 November 2004

Removing the composite state Introduction ASN. 1 MSC SDL • Example TTCN Summary ISSSRE

Removing the composite state Introduction ASN. 1 MSC SDL • Example TTCN Summary ISSSRE 04 WITUL - Rennes 01 November 2004

Language relationships Introduction o Specify - Implement - Test? ASN. 1 o Supports ASN.

Language relationships Introduction o Specify - Implement - Test? ASN. 1 o Supports ASN. 1 - adds operations MSC o Support for data in tools? Unified data? o Adds action semantics to UML • Other Langs. o Some possible variations/additions e. g. • Message guarding, VIA Gate • Remote procedure as basic stimulus TTCN o Too complex? Too weak? SDL o Time intervals - performance issues Summary ISSSRE 04 WITUL - Rennes 01 November 2004

TTCN-3 Testing and Test Control Notation Introduction ASN. 1 MSC SDL o Contents •

TTCN-3 Testing and Test Control Notation Introduction ASN. 1 MSC SDL o Contents • What is TTCN-3 ? • The TTCN-3 series of standards • Concepts • Structure of TTCN-3 specs • TTCN-3 extensions under discussion • Conclusions and tool providers TTCN Summary ISSSRE 04 WITUL - Rennes 01 November 2004

What is TTCN-3 ? Introduction ASN. 1 MSC SDL TTCN • Standards Summary o

What is TTCN-3 ? Introduction ASN. 1 MSC SDL TTCN • Standards Summary o The standardised (black-box) test specification and test implementation language. o Developed • by the European Telecommunications Standards Institute (ETSI) from 1999 to 2001. • based on the experiences from previous TTCN versions. o Applicable for all kinds of black-box testing for reactive and distributed systems, e. g. • Telecom systems (ISDN, ATM); • Mobile (telecom) systems (GSM, UMTS); • Internet (has been and is applied to IPv 6); • CORBA based systems. ISSSRE 04 WITUL - Rennes 01 November 2004

TTCN-3 series of standards 1(3) Introduction ASN. 1 Types & Values MSC Other Types

TTCN-3 series of standards 1(3) Introduction ASN. 1 Types & Values MSC Other Types & Values 2 SDL Other Types & Values 3 TTCN • Standards Other Types & Values n Summary TTCN-3 Core Notation Tabular Format Graphical Format Presentation Format n ISSSRE 04 WITUL - Rennes 01 November 2004 TTCN-3 User

TTCN-3 series of standards 2(3) Introduction msc mi_synch 1_conc 1 ASN. 1 Types &

TTCN-3 series of standards 2(3) Introduction msc mi_synch 1_conc 1 ASN. 1 Types & Values MSC Other Types IDL mtc TTCN-3 Core Notation ISAP 1 MSAP 2 Tabular Format & Values 2 SDL : testcase my. Testcase runs on MTCType system TSIType Other()Types { mydefault : = & Values 3 activate (Otherwise. Fail); verdict. set(pass); XML TTCN • Standards : connect(PTC_ISAP 1: CP_ISAP 1, mtc: CP_ISAP 1); : map(PTC_ISAP 1: ISAP 1, system: TSI_ISAP 1); : Other Types PTC_ISAP 1. start(func_PTC_ISAP 1()); & Values n PTC_MSAP 2. start(func_PTC_MSAP 2()); Synchronization(); all component. done; log(”Correct Termination”); C/C++ Graphical Format Presentation UML Format n Testing Profile } : Summary ISSSRE 04 WITUL - Rennes 01 November 2004 TTCN-3 User

TTCN-3 series of standards Introduction o European Standard (ES) in 10 parts ASN. 1

TTCN-3 series of standards Introduction o European Standard (ES) in 10 parts ASN. 1 • ES 201 873 -1: • ES 201 873 -2: MSC • ES 201 873 -3: SDL TTCN • Standards Summary 3(3) TTCN-3 Core Language TTCN-3 Tabular Presentation Format (TFT) TTCN-3 Graphical Presentation Format (GFT) • ES 201 873 -4: • ES 201 873 -5: • ES 201 873 -6: TTCN-3 Operational Semantics TTCN-3 Runtime Interface (TRI) TTCN-3 Control Interface (TCI) • • Using ASN. 1 with TTCN-3 Using IDL with TTCN-3 Using XML with TTCN-3 Using C/C++ with TTCN-3 (planned) ES ES 201 201 873 -7: 873 -8: 873 -9: 873 -10: ISSSRE 04 WITUL - Rennes 01 November 2004

Black-box testing with TTCN-3 Introduction ASN. 1 TTCN-3 Test Case MSC Port. send(Stimulus) Port.

Black-box testing with TTCN-3 Introduction ASN. 1 TTCN-3 Test Case MSC Port. send(Stimulus) Port. receive(Response) • Assignment of a Test Verdict SDL Port TTCN • Concepts Summary System Under Test ISSSRE 04 WITUL - Rennes 01 November 2004

Test configuration Introduction ASN. 1 SUT TTCN-3 Test Case create start MSC SDL TTCN

Test configuration Introduction ASN. 1 SUT TTCN-3 Test Case create start MSC SDL TTCN TC create start MTC TC TCs create start • Concepts Summary ISSSRE 04 WITUL - Rennes 01 November 2004 1(2)

Test configuration 2(2) Introduction ASN. 1 Test System MSC TC 1 IN OUT Connected

Test configuration 2(2) Introduction ASN. 1 Test System MSC TC 1 IN OUT Connected Ports TC 2 OUT IN OUT Mapped Ports SDL Abstract Test System Interface TTCN • Concepts Summary OUT Real Test System Interface SUT ISSSRE 04 WITUL - Rennes 01 November 2004 IN IN

Test verdicts Introduction o Test verdicts: none < pass < inconc < fail <

Test verdicts Introduction o Test verdicts: none < pass < inconc < fail < error ASN. 1 o Each test component has its own local verdict, which can be set and read. o A test case returns a global verdict MSC SDL Verdict returned by the test case when it terminates TTCN P FI MTC F PTC 1 P PTCN I • Concepts setverdict(fail) Summary setverdict(pass) ISSSRE 04 WITUL - Rennes 01 November 2004 setverdict(inconc)

Ingredients of TTCN-3 Introduction ASN. 1 TTCN-3 Data Types MSC Test Data SDL Test

Ingredients of TTCN-3 Introduction ASN. 1 TTCN-3 Data Types MSC Test Data SDL Test Configuration Test Behavior TTCN • Structure Summary o Built-in and user-defined generic data types (e. g. , to define messages, service primitives, information elements, PDUs). o Actual test data transmitted/received during testing. o Definition of the components and communication ports that are used to build various testing configurations. o Specification of the dynamic test system behavior. ISSSRE 04 WITUL - Rennes 01 November 2004

Structure of TTCN-3 specs – TTCN-3 Modules 1(2) Introduction ASN. 1 Module MSC SDL

Structure of TTCN-3 specs – TTCN-3 Modules 1(2) Introduction ASN. 1 Module MSC SDL Module Definitions Module Control o Modules are the building blocks of all TTCN-3 test specifications. o A test suite is a module. o A module has a definitions part and an (optional) control part. o Modules can be parameterized. o Modules can import definitions from other modules. TTCN • Structure Summary ISSSRE 04 WITUL - Rennes 01 November 2004

Structure of TTCN-3 specs – TTCN-3 Modules 2(2) Introduction module Example { ASN. 1

Structure of TTCN-3 specs – TTCN-3 Modules 2(2) Introduction module Example { ASN. 1 MSC SDL modulepar { integer Par_One, Par_Two; boolean Par_Three : = true } import from Another. Module { … } … // all definitions Module parameter definitions with and without default value Import statement control { … // execution of test cases } TTCN } • Structure Summary ISSSRE 04 WITUL - Rennes 01 November 2004 Definitions part Control part

Structure of TTCN-3 specs – Module definitions part Module Definitions Introduction ASN. 1 Data

Structure of TTCN-3 specs – Module definitions part Module Definitions Introduction ASN. 1 Data Types Constants Signatures MSC Data Templates Signature Templates SDL Communication Ports Test Components TTCN Functions Altsteps • Structure Summary o Module definitions are global to the entire module. o Data Type definitions are based on TTCN-3 predefined and structured types. o Templates define the test data. o Ports and Components are used in Test Configurations. o Functions, Altsteps and Test Cases define behavior. Test Cases ISSSRE 04 WITUL - Rennes 01 November 2004

Structure of TTCN-3 specs – Module control part 1(2) Introduction ASN. 1 Module MSC

Structure of TTCN-3 specs – Module control part 1(2) Introduction ASN. 1 Module MSC SDL TTCN Module Definitions Module Control o Module control is the ‘dynamic’ part of a TTCN-3 specification where the test cases are executed. o Local declarations, such as variables and timers may be made in the control part. o Basic programming statements may be used to select and control the execution of the test cases. • Structure Summary ISSSRE 04 WITUL - Rennes 01 November 2004

Structure of TTCN-3 specs – Module control part Introduction ASN. 1 module … {

Structure of TTCN-3 specs – Module control part Introduction ASN. 1 module … { … MSC control{ var integer count; if(execute(SIP_UA_REC_V_001()) == pass) { SDL TTCN // Execute test case 10 times count : = 0; while( count <= 10) { execute(SIP_UA_REC_V_002()); count : = count + 1; } // end while } // end if } // end control } // end module • Structure Summary ISSSRE 04 WITUL - Rennes 01 November 2004 2(2)

TTCN-3 extensions Work items in standardization Introduction ASN. 1 MSC o Language extensions mechanisms

TTCN-3 extensions Work items in standardization Introduction ASN. 1 MSC o Language extensions mechanisms • Packages and profiles o Better performance o Extended communication mechanisms SDL TTCN o Real-time extensions • Absolute time support • Time-constrained operations • Broadcast / multicast (edition 3. 0. 0) • Synchronization / coordination (edition 3. 0. 0) testing support • Implicit test configuration • Implicit communication • Performance measurement New edition 3. 0. 0 of TTCN-3 in 2005 • Future Summary ISSSRE 04 WITUL - Rennes 01 November 2004

Conclusions Introduction o TTCN-3 finds its way into practice ASN. 1 o Lots of

Conclusions Introduction o TTCN-3 finds its way into practice ASN. 1 o Lots of interest from industry and academia o Mature TTCN-3 standard MSC SDL TTCN • Future Summary o Stimulates further research & development • New application domains, e. g. automotive • Real-time and performance testing • Test patterns o Still possibilities to shape the future TTCN-3 • TTCN-3 mailing list and change requests (see http: //www. etsi. org/ptccttcn 3. htm) • TTCN-3 homepage: http: //www. ttcn 3. org ISSSRE 04 WITUL - Rennes 01 November 2004

Current TTCN-3 tool providers Introduction ASN. 1 MSC SDL TTCN • Future Summary o

Current TTCN-3 tool providers Introduction ASN. 1 MSC SDL TTCN • Future Summary o Tool providers • Danet • Da. Vinci Communication • Open TTCN • Telelogic • Testing Technologies • Strategic Test Solutions o Existing test devices with TTCN-3 support (for telecommunication applications) • • Alcatel A 1100 Navtel Inter. Watch Nethawk Tektronix G 20 o Internal tools used by • Nokia • Ericsson • Motorola ISSSRE 04 WITUL - Rennes 01 November 2004

TTCN-3 User Conference 2005 http: //www. ttcn-3. org/ ISSSRE 04 WITUL - Rennes 01

TTCN-3 User Conference 2005 http: //www. ttcn-3. org/ ISSSRE 04 WITUL - Rennes 01 November 2004

Work shop discussion Introduction ASN. 1 MSC SDL TTCN Summary Although the ITU-T languages

Work shop discussion Introduction ASN. 1 MSC SDL TTCN Summary Although the ITU-T languages are used togethere is scope for harmonisation o Will the planned UML profiles help? o What is the impact of metalanguages? o ASN. 1 for everything? o ITU-T & OMG: partners or competitors? o What methodology is appropriate? o How much automation? o How is reliability/security assessed? ISSSRE 04 WITUL - Rennes 01 November 2004