Monday, January 24, 2005

Año nuevo, email nuevo

Finalmente sucedió: me cansé de Hotmail. Mi nueva dirección es <minombre>.<miapellido>@gmail.com.

En otros órdenes de la vida, MonoUML ya cuenta con soporte básico para generación de código (C#). Por supuesto, está basado en ExpertCoder, el framework para proyectos MDA y de generación de código preferido por la juventud ;-D

Saturday, January 15, 2005

Nueva versión de Expert Coder

Esta mañana liberé una nueva versión de Expert Coder, la 20050115. Esta versión incorpora, entre otras cosas, todas las mejoras que se hicieron a la libería de UML 2.0 mientras se avanzó con MonoUML.

Además, tiré un par de líneas en los emails de anuncio, avisando que se necesita ayuda; si bien el conjunto de librerías está bastante funcional, hay muchas áreas donde se puede colaborar.

Luego de liberar la versión, comencé a trabajar en un proyecto que tenía en mente desde hace tiempo: brindar algún mecanismo para que sea posible preguntarle a un sistema experto cuales son los parámetros que espera, y que además simplifique el uso de parámetros en las reglas. Resultó ser más sencillo de lo que pensaba, y el mecanismo en cuestión ya está implementado (en CVS).

Como me quedó algo de tiempo, implementé un par de visores más para la pestaña de propiedades UML de MonoUML: uno para Classifier.Generalization y otro para BehaviredClassifier.InterfaceRealization. En otras palabras, permite indicar las herencias entre clasificadores y las interfaces que implementa un clasificador - clase, tipo de dato, tipo primitivo, etc. Todo en CVS, por supuesto.

Voy a comenzar a pensar en un mecanismo de plugins para MonoUML, que permita escoger un generador de código, generar dinámicamente un formulario para asignar sus parámetros, y ejecutarlo. Este proyecto va de la mano con otro: crear un formato de archivo para MonoUML. Este nuevo formato deberá permitir almacenar no solo el modelo UML y los diagramas, sino también las preferencias de generación de código de cada generador que el usuario haya utilizado, para evitar tener que indicar los mismos parámetros una y otra vez. Me gustaría hablar con Mario acerca de estos temas para conocer su opinión; será la próxima vez que nos encontremos en #monouml.

A propósito, la lista con el avance en la librería de UML 2.0 está aquí, y aquí el avance de la versión en cvs.

Tuesday, January 11, 2005

Vacaciones

Mar del Plata

La semana pasada estuve de vacaciones en Mar del Plata. La pasé muy bien, mi esposa y yo nos alojamos en un hotel y salimos muchas veces a almorzar y a cenar a restaurantes, también fuimos al teatro un par de veces; una vida bastante cómoda y por cierto cara, pero vale la pena considerando que me tomé solo una semana de vacaciones - y además, me lo merecía ;-).

Además de todo esto, pude estar con mis padres y también con unas primas mías muy queridas, esto fue una alegría porque hacía tiempo que no las veía.

Proyectos

Al intentar retomar las actividades en el proyecto ExpertCoder, me di cuenta de que ni siquiera yo mismo tengo claro el grado de avance de la librería de UML. Para remediar esto, estoy escribiendo un XML donde se indica qué características están ya disponibles en la librería, junto a un XSLT que formatea este XML de manera agradable a la vista. Cuando termine la lista publicaré su ubicación, y retomaré el generador de código de C#, que pienso luego integrar a MonoUML; al finalizar esta tarea liberaré una nueva versión de EC.

También tengo en mente escribir un documento que explique los criterios escogidos en la implementación de la librería, para luego solicitar colaboración en los foros. Después de todo, es un buen momento para subirse al barco, ya que, hasta donde yo se, esta es la única librería para manejo de modelos UML 2.0 disponible para .NET, así que hay mucha noosfera para cultivar.