Exemplo n.º 1
0
# This example is drawn from the example from the UMLGraph documentation
# http://umlgraph.org/doc/uml-appa.html

from sequenceplot import SequenceObject, Placeholder, SequenceDiagram

# declare objects
e = Placeholder()
t = SequenceObject("t:thread")
o = SequenceObject(":Toolkit")
p = Placeholder()

diagram = SequenceDiagram([e, t, o, p])
diagram.setParam('objectSpacing', 1.75)

# use pushMethod() to nest activations
e.pushMethod(t, "a1: run(3)")
t.pushMethod(o, "run()")
o.callMethod(o, "callbackLoop()")

o.createInstance(p, "p:Peer")
o.callMethod(p, "handleExpose()", "", responseSync=True)
o.destroyInstance(p)

t.inactive()
o.inactive()
diagram.step(2)

# Render the diagram into an SVG file named "authentication.svg".
diagram.svg('nestedActivation')
Exemplo n.º 2
0
# declare objects

c = SequenceObject('c:Client')
t = Placeholder()
p = SequenceObject('p:ODBCProxy')

diagram = SequenceDiagram([c, t, p])
diagram.params.boxWidth = 1.1
diagram.params.objectSpacing = 0.5

diagram.step()
c.active()
c.createInstance(t, ':Transaction')
diagram.oconstraint('{Transient}')

c.pushMethod(t, "setActions(a,d,o)")

diagram.sync()

t.message(p, 'setValues(d,3,4)')
p.active()
diagram.step()
p.inactive()

t.message(p, 'setValues(a, "CO")')
p.active()
diagram.step()
p.inactive()

c.popMethod(t, "committed")