Sequence Diagram Example: Nested Activation and Complex Interactions

The following diagram, based on the one appearing on p. 436 of the UML User Guide, contains the most important elements of an interaction. It also uses nested active inactive calls to show a nested object activation.

Diagram

UML User Guide: Appendix A, p. 436

Diagram Source Code

# UML User Guide: Appendix A,p. 436

.PS

copy "sequence.pic";

# Define the objects
pobject(E,"External Messages");
object(T,"t:thread");
object(O,":Toolkit");
pobject(P);

step();

# Message sequences
message(E,T,"a1: run(3)");
active(T);
message(T,O,"run()");
active(O);
message(O,O,"callbackLoop()");
cmessage(O,P,"p:Peer"," ");
active(O);
message(O,P,"handleExpose()");
active(P);
rmessage(P,O,"");
inactive(P);
inactive(O);
dmessage(O,P);
inactive(T);
inactive(O);

step();

complete(T);
complete(O);

.PE