# Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # # Author: Charles Y. Choi from sequenceplot import SequenceObject, SequenceDiagram # declare client and server instances client = SequenceObject('c: client') server = SequenceObject('s: server') # declare diagram instance, adding client and server to the diagram. diagram = SequenceDiagram([client, server]) # configure diagram parameters diagram.setParam('objectSpacing', 1.75) # Start a frame named 'Login' frameName = diagram.beginFrame(client, 'Login') # Have the client call the method "login(username, password)" on the server with then responds with "sessionID, userInfo". client.callMethod(server, 'login(username, password)', response='sessionID, userInfo') # End the previously declared frame diagram.endFrame(server, frameName) # Render the diagram into an SVG file named "authentication.svg". diagram.svg('authentication')
# limitations under the License. # # Author: Charles Y. Choi # 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)
# # Author: Charles Y. Choi # 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 x = Placeholder() t = Placeholder() c = Placeholder() a1 = Placeholder() a2 = Placeholder() diagram = SequenceDiagram([x, t, c, a1, a2]) 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()
# Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # # Author: Charles Y. Choi from sequenceplot import SequenceObject, SequenceDiagram # declare client and server instances client = SequenceObject('c: client') server = SequenceObject('s: server') # declare diagram instance, adding client and server to the diagram. diagram = SequenceDiagram([client, server]) # configure diagram parameters diagram.setParam('objectSpacing', 1.75) client.callMethod(server, 'login(username, password)', response='sessionID, userInfo') c1 = diagram.comment(server, 'This is an\nexample comment\nconnected to the\nclient and server.', 'down 0.35 left 0.5', 'wid 1.5 ht 0.7') diagram.connectToComment(client, c1) diagram.step(5) # Render the diagram into an SVG file
# # Author: Charles Y. Choi # 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 s = SequenceObject('s:Caller') w = SequenceObject(':Switch') c = Placeholder() r = SequenceObject('r:Caller') 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')
# limitations under the License. # # Author: Charles Y. Choi # 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 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()
# http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # # Author: Charles Y. Choi # This example is drawn from the example from the UMLGraph documentation # http://umlgraph.org/doc/uml-appa.html from sequenceplot import SequenceObject, Actor, SequenceDiagram # declare objects a = Actor() t = SequenceObject(':OTager') f = SequenceObject(':OFulfill') diagram = SequenceDiagram([a, t, f]) diagram.step() a.message(t, 'submitOrder') t.message(f, 'placeOrder') f.message(a, 'acknowledgeOrder') diagram.step() # Render the diagram into an SVG file diagram.svg('externalActor')