Code To Diagram

Interpreting XML into Sequence Diagrams

Sequence Diagrams

Sequence diagrams are simple and easy to understand. However, create sequence diagrams automatically can be very complex by XMI interpratation, image generation and still very restrict to some kind language or output.

Code to Diagram Proposal

To make this process easier, We've developed an automatic diagram generator that factory the diagram object from many different factory as XML and Code Execution ( yeahhh ) then it can be sent to one of the printers that have the most diverse output types as XML, HTML, Jpeg, etc..

Some printers need to be maded yet. And, if you have some special case, when any of the avaliable printers and factorys solve your problem, everthing it is extremly well doc to help to you create new classes and append new features.

code to diagram flow
Limitations

While still not fully working on Internet Explorer, the generator already makes life easier for those responsible in maintaining this kind of diagrams. We welcome anyone with the patience and desire to make the CSS changes need for it to work on IE.

Under Development

Also, fully compliance with UML 2.0 is still under development. Anyone interested in working in these fields is more than welcome to join the team. And if you have a patch on add-on to send, feel free to do so. Just send an e-mail to me thiago.henrique.mata@gmail.com .

And remember, this is free software, in development, and as such, I can give you no warranty. Use it at your own risk. It's not for the faint of heart.

Tag names can and should change. New tags can be add anytime. Stay tunned for more news.

Code to Diagram can do more ?

This look nice ? And if the diagram was created by a code execution ?

Download

This software can be download by the SVN into the Code To Diagram inside the Assembla where you can find a detail description about the development team and the project

For external use try this link and see the HTML code.

Examples

The example I posted is the story of "Three Little Pigs". It should give you a view of how the generator works and also entertain you a little bit. Change the XML as you please to generate other diagrams of your own.

Team

Special thanks to Raphael Melo and Igor Moreno for helping.

Click here to see the team responsible for the development of these projects

Three Little Pigs

objWolf:Worf
firstLittlePig:Pig
secondLittlePig:Pig
thirdLittlePig:Pig
StrawHouse:House
StickHouse:House
BrickHouse:House
:Chimney
:PotOfWater
 
 
 
 
1. build()
  • $comment string
    'Because it was the easiest thing to do.'
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3. build()
  • $comment string
    'This was a little bit stronger than a straw house.'
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5. build()
  • $comment string
    'Because it was the right thing to do it.'
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7. say
  • $text string
    'Let me in, Let me in, little pig or I\'ll huff and I\'ll puff and I\'ll blow your house in!'
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8. say
  • text string
    'Not by the hair of my chinny chin chin'
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14. say
  • $text string
    'Let me in, Let me in, little pig or I\'ll huff and I\'ll puff and I\'ll blow your house in!'
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15. say
  • text string
    'Not by the hair of my chinny chin chin'
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
21. say
  • $text string
    'Let me in, Let me in, little pig or I\'ll huff and I\'ll puff and I\'ll blow your house in!'
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
22. say
  • text string
    'Not by the hair of my chinny chin chin'
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Details

  1. firstLittlePig:Pig call StrawHouse:House->build()
    $comment
    'Because it was the easiest thing to do.'
  2. secondLittlePig:Pig call StickHouse:House->build()
    $comment
    'This was a little bit stronger than a straw house.'
  3. thirdLittlePig:Pig call BrickHouse:House->build()
    $comment
    'Because it was the right thing to do it.'
  4. objWolf:Worf call firstLittlePig:Pig->say
    $text
    'Let me in, Let me in, little pig or I\'ll huff and I\'ll puff and I\'ll blow your house in!'
  5. objWolf:Worf receive from firstLittlePig:Pig->say
    text
    'Not by the hair of my chinny chin chin'
  6. objWolf:Worf call secondLittlePig:Pig->say
    $text
    'Let me in, Let me in, little pig or I\'ll huff and I\'ll puff and I\'ll blow your house in!'
  7. objWolf:Worf receive from secondLittlePig:Pig->say
    text
    'Not by the hair of my chinny chin chin'
  8. objWolf:Worf call thirdLittlePig:Pig->say
    $text
    'Let me in, Let me in, little pig or I\'ll huff and I\'ll puff and I\'ll blow your house in!'
  9. objWolf:Worf receive from thirdLittlePig:Pig->say
    text
    'Not by the hair of my chinny chin chin'

Now, change and create your own sequence diagram.