diagram = SequenceDiagram([s, w, c, r]) diagram.setParam('objectSpacing', 0.5) diagram.step() w.active() diagram.async() s.message(w, 'liftReceiver') diagram.sync() w.message(s, 'setDialTone()') diagram.async() s.message(w, '*dialDigit(d)') w.lconstraint('{dialing.executionTime < 30s}') w.callMethod(w, 'routeCalls(s,n)') w.createInstance(c, 'c:Convers') c.active() c.pushMethod(r, 'ring()') diagram.async() r.message(c, 'liftReceiver') diagram.sync() c.message(w, 'connect(r,s)') w.message(s, 'connect(r)') w.message(r, '') w.lconstraint('connect(s)') diagram.step() # Render the diagram into an SVG file named "authentication.svg". diagram.svg('lifelineConstraints')
diagram.setParam('boxWidth', 1.0) diagram.setParam('diagramWidth', 14) x.createInstance(t, "a:Transaction", sync=False) t.active() t.createInstance(c, "a:TransCoord", sync=False) t.inactive() c.active() c.createInstance(a1, "a1:TransCheck", sync=False) a1.active() c.createInstance(a2, "a2:TransCheck", sync=False) a2.active() a1.message(c, "ok") c.callMethod(c, "all done?") c.inactive() a1.delete() diagram.step() c.active() a2.message(c, "ok") c.callMethod(c, "all done?") c.inactive() a2.delete() c.message(t, "beValid") t.active()
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") c.destroyInstance(t) c.inactive() diagram.step()