TTCN-3 Test Case Generation
from Message Sequence Charts
Michael Ebner
Institute for Informatics · University of Göttingen · Germany
ISSRE2004 - WITUL
Overview
Concept
Mapping of MSC to TTCN-3
Related Concepts
Graphical Format of TTCN-3 (GFT)
UML Testing Profile (UTP)
Comparison
Summary
TTCN-3 Test Case Generation from MSCs 2
Unified Modeling Language (UML)
Use Cases
Telephone Catalog Unit Test
Check Status
Salesperson
Place Order
Classes
Customer
Testing
Shipping Clerk
Fill Orders
Establish Credit Supervisor
cart client
ShoppingCart Customer
customerOrder
cartOrder
1 1
1..*
System Test
0..1
OrderHeader {xor}
0..*
order 1 1..*
1 accountOrder organizationOrder 1
Account account Organization
client
ite
m *
LineItem
Sequences service
serviceItem
1
1
{xor}
1 productItem
product 1
States
Service Product ReadAmountSM
sd N
abort
s[u]:B s[k]:B
selectAmount otherAmount
Integration
m3()
m3()
amount
ok
enterAmount abort
aborted
Test
TTCN-3 Test Case Generation from MSCs 3
UML-based Test Specification
UML
map
Sequence, Activity,
Class Diagram and Interaction Overview
Diagram
WSDL map map
IDL MSC
use generate
CORBA
TTCN-3 TTCN-3
Data Behaviour
TTCN-3 Test Case Generation from MSCs 4
Overview
Concept
Mapping of MSC to TTCN-3
Related Concepts
Graphical Format of TTCN-3 (GFT)
UML Testing Profile (UTP)
Comparison
Summary
TTCN-3 Test Case Generation from MSCs 5
MSC Test Purpose Description
PCOs SUT
(Points of Control and Observation) (System Under Test)
PCO_X PCO_Y PCO_Z SUT-P1 SUT-P2
TTCN-3 Test Case Generation from MSCs 6
Message Descriptions
Matching mechanisms
are only allowed for
[] messages to be
SUT.
[]
TTCN-3 Test Case Generation from MSCs 7
Mapping I
MSC TTCN-3
Basic MSC Testcase(s)
HMSC Testcase calls (control part)
instance axis represents a port (PCO)
note, comment, text comment
comment (ttcn-3,begin,position)
chart name Testcase name
instance kind component name or SUT
flow control call or getreply procedure
instance creation create component
TTCN-3 Test Case Generation from MSCs 8
Mapping II
MSC TTCN-3
Message Send or receive message
Flow control call or getreply procedure
(Synchronise) Condition Synchronising
Timer Timer (start, stop, timeout)
Action TTCN-3 Statements
Coregion Interleave
Alternative, Option, Alternative (incl. sync.)
and Exception
Loop For or While loop (incl. sync.)
MSC reference Function call
TTCN-3 Test Case Generation from MSCs 9
Example I – Mapping of MSC
testcase InresRTexample() runs on inres {
var float sendTime1:=-1.0;
var integer iterator1:=0;
for (iterator1:=0; iterator1>
sd Conf_Default
>
> >Master1_BT
> > Master2_BT
> >
: Slave : Slave : Slave : co: Test-
Location self
sa: Slave sr: Slave hw: Slave M1
: Master M2 : Master M3
Application BTRoaming BT-HW Server
Application BTRoaming BT-HW Coordinator Master
:BT-HW : Master BT-HW : Master
alt con_confirm(*)
T(6s)
>
ref
Connect_To_Master(M1) fail
data
ref *
Good_Link_Quality
data >
inconc
ref
Bad_Link_Quality
con_request
con_request
con_request
con_request
con_accept
con_confirm
con_confirm
>
con_confirm(M3)
Conf_Default
ref
ref
makeList
roamingList(RList,Slave)
roamingList(RList)
T
>
pass
TTCN-3 Test Case Generation from MSCs 20
UTP Outlook
Upcoming tool support:
IBM/Rational: Eclipse Project Hyades
Telelogic: Tau G2
Microsoft: Visual Studio
Daimler/FOKUS/Nokia/TestingTech:
ITEA-Project TT-Medal
TTCN-3 Test Case Generation from MSCs 21
Overview
Concept
Mapping of MSC to TTCN-3
Related Concepts
Graphical Format of TTCN-3 (GFT)
UML Testing Profile (UTP)
Comparison
Summary
TTCN-3 Test Case Generation from MSCs 22
Comparison I
all three concepts were based on MSC
support of graphical test development
differ in deepness of test features
MSC
GFT
UTP
TTCN-3 Test Case Generation from MSCs 23
Comparison II
Test Case Generation from MSCs
centred on test purposes
is focussed on manual, scenario testing
abstracts from details
no support of all TTCN-3 features
direct mapping to test case templates
requires less knowledge about TTCN-3
timedTTCN-3 support
GFT
MSC based representation format for TTCN-3
has to present all TTCN-3 features
timedTTCN-3 support
not desired as graphical specification language
TTCN-3 Test Case Generation from MSCs 24
Comparison III
UTP
representation and specification of all
aspects
independent of TTCN-3
no complete mapping to TTCN-3
enhanced testing concepts
better integration to UML
meta-model for testing
wide application area (mapping to JUnit and
TTCN-3)
TTCN-3 Test Case Generation from MSCs 25
Summary
MSC as powerful means for test
purpose and test case specifications
MSC like presentation formats
Test case generation from MSC test
purposes
TTCN-3 Test Case Generation from MSCs 26
TTCN-3 Test Case Generation
from Message Sequence Charts
Michael Ebner
Institute for Informatics · University of Göttingen · Germany
WITUL 2004 (IEEE Conference ISSRE)
END
TTCN-3 Test Case Generation from MSCs 28
Backup
TTCN-3 Test Case Generation from MSCs 29
Autolink - Process
Test Purpose Automatic Interactive Manual
Computation Simulation Specification
Specification
MSC
Test Purpose
Test Case State Space Direct
Exploration Translation
Generation
Dynamic
Constraints
Behaviour
Test Suite TTCN-2-
Test Architecture
Test Suite-Export
Production
TTCN-2-
Test Suite
TTCN-3 Test Case Generation from MSCs 30
Example III – Mapping of MSC
msc NamingServiceExample testcase NamingServiceExample()
runs on Naming {
SUT
Client1 Naming Client2
Client1.call( bindingContext )
bindContext Client1.call( bind )
Client2.call( resolve )
bind
alt {
resolve
[] Client1.catch(InvalidName)
opt {
Client1.call( bind )
InvalidName
Client2.catch(NotFound)
Client2.call( resolve )
NotFound }
bind [else] {}
resolve }
Client1.call( unbind )
unbind }
TTCN-3 Test Case Generation from MSCs 31
GFT Example – timedTTCN-3
Test purpose Test behaviour
generate mapping
MSC TIMEDTTCN-3 TIMEDGFT
Core notation Presentation format
TTCN-3 Test Case Generation from MSCs 32
Test Purpose Example
TTCN-3 Test Case Generation from MSCs 33
Generated Testcase
testcase InresRTexample() runs on inres {
var float sendTime1:=-1.0;
var integer iterator1:=0;
for (iterator1:=0; iterator1>
> >Master1_BT Master1_R Master2_BT Master2_R
> >
> >
> >
: Slave : Slave Slave
: hw: : co: Test-
Location M1 M2
: Master M2
sa: Slave sr: Slave M1
: Master : Master M3: Master
Application BTRoaming BT-HW
BT-HW Server
Coordinator :BT-HW
Master : Master
BTRoaming : Master
BTRoaming
: Master BT-HW : Master
Application BTRoaming
con_request
con_accept
con_confirm con_confirm
connected(Slave)
Connect_To_Master(M1)
ref RList:=
makeList
(Slave)
roamingList(RList,Slave)
roamingList(RList)
data
get_link_quality
Good_
Link_Quality
quality(good)
{0.5s
..0.5s}
data
get_link_quality
Bad_
Link_Quality
quality(bad)
ref newMaster:=
Search_NewMaster()
TTCN-3 Test Case Generation from MSCs 35
Use of SDL and MSC
Specification
Ideas
used to
Customer create
modelled by SDL-2000
Design Design MSC-2000
Interpreted as
Engineers used to
Tools
produce transformed
by
Implementation Software C++ etc.
executes
Engineers as Product
TTCN-3 Test Case Generation from MSCs 36
UML-based Test Specification I
UML
WSDL map map
IDL MSC
use generate
CORBA
TTCN-3
ooTTCN-3
TTCN-3 Test Case Generation from MSCs 37
Graphical Format for TTCN-3 (GFT)
Provides a test specific profile for
MSC-2000
Uses a subset of MSC-2000
Defines test specific extensions
Defines general extensions
Formerly called Test Sequence
Charts (TSC)
Supports different forms to
represent test cases
TTCN-3 Test Case Generation from MSCs 38
UTP Methodology Wrap-Up
Test preparations
Define a test package with a test suite.
Determine SUT and import its implementation.
Determine test objectives.
Test configuration
Assign roles: SUT, test components, utility part.
Attach stereotypes.
Test cases
Group instances.
Attach stereotypes.
Define re-usable test fragments to functions.
Assign verdicts.
Specify timers.
Specify default behaviours
TTCN-3 Test Case Generation from MSCs 39
Use of Inline Expressions and HMSCs
Problem
Several alternative test sequences referred
to in one diagram.
Two possibilities
All alternatives are put in one test case.
For each alternative a separate test case is
generated.
Strategy
Alternatives described in form of HMSCs are
translated into separate test cases.
Alternatives described by inline expressions
are put into the same test case.
TTCN-3 Test Case Generation from MSCs 40
ToC der Dissertation
1.Introduction
2.A General Metamodel For Testing
3.Graphical Test Development (with case
study)
With TTCN-3
With U2TP (UML Based Metamodel)
Relationship and Mapping Between TTCN-
3 and U2TP
4.Graphical Realtime Testing with TTCN-3
and U2TP (with case study)
5.Conclusion
TTCN-3 Test Case Generation from MSCs 41
UTP Outlook
FTF submission: April 2004
Upcoming tool support:
IBM/Rational: Eclipse Project Hyades
Telelogic: Tau G2
Microsoft: Visual Studio
Daimler/FOKUS/Nokia/TestingTech:
ITEA-Project TT-Medal
Automated test generation
TTCN-3 Test Case Generation from MSCs 42
ToC der Dissertation
1.Introduction
2.A General Metamodel For Testing
3.Graphical Test Development (with case
study)
With TTCN-3
With U2TP (UML Based Metamodel)
Relationship and Mapping Between TTCN-
3 and U2TP
4.Graphical Realtime Testing with TTCN-3
and U2TP (with case study)
5.Conclusion
TTCN-3 Test Case Generation from MSCs 43
Unified Modeling Language (UML) …
Anwendungsfälle
Entwickler Telephone Catalog Einheiten-
Check Status test
Salesperson
Place Order
Klassen
Customer
Testen
Shipping Clerk
Fill Orders
Establish Credit Supervisor
cart client
ShoppingCart Customer
customerOrder
cartOrder
1 1
1..*
Systemtest
0..1
OrderHeader {xor}
0..*
Integrator
order 1 1..*
1 accountOrder organizationOrder 1
Account account Organization
client
ite
m *
LineItem
Sequenzen service
serviceItem
1
1
{xor}
1 productItem
product Zustände
1
Service Product ReadAmountSM
sd N
abort
s[u]:B s[k]:B
selectAmount otherAmount
Integrations-
m3()
m3()
amount
System- enterAmount abort
test
integrator
ok aborted
TTCN-3 Test Case Generation from MSCs 44
... und Testen
Anwendungsfälle
Entwickler Telepho ne Catalo g Einheiten-
Check Status test
Salesperso n
Place Ord er
Klassen
Customer
Testen
Shipp ing Clerk
F ill Orders
Establish Cred it Sup ervisor
cart client
ShoppingCart Customer
customerOrder
cartOrder
1 1
1..*
Systemtest
0..1
OrderHeader {xor}
0..*
Integrator
order 1 1..*
1 accountOrder organizationOrder 1
Account account Organization
client
ite
m *
LineItem
Sequenzen service
serviceItem
1
1
{xor}
1 productItem
product 1
Zustände
Service Product ReadAmountSM
sd N
abort
s[u]:B s[k]:B
selectAmount otherAmount
Integrations-
m3()
m3()
amount
System- enterAmount
test
abort
integrator
ok aborted
TTCN-3 Test Case Generation from MSCs 45
TTCN-3 Test Case Generation from MSCs 46
TTCN-3 Übersicht
TTCN-3
Kern-
ASN.1 Typen sprache Tabellarisches
& Werte Format
IDL Typen Graphisches TTCN-3
& Werte Format
Benutzer
Andere Typen Präsentations-
& Werten formatn
TTCN-3 Test Case Generation from MSCs 47
MSC and TTCN (1)
System
MSC specification
MSC-based Presentation
Format for TTCN-3 Test purpose
Abstract
test case
TTCN-3 Executable
test case
Test results
Assessment
TTCN-3 Test Case Generation from MSCs 48
MSC and TTCN (2)
1. Generation
MSC- TTCN-3
2000 2. Presentation ATS
Compilation Compilation
Tracing
MSC TTCN-3
Simulator Validation ETS
TTCN-3 Test Case Generation from MSCs 49
Information in MSC Test
Purposes
Descriptions of messages to be
sent to
and received from the SUT
Synchronization information
required due
to the partial order semantics
of MSC
TTCN-3 Test Case Generation from MSCs 50
MSC Objectives
is a scenario language
supports complete and incomplete
specifications
is a graphical language
is widely applicable
can be used throughout the engineering
process
supports structured design
is often used in conjunction with other
methods and languages
TTCN-3 Test Case Generation from MSCs 51
The Tutorial Example
INRES - Initiator-Responder protocol
an abridged version of the Abracadabra
protocol used for academic studies and
illustrative purposes.
a connection-oriented, asymmetric
communication protocol
a medium with uncorrupted data, loss
of data, misordering
TTCN-3 Test Case Generation from MSCs 52
INRES Structure
ICONreq, User
IDATreq,
IDISreq, ISAP1
ICONconf,
IDISind Initiator Responder
MDATreq,
MSAP2 MDATind
Medium
SUT (System under Test) = Initiator and Medium
TTCN-3 Test Case Generation from MSCs 53
Objectives (3)
msc mi_synch1_conc1
MTC ISAP1 MSAP2
MTCType port ISAP1type port MSAP2type
?
TTCN-3 Test Case Generation from MSCs 54
MSC Test Purpose Development View
Test System
System Under Test
TTCN-3 Test Case Generation from MSCs 55
Objektorientierung für TTCN-3
Kein Objekttyp und Portinstanzen
können nicht übertragen werden
Objektreferenzen in IUT nicht
handhabbar
Einführung von Klassen
Erweiterung vorhandener Konzepte
Vererbung von Templates
Hierarchie von Komponenten
TTCN-3 Test Case Generation from MSCs 56
Autolink - INAP CS-2 Testzweck
Präambel
Schnitt-
System
stellen
Sende-
Ereignis
Empfangs-
Ereignis
Postambel
TTCN-3 Test Case Generation from MSCs 57
Zusammenfassung und Ausblick
Ausblick
• Testing and Test Control Notation 3 (TTCN-3)
– Universelle Testbeschreibungssprache
– Standardisierung 2001 durch ETSI
– Entwicklung eines TTCN-3-Syntaxcheckers
• Verbesserte Modellierung der Testumgebung
– Praxis: Standard-Werte und benutzerdefinierte
Signale
– Ineffektive Suche, Nachbearbeitung von Testfällen
– Lösung: Symbolische Ausführung
– Entwicklung eines Prototypen
TTCN-3 Test Case Generation from MSCs 58
Ausblick
TTCN-3 Beispiel
TTCN-3 Test Case Generation from MSCs 59
Weitere Arbeiten
Testing and Test Control Notation 3
• Erweiterung der Anwendungsgebiete
– Testarten: Interoperabilitätstest, Performanztests, ...
– Architekturen: CORBA, APIs, ...
• Moderne, allgemeine Sprachkonzepte
– C/C++-ähnliche Notation
– keine OSI-spezifischen Elemente
– Erweiterte Kommunikationskonzepte
– Dynamische, verteilte Testarchitekturen
• Standardisierung 2001 durch ETSI
TTCN-3 Test Case Generation from MSCs 60
– Entwicklung des ersten freien TTCN-3-
ToC der Dissertation
1.Introduction
2.A General Metamodel For Testing
3.Graphical Test Development (with case
study)
With TTCN-3
With U2TP (UML Based Metamodel)
Relationship and Mapping Between TTCN-
3 and U2TP
4.Graphical Realtime Testing with TTCN-3
and U2TP (with case study)
5.Conclusion
TTCN-3 Test Case Generation from MSCs 61
How to Test?
SDL/
System
MSC System
implementation specification
MSC identify
Test purpose
TTCN specify
Abstract
test case
implement
Executable
test case
execute
Test results
evaluate
Assessment
TTCN-3 Test Case Generation from MSCs 62
MSC and TTCN (1)
System
MSC specification
MSC-based Presentation
Format for TTCN-3 Test purpose
Abstract
test case
TTCN-3 Executable
test case
Test results
Assessment
TTCN-3 Test Case Generation from MSCs 63
MSC and TTCN (2)
1. Generation
MSC- TTCN-3
2000 2. Presentation ATS
Compilation Compilation
Tracing
MSC TTCN-3
Simulator Validation ETS
TTCN-3 Test Case Generation from MSCs 64
Basic MSC in a Nutshell
MSC diagram Instance
msc INRES_Example1
User ISAP1 Message to
the
MSC heading environment
Idle
ICONreq
Condition MDATind
MDATreq
ICONconf Instance
Output event end
Connected
Input event
TTCN-3 Test Case Generation from MSCs 65
HMSC
HMSC Loop
Start msc INRES_Behaviour
MSC Idle
Reference Connection
Connecting Point
Connected
Condition
DataTransfer Alternative
Connected
Disconnecting
TTCN-3 Test Case Generation from MSCs 67
New challenges for TTCN (1)
Corba and Internet Testing
Dynamic configurations
Addressing entities inside the SUT
Synchronous communication
Real-time- and performance- Testing
Handling of load generators
Possibility to repeat test runs
New and improved design techniques
Smooth interworking with
SDL'2000, MSC'2000, ASN.1'99, UML and
IDL
Adaptation to different application areas
TTCN-3 Test Case Generation from MSCs 68
New challenges for TTCN (2)
Module and Group concept
„New “ data types
Synchronous communication
Less OSI concepts and terms
Introduction of templates
Textual base
TTCN-3 Test Case Generation from MSCs 69
TTCN-3 Test Architecture (2)
Test system Connected Ports
IN
OUT
MTC PTC
OUT
IN
OUT IN
Mapped Ports
Abstract Test System Interface OUT IN
Real Test System Interface
System Under Test (SUT)
TTCN-3 Test Case Generation from MSCs 70
TTCN-3 Example
function internetUser () runs on InternetType {
timer Tvisit;
var integer orderNr;
var PizzaDeliveryType thePizza;
activate(StandardDefault, InternetDefault);
Tvisit.start(OverallDuration);
P2.call(StandardINetOrder, maxConnectTime) {
[] P2.getreply (INetOrder:* value *) -> value orderNr {
verdict.set(pass)
}
[] P2.catch (INetOrder, reasonType : *) {
verdict.set(fail)
}
[] P2.catch (timeout) {
verdict.set(inconc)
}
}
TTCN-3 Test Case Generation from MSCs 71
The Development of MSC
object orientation, data,
MSC-2000
time, method calls
HMSC, references,
MSC-96
general ordering, inline expressions
MSC-92 instances, messages, events, conditions
before
1992 dialects of sequence charts
TTCN-3 Test Case Generation from MSCs 72
Object Orientation
MSC documents define instance kinds
instance kinds are types suited for object orientation
Inheritance
inheritance of instance kinds means inheriting all
contained instances and MSCs
Virtuality
Virtual MSCs means that MSCs may be redefined in
specialized instance kinds
Close correspondance with object orientation
in SDL and other object-oriented languages
such as Java
TTCN-3 Test Case Generation from MSCs 73
Data in MSC-2000
MSC has no data language of its own!
MSC can make use of data languages such
that
fragments of your favorite (data) language can be
used (C, C++, SDL, Java, TTCN-3, ... )
MSC can be parsed without knowing the details of
the chosen data language
the data language strings have no unnecessary extra
delimiters
Mappings to data languages have not yet been
made
up to any user
could be standardized in the future
TTCN-3 Test Case Generation from MSCs 74
Use of Data
msc Transmission (isdu: ISDUType; seq_no, try: Integer);
Initiator Medium Responder
Static variables seq_no:= 1-seq_no
have MSCs as MDATreq(DT(isdu,seq_no)=:dt)
MDATind(dt=: rec_dt)
homes
(cannot change Check_Data(rec_dt)
binding
MDATreq(no:=ACK(rec_no))
Binding
within the MSC) MDATind(rec_no:=ACK(rec_no))
Left-hand or right-hand
when (seq_no != rec_no)
in actions and (try <4)
with messages Transmission
with MSC references (isdu,seq_no,try+1)
TTCN-3 Test Case Generation from MSCs 75
Method Calls
Method Calls
Blocking (with reply)
Non-Blocking
Method calls can be super-imposed
Used to describe the control flow
between instances
TTCN-3 Test Case Generation from MSCs 76
Summary & Outlook (2)
MSC as powerful means for test
purpose and test case specifications
in particular, extensions of MSC-2000 such
as data support and method calls are
used
Test case generation from MSC test
purposes
direct mapping to test case templates
MSC like presentation format for TTCN-
3
TTCN-3 Test Case Generation from MSCs 77
Enjoy your lunch
and
have a nice trip home!
TTCN-3 Test Case Generation from MSCs 78
The UML 2.0 Testing Profile
Profile: UML extension mechanism
Initiated late 2001
Make UML applicable for SW testing
Adopted by OMG in June 2003
At time it is revised by the
Finalization Task Force (FTF)
TTCN-3 Test Case Generation from MSCs 79
Outlook
FTF submission: April 2004
Upcoming tool support:
IBM/Rational: Eclipse Project Hyades
Telelogic: Tau G2
Microsoft: Visual Studio
Daimler/FOKUS/Nokia/TestingTech:
ITEA-Project TT-Medal
Automated test generation
TTCN-3 Test Case Generation from MSCs 80
Outline & Introduction
Test purpose Test behaviour
generate mapping
MSC TIMEDTTCN-3 TIMEDGFT
Core notation Presentation format
Presented to
1. Instrument functional testcases at generate timestamps,
Testcom 2002
(Submitted for
2. Execute testcase, standardisation.)
3. Apply evaluation functions to the generated timestamps,
4. Assign a test verdict.
TTCN-3 Test Case Generation from MSCs 81
TIMEDTTCN-3=TTCN-3+Time
Extensions
1. Local clock
– read (self.now), wait (resume)
2. Logfile
– log, sort, retrieve of structured data
3. Timezones
– specification of clock synchronised test
components
4. Conf-Verdict
– passconfinconcfail
TTCN-3 Test Case Generation from MSCs 82
Test Case Generation
Test purpose Test behaviour
generate mapping
MSC TIMEDTTCN-3 TIMEDGFT
Core notation Presentation format
1. Using MSC as test purpose:
• MSC instances represent SUT and TTCN ports.
• MSC messages depict TTCN send/receive.
2. Generating corresponding TTCN test cases.
TTCN-3 Test Case Generation from MSCs 83
Generating TIMEDTTCN-3 from MSC
Pure functional test cases: Proven approach
and implemented by TTCN-2 tools, e.g.:
Autolink (Telelogic)
ptk (Motorola)
New: generating TIMEDTTCN-3 test cases.
MSC allows to attach time constraints to
events:
Absolute time constraints,
Relative time constraints,
TTCN-3 Test Case Generation from MSCs 84
Test Purpose Example
TTCN-3 Test Case Generation from MSCs 85
Generated Testcase
testcase InresRTexample() runs on inres {
var float sendTime1:=-1.0;
var integer iterator1:=0;
for (iterator1:=0; iterator1<100;
iterator1:=iterator1+1) {
if (sendTime1==-1.0) {
sendTime1:=self.now+0.01; }
else {
resume(sendTime1);
sendTime1:=sendTime1+0.01;
}
log(TimestampType:{self.now,"IDATreq1"});
ISAP.send(IDATreq:{"data"});
MSAP.receive(MDATind:{DT,number,"data"});
log(TimestampType:{self.now,"MDATind2"});
MSAP.send(MDATreq:{AK,number});
}
setverdict(pass);
stop;
}
TTCN-3 Test Case Generation from MSCs 86
Graphical Test Case
Specification
Test purpose Test behaviour
generate mapping
MSC TIMEDTTCN-3 TIMEDGFT
Core notation Presentation format
1. New GFT symbols.
2. One-to-one mapping between
TIMEDTTCN-3 core notation and TIMEDGFT.
TTCN-3 Test Case Generation from MSCs 87
TIMEDGFT-Example
testcase InresRTexample() runs on inres{
var float sendTime1:=-1.0;
var integer iterator1:=0;
for (iterator1:=0; iterator1<100;
iterator1:=iterator1+1) {
if (sendTime1==-1.0) {
sendTime1:=self.now+0.01; }
else {
resume(sendTime1);
sendTime1:=sendTime1+0.01;
}
log(TimestampType:{self.now,"IDATreq1"});
ISAP.send(IDATreq:{"data"});
MSAP.receive(MDATind:{DT,number,"data"});
log(TimestampType:{self.now,"MDATind2"});
MSAP.send(MDATreq:{AK,number});
}
setverdict(pass);
stop;
}
TTCN-3 Test Case Generation from MSCs 88
TIMEDGFT
Overview: New GFT symbols and
mapping TIMEDTTCN-3 TIMEDGFT:
TIMEDTTCN-3 TIMEDGFT
TTCN-3 Test Case Generation from MSCs 89
TIMEDGFT (continued)
TIMEDTTCN-3 TIMEDGFT
TTCN-3 Test Case Generation from MSCs 90