Performance models of software designs can give early warnings of problems
such as resource saturation or excessive delays. However models are seldom
used because of the considerable effort needed to construct them. The ANGIO
TRACE(TM) was developed to gather the necessary information from an executa
ble design and develop a model in an automated fashion. It applies to distr
ibuted and concurrent software with synchronous (send-reply or RPC) communi
cations, developing a layered queuing network model. The Trace-Based Load C
haracterization (TLC) technique presented here extends the ANGIOTRACE(TM) t
o handle software with both synchronous and asynchronous interactions. TLC
also detects interactions which are effectively synchronous or partly-synch
ronous (forwarding) but are built up from asynchronous messages. These patt
erns occur in telephony software and in other systems. The TLC technique ca
n be applied throughout the software life-cycle, even after deployment.