180 likes | 311 Views
Graphical Format of TTCN-3 - Status -. Ina Schieferdecker. Contents. Overview on GFT GFT at ETSI GFT at ITU-T GFT at OMG. msc. mi_synch1_conc1. mtc. ISAP1. MSAP2. TTCN-3. Core notation. Tabular format. ASN.1 Types & Values. Other Types & Values 2. Graphical format. :
E N D
Graphical Format of TTCN-3- Status - Ina Schieferdecker
Contents • Overview on GFT • GFT at ETSI • GFT at ITU-T • GFT at OMG
msc mi_synch1_conc1 mtc ISAP1 MSAP2 TTCN-3 Core notation Tabular format ASN.1 Types & Values Other Types & Values 2 Graphical format : testcase mi_synch1_conc1 () runson MTCType_conc system TSIType { activate (OtherwiseFail); verdict.set(pass); : connect(PTC_ISAP1:CP_ISAP1,mtc:CP_ISAP1); : map(PTC_ISAP1:ISAP1, system:TSI_ISAP1); : PTC_ISAP1.start(func_PTC_ISAP1()); PTC_MSAP2.start(func_PTC_MSAP2()); Synchronization(); allcomponent.done; log(”Correct Termination”); } : TTCN-3 User Other Types & Values n Presentation formatn
GFT v1 • Supported the global and the local view on test components
testcase vertical_split_example system TSI_Type function caller_behaviour UA_type mtc UA_type self Caller:= UA_type.create start map(mtc:SIP_PCO,system:CALLEE_PCO); map(Caller:SIP_PCO,system:CALLER_PCO); connect(mtc:COORD,Caller:COORD); Mydefault :=activate(Default_1) COORD<redirected_1 SIP_PCO>Invite_s_2 Mydefault :=activate(Default_1) Caller.start (caller_behaviour) alt SIP_PCO>Redirect_s_1 SIP_PCO<Redirection_r_1 SIP_PCO<OK_Redirect_r_1 SIP_PCO<Response_r_2 COORD>redirected_1 fail Caller.done pass pass Local View on Components
testcase no_vertical _split system TSI_Type UA_type mtc UA_type Caller create map(mtc:SIP_PCO,system:CALLEE_PCO); map(Caller:SIP_PCO,system:CALLER_PCO); connect(mtc:COORD,Caller:COORD); pass Mydefault :=activate(Default_1) start (caller_behaviour) SIP_PCO>Redirect_s_1 pass Mydefault :=activate(Default_1) SIP_PCO<OK_Redirect_r_1 COORD>redirected_1 SIP_PCO>Invite_s_2 alt SIP_PCO<Redirection_r_1 SIP_PCO<Response_r_2 fail Caller.done Global View on Components
GFT v1 • Supported the global and the local view on test components • global view turned out to be hard to handle: interpretation with MSC semantics is problematic • Defined new symbols for ports and defaults • is hard to read as it does not visualize all test specific aspects
Revision of GFT • Make it simpler • not so many options to represent test behavior • Converge with MSC • take the local view only • Improve the visualization • define new symbols where appropriate • Enable a one-to-one mapping (up to graphical placement) between CN and GFT • Revise the main document to ease the readability
Function declaration function internetUser() runs on InternetType timer Tvisit; varinteger orderNr; var PizzaDeliveryType thePizza; Local variables and timers CP P2 self P1 InternetType pCPtype iPCOtype dPCOtype var default def1 := activate (StandardDefault()) Test component Ports def2 := activate (InternetDefault()) Call Tvisit (OverallDuration) call call StandardInetOrder maxConnectTime getreply iNetOrder Getreply (? value:?) -> value orderNr Call statement pass catch iNetorder Catch (ReasonType:?) fail Timeout inconc Example (1) Default activation Timer start Verdict settíng
var InternetType newPTC := InternetType.create; connect(self:CP, newPTC:CP); map(newPTC:P1, system:iPCO) newPTC.start (internetUser()) activePTCs := activePTCs+1; createdPTCs := createdPTCs+1; Example (2) function newInternetPTC() runs on MtcType self MtcType Component creation Component creation Function return
testcase MyTestCase (in boolean internetService, in boolean phoneService, in boolean restaurantService, in integer totalNrCreatedPTCs, in integer maxNrActivePTCs, inout integer nrPass, inout integer nrFail, inout integer nrInc) runs on MtcType system TestSystemtype var reportType report Page 1(2) CP mtc P1 mCPtype mPCOtype MtcType var default def := activate (StandardDefault()) map(self:P1, System:mPCO) if(internetservice) newInternetPTC() Example (3) Testcase declaration Configuration setup If statement
execute(TestCase1(..)) Example (4) Module control declaration Test case execution module MyModule control MyHelperControlFunction Function invocation
GFT v2 Main Document • Main sections • Overview • GFT language concepts • Module structure • GFT symbols • Kinds of GFT diagrams • Kinds of instances in GFT diagrams • Details of GFT diagrams • Use of GFT • Mapping GFT to TTCN-3 Core Notation • Mapping GFT to TTCN-3 Core Notation • Annex • Annex A (normative): GFT BNF • Annex B (normative): Reference Guide for GFT • Annex C (normative): Mapping Rules from GFT to TTCN-3 Core Notation • Annex D (normative): Mapping Rules from GFT to TTCN-3 Core Notation • Annex E (informative): Examples
GFT at ETSI (1) • The STF 187 Team • Paul Baker (Motorola) • Jens Grabowski (Uni Luebeck) • Tamas Kasza (Ericsson) • Claude Martin (Actimage) • Johan Nordin (Telelogic) • Ekkart Rudolph (Uni Munich) • Ina Schieferdecker (FOKUS)
GFT at ETSI (2) • Two working sessions completed, next working session in Nov. 2001 • Just one comment received so far • GFT v2 by end of Dec. 2001 • ToDo‘s • Define graphical grammar • Define mapping GFT to CN • Define mapping CN to GFT • 1mm in addition, assignment will be discussed at the next working session
GFT at ITU-T • Objective: convergence of MSC and GFT • Solution: local view only • Some phone discussion with Clive showed that this is an acceptable solution
GFT at OMG • UML Testing Profile RfP adopted in July • So far, the following companies submitted LoI • Rational • Motorola • Softeam • Telelogic • Fraunhofer FOKUS • LoI deadline is Nov., 9th • 1st submission is due to Apr., 1st • Proposed working meeting, week 48 in Berlin