UML no está muerto. Tiene algunos problemillas, es cierto. Pero como dice Bran Selic, UML es el peor lenguaje de modelado si no fuera por todos los demás. Por eso es importante estar al tanto de las mejores herramientas UML. Y por supuesto, estoy especialmente interesado en herramientas UML de software libre.

Me preguntaba cuántas herramientas UML open source (y qué tan mantenidas están). Por lo tanto, después del éxito de mi dashboard de herramientas low-code, decidí crear un dashboard para monitorear editores UML:

Hablemos más sobre el proceso de selección de herramientas y algunos hallazgos, para mí, sorprendentes.

Contents

Proceso de selección de herramientas UML

El método de selección se basa en los siguientes criterios de inclusión:

  • Repositorios que se autodeclaran como proyectos UML
  • Repositorios con más de 50 estrellas (para descartar repos “de juguete”)
  • Repositorios activos (último commit no hace más de 1 año)
  • Herramientas que tienen como objetivo renderizar, editar o generar modelos UML

y criterios de exclusión:

  • Repositorios sin información en inglés
  • Repositorios que solo fueron creados para alojar el código fuente de un artículo publicado
  • Repositorios que son listas tipo  “awesome” o colecciones de recursos o ejemplos

La lista final es la intersección de los criterios anteriores.

¿Cuántas herramientas UML existen?

En este momento, tenemos 68 herramientas que cumplen con los criterios anteriores. No está mal. Claro, hay muchas más herramientas low-code de código abierto (que también son mucho más populares, en términos de número de estrellas), pero considerando que, para muchos, UML está muerto, diría que esto demuestra que realmente no es el caso. Ten en cuenta que uno de los criterios de selección es que la herramienta todavía esté de alguna manera en desarrollo, por lo que no contamos herramientas abandonadas. Y en cualquier caso, ya discutimos que muchas herramientas low-code vienen con DSLs que son simplemente UML pero con una capa de pintura.

Y aunque muchas de las herramientas se iniciaron hace mucho tiempo (durante los “años dorados” de UML), todavía vemos nuevas herramientas UML surgiendo.
Número de nuevas herramientas UML por año

Pero ¿cuántas herramientas UML, que no dependen de PlantUml, existen realmente?

Al mismo tiempo, debemos reconocer el enorme impacto de PlantUML para crear un ecosistema viable de herramientas UML. Si observamos de cerca la lista podemos ver que muchas derivan de alguna manera de PlantUML, extendiéndolo de varias formas. Esto muestra la importancia de las herramientas UML textuales y su impacto en la integración del modelado UML en los procesos de desarrollo de software (al ser una notación textual es mucho más fácil de integrar en todas las herramientas de control de versiones y demás).

Más de un tercio de las herramientas UML están relacionadas con PlantUML

Más de un tercio de las herramientas UML están relacionadas con PlantUML

¿Cuántas herramientas UML apuntan al mercado low-code / no-code?

Casi ninguna. Para mí esto es sorprendente ya que hay mucho UML en low-code. Y esto debería ser aún más evidente con las herramientas no-code:

Si es 0% código, entonces debería ser 100% modelado

Pero no es el caso. No hay ninguna herramienta UML que intente venderse como no-code. ¿Podría ser que UML se perciba como demasiado complejo para usuarios no técnicos?

Y solo tres, incluyendo, por supuesto, nuestra propia herramienta BESSER, ahora con un editor de modelado gráfico, mencionan low-code en su descripción o etiquetas.

¿Se ha integrado la IA en las herramientas UML?

Todavía no. En el mundo de la investigación, hay un número creciente de enfoques destinados a hacer que el modelado sea más inteligente mediante el uso de Modelos de Lenguaje Grandes u otras técnicas de IA (por ejemplo, vea nuestro enfoque basado en tree-of-thoughts), pero estas iniciativas aún necesitan llegar a las herramientas UML actuales.

No hace falta decir que apuesto a que esto cambiará en un futuro cercano. Por nuestra parte, actualmente estamos trabajando en la integración de un chatbot en el editor de modelado de BESSER para avanzar en nuestra estrategia de low-modeling.

Revisa el dashboard

Revisa el dashboard, juega con él y dime qué piensas. Aquí o en el repositorio de GitHub del dashboard.