Title: Abdeslam EnNouaary and Rachida Dssouli Electrical and Computer Engineering Department Concordia Univ
1Abdeslam En-Nouaaryand Rachida
DssouliElectrical and Computer Engineering
DepartmentConcordia University, Montreal,
Quebec, Canada ennouaar, dssouli_at_ece.concordia
.caMay 28, 2003
A Guided Method for Testing Timed Input Output
Automata
2Outline
- Introduction
- Testing activities
- Timed input output automata (TIOA) model
- Test purpose concept
- Testing TIOA based on test purposes
- Construction of the synchronous product of the
specification and test purpose - Sampling the regions graph of the synchronous
product - Traversal of the resulting automaton
- Conclusion
3Introduction
- Timed Input Output Automata is a formal model to
specify real-time systems. - Real-time systems are those systems whose
behaviors are time dependent (e.g., Air traffic
control systems, Patient control systems, Plant
control systems, Multimedia applications, etc.). - Reliability and safety are the most important
characteristics of real-time systems. - Faults in real-time systems implementations are
related to interactions with the environment and
the time constraints of these interactions. - Testing is a formal technique for ensuring the
quality of a system before it goes operational. - Test purpose can be used to come up with a
practical time test cases generation method.
4Testing Activities
Specification
Choice of a formal model (FSM, EFSM, TIOA, etc.)
Use of an efficient method (with a good test
coverage)
Test Cases Generation
Test Cases
IUT
Test coverage, executability, etc
- Test architecture - Tester Synchronization
Test Execution
Verdict
- Detection of errors - Conformance of IUT
5Timed Input Output Automata (TIOA)
- A Timed Input Output Automata (TIOA) is a tuple
(I, O, L, l0, C, T), where - I the set of inputs.
- O the set of outputs.
- L the set of locations.
- l0 the initial location.
- C the set of clocks all initialized to 0 in l0.
- T ? L ? (I ? O) ? G(C) ? 2C ? L The set of
transitions.
An Example of TIOA
6TIOA based Testing Issues
- The semantics of TIOA the executability of test
cases generated. - We use the regions graph to represent the
semantics of TIOA. - The regions graph represents all traces
(executions) of a TIOA and is based on - The notion of clock valuation.
- The notion of state.
- The fault model to know the potential faults in
an implementation of TIOA. - The test cases generation the development of new
methods or the adaptation of new ones? - The density of time domain of TIOA.
- The faults coverage of test cases generated.
- The test execution test architecture, test
synchronization, etc. - The conformance relation between the
specification and the implementation.
7Test Purposes
- A test purpose is an acyclic TIOA (ITP, OTP, LTP,
l0TP, CTP, TTP) with a subset of final states to
indicate whether or not the test purpose has been
satisfied. - A test purpose represents a property/functionality
of the system to be tested.
An hypothetical Telephone Specification
8Test Cases Generation (Overview)
Specification
Test purpose
Constructing synchronous product
The test cases generated must satisfy both the
specification and test purposes
Synchronous product
- We dont construct the regions graph - We use a
granularity that depends on the number of clocks
n (i.e., 1/(n1))
Sampling the synchronous product
Grid automata
Traversal of the grid automata
Depth-first traversal
Test Cases
Partial fault coverage
9Synchronous Product
- The synchronous product of a specification S
(IS, OS, LS, l0S, CS, TS) and a test purpose TP
(ITP, OTP, LTP, l0TP, CTP, TTP) is the TIOA SP
(ISP, OSP, LSP, l0SP, CSP, TSP) such that - ISP IS ? ITP
- OSP OS ? OTP
- LSP ? LS ? LTP
- l0SP (l0S,l0TP)
- CSP CS ? CTP
- LSP and TSP are defined as follows
- If (l1,l2)? LSP and (l1,a,G1,R1,l1) ? TS and
(l2,a,G2,R2,l2)? TTP then (l1,l2)? LSP and
((l1,l2),a,G1G2,R1?R2,(l1,l2))? TSP. - If (l1,l2)? LSP and (l1,a,G1,R1,l1)? TS and
(l2,a,G2,R2,l2)? TTP then (l1,l2)? LSP and
((l1,l2),a,G1G2,R1?R2,(l1,l2))? TSP.
10Test Cases Generation (Overview)
Specification
Test purpose
Constructing synchronous product
The test cases generated must satisfy both the
specification and test purposes
Synchronous product
- We dont construct the regions graph - We use a
granularity that depends on the number of clocks
n (i.e., 1/(n1))
Sampling the synchronous product
Grid automata
Traversal of the grid automata
Depth-first traversal
Test Cases
Partial fault coverage
11Test Cases Generation An Example
The specification
The test purpose
12Test Cases Generation (Overview)
Specification
Test purpose
Constructing synchronous product
The test cases generated must satisfy both the
specification and test purposes
Synchronous product
- We dont construct the regions graph - We use a
granularity that depends on the number of clocks
n (i.e., 1/(n1))
Sampling the synchronous product
Grid automata
Traversal of the grid automata
Depth-first traversal
Test Cases
Partial fault coverage
13Test Cases Generation An Example (Cont.)
s0l0,t0,0,0 s1 l0,t0,1/3,1/3
s2l0,t0,2/3,2/3 s3l0,t0, 1,1
s4l0,t0,4/3,4/3 s5l0,t0,5/3,5/3 s6l0,t0,2,2
s7l0,t0,7/3,7/3 s8l0,t0,8/3,8/3 s9l1,t1,0,0
s10l2,t2,0,0 s11l2,t2,1/3,1/3
s12l2,t2,2/3,2/3 s13l2,t2,1,1 s14l3,t3,0,0
s15l3,t3,1,1 s16l3,t3,1,1 s17l1,t1,1/3,1/3
s18l2,t2,1/3,1/3 s19l2,t2,2/3,2/3
s20l2,t2,1,1
Grid automata states definitions
14Test Cases Generation (Overview)
Specification
Test purpose
Constructing synchronous product
The test cases generated must satisfy both the
specification and test purposes
Synchronous product
- We dont construct the regions graph - We use a
granularity that depends on the number of clocks
n (i.e., 1/(n1))
Sampling the synchronous product
Grid automata
Traversal of the grid automata
Depth-first traversal
Test Cases
Partial fault coverage
15Test Cases Generation An Example (Cont.)
s0l0,t0,0,0 s1 l0,t0,1/3,1/3
s2l0,t0,2/3,2/3 s3l0,t0, 1,1
s4l0,t0,4/3,4/3 s5l0,t0,5/3,5/3 s6l0,t0,2,2
s7l0,t0,7/3,7/3 s8l0,t0,8/3,8/3 s9l1,t1,0,0
s10l2,t2,0,0 s11l2,t2,1/3,1/3
s12l2,t2,2/3,2/3 s13l2,t2,1,1 s14l3,t3,0,0
s15l3,t3,1,1 s16l3,t3,1,1 s17l1,t1,1/3,1/3
s18l2,t2,1/3,1/3 s19l2,t2,2/3,2/3
s20l2,t2,1,1
Grid automata states definitions
?HangOff.?Digit1.1.?Digit2.1.!Connect 1/3.?HangOff
.?Digit1.1.?Digit2.1.!Connect 2/3.?HangOff.?Digit1
.1.?Digit2.1.!Connect 1.?HangOff.?Digit1.1.?Digit2
.1.!Connect 4/3.?HangOff.?Digit1.1.?Digit2.1.!Conn
ect 5/3.?HangOff.?Digit1.1.?Digit2.1.!Connect 2.?H
angOff.?Digit1.1.?Digit2.1.!Connect 7/3.?HangOff.?
Digit1.1.?Digit2.1.!Connect 8/3.?HangOff.?Digit1.1
.?Digit2.1.!Connect ?HangOff.1/3.?Digit1.2/3.?Digi
t2.1.!Connect
Example of test cases
16Conclusion
- We have presented an approach to test an TIOA
using test purposes. - A test purpose represents a functionality/property
of the system to be tested. - A test purpose can be used by the user of a
system to test the critical part from his/her
point of view. - The method we presented consists of three parts
the construction of the synchronous product of
the specification and test purpose, the sampling
of the synchronous product, and the traversal of
the resulting automata. - Our approach avoids the state explosion problem
due to the generation of test cases for the whole
system.
17Conclusion (Cont.)
- We are implementing the approach using MSC
(Message Sequence Charts) to represent the user
test purposes. - We are also working on the evaluation of the
faults coverage of the proposed method. - We are also planning to specify the test cases
generated using TTCN.
18Thank You