More SEQUENCE posts
November 28, 2002
SEQUENCE Improved - More features for drawing sequence diagrams

Look here for the latest developments and releases of SEQUENCE.

In July I wrote a little LGPL program for UML Sequence Diagram Sketches. I've now taken the time to make a couple of improvements in response to user requests.

  • The diagram can now show a notation next to the return arrow. So, for example you could show the return type.
  • There is now a very basic preferences system so that you can change the colors that are used in the diagram and choose whether or not to display return types.
  • You can now include spaces in object names, method names, and return types by surrounding them by single or double quotes.

So, for instance, this diagram is produced from this text.

(Comments newComment
  (CommentFactory newComment "a new comment"
    (Comment new 
      (IDGen nextID newId) 
      (Transaction "add(this)")))
  (Comments addToCache))

Here's a screen shot of SEQUENCE in action and finally links to an executable jar file and a jar file containing the source code.

Posted by Alex at November 28, 2002 08:50 PM
Comments
Alex, take a look at what Bob Lee's built on top of Sequence. It's rather neat. His site is at: http://crazybob.org/index.jsp Posted by: Ade on January 6, 2003 04:02 AM
Great little tool. But why put the return value in the same line as the method called - I mean BEFORE the nested calls ? This is not a natural way to output the sequence executed if I am writing aspects (see crazybob.org Bob Lee stuff), or if i am using insertBefore and insertAfter statement interceptor. Could'nt be something like (caller method_on_cally (cally method returnedValueOfMethod) returnValueOfMethod_on_cally ) instead of (caller method_on_cally returnValueOfMethod_on_cally (cally method returnedValueOfMethod) ) Posted by: Pam on February 19, 2003 04:22 PM
I apologize for the rather poor syntax for expressing the diagram. It was unfortunately just hacked together. The current structure makes parsing very easy. Putting the return at the end makes it harder. The next version of sequence, which I hope to have completed soon will make it easier to support different syntaxes and I'm probably going to have some alternatives available then. Posted by: Alex on February 22, 2003 08:11 PM
I actually like the current format. It suits the "coding by intention" technique in which I define the call and what I expect back prior to working on the nitty gritty of the call. The layout also looks cleaner in the situation where you have a large internal call - the return value is then not separated from the call by a many lines. Posted by: James on March 3, 2003 08:37 PM
Thank you for good tool. Posted by: IGAWA Masayuki on March 13, 2003 11:13 PM
Thanks. Posted by: hugh on March 13, 2003 11:16 PM
Does anyone know how to fix the following exception I get when generating in a headless environment (sequence.jar version 7)? The contents of diagram.txt are a working example from sequence's help menu. E:\>java -jar sequence.jar --headless e:\diagram.txt Reading "e:\diagram.txt" and creating "e:\diagram.png". Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -1 at java.util.ArrayList.get(ArrayList.java:326) at com.zanthan.sequence.layout.LayoutData.getMaxHeaderX(LayoutData.java:213) at com.zanthan.sequence.layout.LayoutData.getWidth(LayoutData.java:324) at com.zanthan.sequence.headless.PngCreator.outputPng(PngCreator.java:86) at com.zanthan.sequence.headless.PngCreator.output(PngCreator.java:58) at com.zanthan.sequence.Main.runHeadless(Main.java:59) at com.zanthan.sequence.Main.main(Main.java:129) Many thanks Posted by: Richard Payne on July 16, 2004 10:32 AM
This is awesome! No more carpal from those awful Rational and Microsoft tools. Would be a nice plus if you could generate the .png from the gui, but I'm not complaining. Thank you! Posted by: Sydney on February 7, 2005 04:00 PM
hm...interesting, good program for diagrams:) Bathroom Vanity Posted by: Chudil on June 23, 2005 08:09 AM
Open source wiki http://snipsnap.org seems to support it's own UML sketching language (becomes handy if you use wiki to create and publish your design documents). Posted by: Andrew Vishnyakov on November 1, 2005 08:23 AM
Hi, I need to produce models: Use case model, class diagram, sequence diagram for an online banking system which: Customer can - transfer funds from current a/c they own (can be joint a/c), to another current a/c - transfer funds from current a/c to their credit a/c (credit card a/c) - view any transactions on their a/c with designated periods - set up direct debit payment or standing order on their a/cs - Customer will be logged off system if inactive for 3 minutes after no activity, or after not using a service after 3 mins. - Customer will be logged off if incorrect details. - Customer should be able to request hard copy of transactions. WOULD BE VERY GRATEFUL FOR ANY HELP!!! THANKS Posted by: Omf on November 24, 2005 10:26 AM
I've managed to integrate your SEQUENCE program with Doxygen. It makes the generated documentation much better. You can find it at my blog here : http://goolife.blogspot.com/2005/11/doxygen-meets-sequence-diagrams.html Posted by: gooli on November 28, 2005 09:36 AM
I've written a library that also produces Sequence Diagrams. Mine is not (yet) driven via a XML format but from an API. It does however support more UML diagram artifacts such as Async messaging, Frames and multiple page output. The look & feel and layout properties are all externalized for easy customization. You can find it here http://rjeeai.blogspot.com/ Posted by: rje on March 29, 2006 07:48 AM
I've also written and Sequence Diagram generator. It's driven via a Java API and has support for several UML diagram artifacts such as Sync/Async messaging, Embeddable frames, multi page output. You can find it here http://rjeeai.blogspot.com/ Posted by: rje on March 29, 2006 07:51 AM
Hi, I need some help from the developer of Sequence... I have changed the grammar to allow loops to be captured... and so now i need to draw a frame around the looped items ie.. {object.method();} And im battling to figure out the structure/layout to draw these objects... because i will need to move the method body blocks down a bit, so that the frame can be drawn and so that the mehod calls can fall inside the frame??? Please contact me... on my email...gerhard.goosen@bluespere.co.za.. Thanks Posted by: Gerhard on May 18, 2006 02:54 AM
Best forex solution! Get free demo account now! http://forex-club.atspace.com Posted by: Jonh Forex on September 23, 2006 10:39 AM
Hi, I need to produce models: Use case model, class diagram, sequence diagram for an online banking system which: Customer can - transfer funds from current a/c they own (can be joint a/c), to another current a/c - transfer funds from current a/c to their credit a/c (credit card a/c) - view any transactions on their a/c with designated periods - set up direct debit payment or standing order on their a/cs - Customer will be logged off system if inactive for 3 minutes after no activity, or after not using a service after 3 mins. - Customer will be logged off if incorrect details. - Customer should be able to request hard copy of transactions. WOULD BE VERY GRATEFUL FOR ANY HELP!!! THANKS Posted by: amit garg on November 4, 2006 10:19 PM
Post a comment
Name:


Email Address:


URL:


Comments:


Remember info?