Wednesday 25 April 2007

Diagramming

Describing the behaviour of complex interacting systems is difficult.

Here is a clip of Rooney second goal against Milan on Tuesday night on YouTube.

Here is a diagram of that move as shown in the Independent the following day.

Is this more complex to describe than a web application, or less?

Features of a football move
  • Concurrent movement of of 22 actors (players ) to tracked
  • Only two kinds of actor - home, away (or 22 if positions are needed)
  • Only a few actors at any time are significant to the outcome
  • Only a single object,the ball, is interchanged
Features of a web application interchange
  • Several different kinds of actor, all with very different behaviour
  • Each interchange involves different objects
  • Objects are created dynamically
  • Receipt of an object (such as a script or page) alters the actor's behaviour greatly
  • Actors have fixed locations but you have to find them
Sequence diagrams are a useful technique for explaining moves in a web application. They can be drawn using a number of case tools, such as any which supports UML, but the tight binding to the rest of an object model can create difficulties. Diagram are also tedious to maintain, and there is a case for generating diagrams from a textual description.

As a small demo, I have created an application using an XML description of a sequence diagram transformed into html using either XQuery or XSLT 2.0.

(Saxon not yet activated on this server)

Of course this application will require a little more work to make it more configuable.