Este post está especialmente dedicado a los que enseñáis informática. Sé perfectamente lo difícil que es enseñar Ingeniería de Software. Especialmente toda la parte de análisis y diseño, incluyendo los lenguajes de modelado y su aplicación. No es que sea difícil la parte técnica. Lo difícil es motivar a los estudiantes. Ya podemos explicarles lo importante que es el diseño de software que parece que la mayoría tengan alergia a todo lo que no sea programar.

Esto lo sufrí en mis propias carnes cuando fracasé en convencerlos de las bondades de la generación de código. Un análisis más profundo ya sacó a relucir que muchos de los probemas eran de tipo personal más que de complejidad del modelado en si.

A raíz de eso  ya propusimos que una posible solución era tener casos de estudio de modelado que fueran más “sexy” para los estudiantes. La idea es que los cursos de modelado o de desarrollo de software dirigido por modelos (model-driven engineering o MDE, en inglés) utilizarán estos ejemplos para motivar mejor a los estudiantes. Hoy os traigo el qué, creo, es el mejor caso práctico: el uso de técnicas de modelado y generación de código para crear chatbots.

Xatkit, nuestra plataforma “low-code” para chatbots y cualquier tipo de bot en general, permite la creación de todo tipo de chatbots profesionales que interaccionen con un buen número de plataformas. Pero al mismo tiempo, Xatkit es una plataforma 100% basada en modelos lo que la convierte en un gran caso de estudio para demostrar los beneficios del modelado (ej. mira como puedes crear un bot que pone imágenes de Giphy en Slack respondiendo a los mensajes del canal con apenas 10 líneas de texto , utilizando nuestro Chatbot DSLs).

Xatkit tiene todos los ingredientes que esperas encontrar en una solución basada en modelos: DSLs (textuales en Xtext), un metamodelo de chatbots (en EMF), separación PIM-PSM, modelado de plataformas, lenguaje de eventos,…. con lo que se puede utilizar para ilustrar cualquier aspecto de modelado.

Por esto mismo, cuando nos invitaron a participar en un curso sobre modelado en Uruguay (gracias a Daniel & cia por la invitación) decidimos utilizar los chatbots como caso práctico para el curso. Y fue un gran éxito. Hoy en día, todo el mundo parece interesado en los chatbots. Y el tener la opción de crear chatbots de una forma fácil e independinete de la plataforma de despliegue gracias a xatkit convenió a los estudiantes de las ventajas de modelar antes que programar. Aún más en un campo como los chabots donde hay multitud de soluciones tecnológicas de bajo nivel incompatibles entre ellas. No es para una buena idea casarse con ninguna. Xatkit lo evita.

Este experimento fue positivo para todos. Los estudiantes entendieron las ventajas del modelado y salieron con su chatbot y nosotros conseguimos un buen feedback, nuevos ejemplos y hasta nuevos contribuidores a la plataforma (ej, la plataforma de bots para twitter ). Es por esto que estamos abiertos a repetir el experimento con otras universidades.

Para ser más concretos, ¿qué ofrecemos?:

  • Un paquete de presentaciones que cubre todos los aspectos de la ingeniería de software dirigida por modelos. De hecho, esto ya está disponible en esta colección de más de 500 slides sobre modelado
  • Material de introducción a los chatbots, bots y RPAs (Robotic-Process automation) con un foco en la complejidad tecnológica de este ecosistema que lo hace perfecto para que MDE brille y demuestre todo su poder.
  • Tutoriales y guías sobre como usar Xatkit para modelar y desplegar chatbots en una gran variedad de plataformas.
  • (si os interesa) Nuestra participación ocasional en el curso (presencial o remota dependiendo de donde se haga el curso). Por ejemplo, para dar una clase práctica del manejo de Xatkit.

¿Y qué esperamos?.

  • Vuestro feedback acerca de la experiencia para ayudarnos a mejorar.
  • Y que como mínimo uno de los ejercicios prácticos del curso tenga que ver con Xatkit. Nuestra sugerencia es organizar el caso práctico en base a dos niveles de dificultad.
      • Estudiantes como usuarios de MDE: Los estudiantes crear un chatbot con los DSLs en Xatkit y consiguen desplegarlo sobre una plataforma concreta. Usan herramientas MDE pero no crean nuevos componentes de modelado.
      • Estudiantes como creadores MDE: Los estudiantes extienden Xatkit (la opción más fácil sería añadir una nueva plataforma) y desarrollan un chatbot que haga uso de esa extensión. En este caso, los estudiantes no son simples utilizadores si no que ven de primera mano como crear un componente MDE.

¿Interesado? Contactad conmigo y lo hablamos.