07.01.2013 Views

Lecture Notes in Computer Science 3472

Lecture Notes in Computer Science 3472

Lecture Notes in Computer Science 3472

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

456 Wolfgang Prenn<strong>in</strong>ger, Mohammad El-Ramly, and Marc Horstmann<br />

abstraction can be effectively comb<strong>in</strong>ed with communication or/and functional<br />

abstraction.<br />

Another form of temporal abstraction is that the test model abstracts from<br />

physical time. For example, the concrete implementation may depend on us<strong>in</strong>g<br />

a timer of 250 ms duration. This timer is abstracted <strong>in</strong> the model by <strong>in</strong>troduc<strong>in</strong>g<br />

two symbolic events—one for start<strong>in</strong>g the timer, and one for <strong>in</strong>dicat<strong>in</strong>g expiration<br />

of the timer. By do<strong>in</strong>g so, the physical duration of the timer is abstracted away<br />

even if the duration of certa<strong>in</strong> timers changes over runtime at the concrete level.<br />

One might well argue that this k<strong>in</strong>d of abstraction is the special case of a<br />

more general abstraction, namely abstraction from quality-of-service.<br />

In Tab. 15.3 we summarize the abstraction pr<strong>in</strong>ciples which were used <strong>in</strong><br />

the documented case studies. The table entry yes <strong>in</strong>dicates that the abstraction<br />

pr<strong>in</strong>ciple was used <strong>in</strong> the case study and no <strong>in</strong>dicates the opposite. We marked<br />

the entry with ? if we could not f<strong>in</strong>d any h<strong>in</strong>t if the abstraction pr<strong>in</strong>ciple was<br />

used or not. It turns out considerably that most of the case studies explicitly<br />

mentioned that functional abstraction and data abstraction was used.<br />

functional data temporal communication<br />

abstraction abstraction abstraction abstraction<br />

[DBG01] SDU of ST100 DSP yes yes no yes<br />

[SA99] Microprocessors yes yes yes yes<br />

[FKL99] PowerPC yes ? ? ?<br />

[PPS + 03] Smart Cards: WIM yes yes yes yes<br />

[CJRZ01] Smart Cards: CEPS ? ? ? ?<br />

[KVZ98] Cache Coherency Protocol yes ? ? yes<br />

[BFdV + 99] Conference Protocol ? yes ? ?<br />

[FHP02] POSIX/Java yes yes ? ?<br />

Table 15.3. Used Abstraction Pr<strong>in</strong>ciples<br />

Limitations of the Abstractions It is crucial that the modeler is aware of the<br />

limitations, and therefore decides for the right trade off between abstraction and<br />

precision when build<strong>in</strong>g appropriate test models for test<strong>in</strong>g the critical aspects<br />

of the SUT. There is an <strong>in</strong>herent complexity <strong>in</strong> real systems. If some of them<br />

are abstracted <strong>in</strong> the test model <strong>in</strong> the sense that it cannot be compensated<br />

afterwards by the test driver component there is no way to detect faults <strong>in</strong> the<br />

SUT concern<strong>in</strong>g these abstractions. In the follow<strong>in</strong>g we mention a few limitations<br />

and consequences.<br />

Often enough, test models suffer from a more or less dist<strong>in</strong>ct and implicit<br />

“happy world assumption” which stems from functional abstraction. A typical<br />

example is that models assume that parameters of <strong>in</strong>put messages or <strong>in</strong>put operations<br />

are with<strong>in</strong> allowed bounds or have the permitted length or arity. With<br />

the aid of such models, it is not possible to test the SUT’s behavior if it receives<br />

messages with illegal parameters. For example, <strong>in</strong> the smart card doma<strong>in</strong> an<br />

operation <strong>in</strong>clud<strong>in</strong>g its operands is represented by a byte str<strong>in</strong>g at the concrete

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!