Introduction Quiescence Management Improves Interoperability Testing Alexandra DESMOULIN & César VIHO IRISA / Université de Rennes 1
[email protected], http://www.irisa.fr
n
Conformance testing : one implementation compared to its specification
n
Interoperability testing : 2 or more interacting implementations
n
Quiescence management : quiescence (deadlock, outputlock or livelock) can be allowed in the specification(s)
1
Formal definitions of interoperability testing
2
Plan
nObjective : formal definitions of Interoperability
n n
nNo precise characterization of interoperability at the moment.
n
nQuiescence management based on : Towards a formal framework for interoperability testing, César VIHO, Sébastien
n n
Background Previous work on interoperability formalization Interoperability definitions with quiescence management Results Conclusion
BARBIN & Lénaïck TANGUY, FORTE 01.
3
4
Interoperability testing architecture Tester (T1)
Test System (TS)
Model of IOLTS and notations δ
Tester (T2)
UT1
0 l?a
UT2
l!c
U?A UP1
LT1
LT2
LP1
LP2
1
UI1
IUT1
5
U!B
l?a
IUT2 Lower Interface
B C
Upper Interface U
l!a
UI2
LI1
A
l!b
UP2
2 l?b
LI2 3
SUT(System Under Test) 5
δ
System S U!C
l?c 4
Specification S
a b c Lower Interface l 6
1
Some words about conformance testing
Interoperability testing without quiescence management : previous work IUT I
Conformance relation ioconf I ioconf S =∀σ∈Traces(S) ⇒ Out(I,σ)⊆ Out(S,σ)
S
n
n
σ
Conformance relation ioco I ioco S =∀σ∈Traces(Δ(S)) ⇒ Out(Δ(I),σ)⊆ Out(Δ(S),σ)
n
Out(I,σ)
Definition of interoperability relations based on ioconf. Examples: R9 (I1,I2)= ∀σ∈Traces(S1||S2) ⇒Out (I1||I2, σ) ⊆ Out (S1||S2,σ) R9 equivalent to I1||I2 ioconf S1||S2 ¾ R7 (I1,I2)= ∀σ1∈Traces(S1),∀σ∈Traces(I1||I2) σ/ΣI1 = σ1 ⇒ Out ((I1||I2)/ΣI1, σ) ⊆ Out (S1,σ1). ¾
σ
Out(S,σ)
R7 equivalent to I1 ioconf S1 during the interaction of I1 with I2 n
Different relations considering the different testing architectures.
7
8
Interoperability testing without quiescence management : different problems
Interoperability testing without quiescence management : an example S 0
U?A
l?b 3
0
U?A
l!c
1
U!B
I2
0
l?a
l!b l!a
I1
5
l?b
U!C l?c
l!a 2
l?a
2
1
3
U!B 4
4
Ia U?A
1
l!a 2
l?b
n
Ib 0
0
l?a 1
l?a 1
l!b
l!c
2
n
Cases of non-interoperability not detected Incorrect verdicts during tests based on these relations due to the absence of quiescence management.
2
3
U!C 4 9
Interoperability relations with quiescence management
Quiescence management n
Quiescence management in interoperability definitions based on conformance relation ioco
I ioco S =∀σ∈Traces(Δ(S)) ⇒ Out(Δ(I),σ)⊆ Out(Δ(S),σ) n
10
Projection and interaction (synchronous) operations re-defined to keep information on quiescence.
11
Rδ9 (I1,I2)= ∀ σ ∈ Traces(S1||δS2) ⇒ Out (I1|| δ I2, σ) ⊆ Out (S1|| δ S2,σ) . Rδ7 (I1,I2)= ∀σ1∈Traces(Δ(S1)), σ∈Traces(I1|| δ I2), σ/ΣI1 = σ1 ⇒ Out ((I1|| δ I2)/ΣI1, σ) ⊆ Out (Δ(S1),σ1).
12
2
Quiescence Management on Interoperability : some results n n
Example 1 : non-allowed output in one of the IUT δ
Non-interoperability due to a nonallowed output still detected More non-interoperability cases detected :
0
U?A l!b
¾
l!c
1
One due to non-allowed quiescence in one of the IUT One due to incompatibility between output of one IUT and input of the other
¾
l?a
l!a
U!B l?b
5
l?a U!C
2
l?c
δ
3 4 Specification S of I1 and I2
0 U?A 1 l!a 2 l?b 3 U!C 4
0 l?a U1!C 1 l!b 2 I2
I1
0,0 U1?A 1,0 2,1 3,0
14
Example 3 : incompatibility between output and input
Example 2 : non-allowed quiescence in one of the IUT δ
0
U?A
l?a
l!b
l!c
1
l?b
l?a U!C
2
l?b
l!a
5
l!a
U!B
U?A
l?c
δ
0
1
1
2
2
l?a l!b
3 I1
I2
3 4 Specification S of I1 and I2
0,0 U1?A 1,0 l1!a (l2?a) 2,1 l1?b (l2!b) 3,0 δ I1 ||δ I2 15
l1?b (l2!b)
I1 ||δ I2
13
0
l1!a (l2?a)
U?A
0
δ l?a l!c
1 l!b 5 U!C l?a 2 l?c l?b δ 4 3
U!B l!a
0
Specification S of I1
U?A
0
l?a l!c 1 l!b 5 U!C l?a 2 l?c l?b δ 4 3
U!B l!a
Specification S of I2
U?A
1 l!a 2 l?b 3 U!B
4
δ
0
1: U?A UI1
UI2
I1
I2
LI1
LI2
2: l!a
3: l?a
l?a 1 l!c 2
16
Conclusion n
Improvements of Interoperability testing with quiescence management: ¾ ¾
More precise definitions of interoperability More accurate verdicts using these definitions Previous cases of non-interoperability conserved More cases of non interoperability detected
¾ ¾
n
Future work: ¾ ¾
Asynchronous context Generalization to a context with N>2
17
3