rss resume / curriculum vitae linkedin linkedin gitlab github twitter mastodon instagram
MonoUML, Ingenierí­a Inversa. Segunda Parte
Mar 13, 2005

Despuí©s de un dí­a de arduo trabajo, he subido al CVS la versií³n actual de la parte de ingenierí­a inversa aunque he detectado los siguientes detalles:

  1. El proceso de importacií³n del ensamblado al XMI no es lento, tampoco la serializacií³n, algo muy bueno.
  2. El proceso de importacií³n del XMI, es decir las deserializacií³n, en MonoUML es un poco tardado (en mi P4 2.8/512 RAM, tardo unos 2 minutos).
  3. Las pruebas que hice fueron con un XMI de unos 5.0MB, es decir la librerí­a de Gtk# completa (ademí¡s de TODAS sus dependencias), algo no tan bueno aunque vií©ndolo bien 5.0MB de XMI no es tanto, pues esta completa la librerí­a.
  4. Al XMI aíºn le hace falta aumentar en tamaí±o, pues apenas agregue las clases (constructores, mí©todos) y las enumeraciones ademí¡s de los tipos primitivos, así­ que segíºn mis cí¡lculos aumentarí¡ un 50% mí¡s en tamaí±o.

Despuí©s de esperar aproximadamente 2 minutos para deserializar se ve lo siguiente:

GTK# CargadoGTK# Cargado

Es claro que en el dií¡logo Reverse Engineering se deben utilizar threads para que el usuario no crea que se ha colgado la aplicacií³n. Cuando todo este mejor sin duda harí© el dialogo de importacií³n simultanea de ensamblados para ser salvados en un sí³lo XMI, aunque serí­a bueno ayudar a Rodolfo para permitir que dentro de la librerí­a XMI se permitan míºltiples archivos simultaneamente, posiblemente eso mejore el serializacií³n de XMI al igual que su deserializacií³n en MonoUML.

Ademí¡s de todo lo anterior, Rodolfo se propuso hacer esa caracterí­stica de poder cortar los Edges (asociaciones) como lo hace Poseidí³n y ArgoUML, y lo ha logrado:

UMLCanvas#

Y no sí³lo eso, sino que junto con algunas caracterí­sticas anteriores escritas por Manuel el canvas se esta convirtiendo en algo mí¡s usable, olvidemonos de cosas arcaicas como los Glue Points :) ¡Felicidades!

PD. Que bonito el tema de ClearLooks


Back to posts