Testing , Monitoring, and Controlling  CORBA-based Applications
Sudipto Ghosh
Priya Govindarajan
Aditya P. Mathur
Baskar Sridharan
Software Engineering Research Center
Purdue University
@ Tivoli, Rome
Thursday July 15, 1999

Structure of a CORBA Application

Needs of a tester
Test Adequacy:
Goodness of system test.
Parts of the system that need additional testing.

Needs of a tester
System behavior:
Visualization of  system state transition in the presence of a given input sequence.
Visualization of system state transition in the presence of injected faults.

Needs of a tester
System performance:
Measurement of instantaneous and average load distribution (Hardware and Software).
Measurement of instantaneous and average response time.

Needs of a tester
System control:
Temporary or permanent shut down of selected services.
Injection of an arbitrary stream of requests directed at selected servers.

How TDS meets a tester’s needs?
Test adequacy:
By measuring interface-based coverage:
Method coverage
Exception coverage
iMutation Coverage

Monitoring: Sample Questions
State related:
What is the current state of component C?
Performance related:
What is the average round-trip time of a message sent to component C ?
Access related:
Did client C’ access component C during the past 24 hours ?

Control: Sample Commands
Component related:
Deny a set of services to some or all clients of component C  upon the occurrence of event E
start component C
replicate component C
send message m to component C

Proposed Test Adequacy Criteria

Proposed  iMutant Operators

Slide 12

Slide 13

"How do the proposed test..."
How do the proposed test adequacy criteria compare with the traditional criteria?

"How do the two criteria..."
How do the two criteria compare?

Slide 16

Monitoring: Strategy

Control: Strategy

States
Local:
S : an arbitrary state. S could be:
Component C processing request R
Component C is inactive
Component C is active

Events
Local:
E : an arbitrary event. E could be:
Component C assumes state S
E after time T (T: local time)
E during interval [T1, T2]
E1 or E2
E1, E2 (sequence)

How TDS meets a tester’s needs?
System test:
By allowing the tester to combine features for  (V2.0)
test adequacy measurement
system performance measurement
system behavior monitoring
system control

Slide 22

Goal
To Monitor and Control object B1.
B1 implements interface Bank
Construct event  E: “Arrival of request createAccount()  to object B1”
Monitor E
Specify control operation:  “Ignore all incoming requests on object B1”

Slide 24

Slide 25

Slide 26

Slide 27

Slide 28

Slide 29

Slide 30

Slide 31

Summary
TDS 1.1 demonstrated in May 99.
Experiments with a system from Tivoli begun in May 99.
Implementation of the Monitoring and Control component begun in June 99.
Implementation of the Architecture-Extraction component begins in August 99..

Slide 33

Slide 34

Slide 35

Slide 36