terça-feira, 17 de fevereiro de 2009

Gerador de Diagramas de Seqüência a partir de XMLs



Recentemente, precisei gerar diagramas de seqüência automaticamente. Comecei a procurar geradores de diagramas de seqüência e de fato eu encontrei várias ferramentas que geram diagramas a partir de XMI. Dentre elas algumas que valem a pena serem citadas são: a Xmi2Svg e o Net Beans Uml Diagrams . O problema de todas as soluções apresentadas é que as entradas eram em XMI e, o pior um XMI extremamente específico, problema comum no XMI, o que o faz sair do próprio propósito original. O código do XMI é muito esquisito, na falta de uma palavra melhor. Um trecho de um diagrama de seqüência simples do Net Beans pode ajudar a demonstrar o que eu quero dizer:
</UML:GraphEdge.waypoints>
<UML:GraphElement.semanticModel>
<UML:Uml2SemanticModelBridge presentation="Message" xmi.id="xmi_id">
<UML:Uml2SemanticModelBridge.element>
<UML:Message xmi.idref="DCE.1F882CFB-E059-6341-7A50-2D9D63879AEB"/>
</UML:Uml2SemanticModelBridge.element>

Após muito procurar, eu resolvi partir para a filosofia "faça você mesmo". Então, após alguns dias de esforço, eu apresento a vocês o meu Gerador de Diagramas de Seqüência . Como é um código PHP, este está num link externo do meu ainda inutilizado dominio pessoal.

Neste conversor o XML de entrada é muito mais simples que o XMI, focado apenas no diagrama de seqüência , sendo facilmente compreensível. Conforme exemplo:

<sequence>
<actors>
<actor id="1" type="user">me:people</actor>
<actor id="2" type="system">you:people</actor>
</actors>
<messages>
<message type="call" from="1" to="2" text="hi"/>
<message type="return" from="2" to="1" text="hello"/>
</messages>
</sequence>


Gere então seu próprio XML, divirta-se no exemplo dos "Três Porquinhos" e me diga o que achou. Esse gerador de diagramas faz parte de um plano muito maior que eu ainda não revelarei para os senhores. Mas saibam que no fim tudo será revelado!!!

Nenhum comentário: