UML Sequence Diagrams

About Trace Modeler

Scratching a personal itch...

Trace Modeler came about by scratching a personal itch. I'm a CS teacher and have to create UML sequence diagrams for my course notes and projects. I also encourage my students to create sequence diagrams for theirs, I find them indispensable when trying to grasp the dynamics of a system.

The only problem was, I couldn't find a decent tool to draw them with. The UML tools I checked out all had usability issues when it came to sequence diagrams. In short, they weren't nearly as helpful as they could be and forced me to layout the diagrams by hand. So, having an interest in the design of graphical editors anyway, I figured I might as well roll my own.

The first prototype was ready in a matter of weeks and had a text-based interface - you wrote the text and it produced your diagram, taking care of all the layout issues for you. For my purposes that initial version (then called 'Sequencer') was already a big improvement. But you know how it is.. Once you start scratching an itch, it is difficult to stop

So I kept working on it, completely changed the interface, added a lot more functionality and further improved the automatic layout features. Now everything can be done with the mouse and working with UML sequence diagrams has never been easier.

Along with the new interface came a new name. The term 'sequencer' was already used in a lot of other contexts (e.g. biotechnology and music) and something a bit more distinctive was needed. Considering the purpose of sequence diagrams - visualizing execution traces - the name Trace Modeler seems spot on.

The bigger picture

Hopefully Trace Modeler will contribute to the software development community in three ways

make prototyping with sequence diagrams a mainstream technique

encourage people to better document the dynamics of their system

enable novice OO-developers to 'get' responsibility driven design

Sequence diagrams are a great way to prototype an object-oriented model but such an approach is only feasible if drawing and changing the diagrams can be done quickly.

It doesn't make much sense with conventional UML tools because too much time is wasted on graphical issues, but with Trace Modeler prototyping with sequence diagrams has finally become feasible!