Introduction Plan Interoperability testing architecture Model of ... - Irisa

interoperability testing, César VIHO, Sébastien. BARBIN & Lénaïck ... LP2. Test System (TS). 6. Model of IOLTS and notations l!a l?a l!b l?a l!c. U!B. U!C l?b l?c.
196KB taille 4 téléchargements 243 vues
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