Aprobar sin aprender: el riesgo de delegar la programación a la inteligencia artificial

Imagen
Un estudiante recibe una tarea de programación, copia las instrucciones en una herramienta de inteligencia artificial y obtiene una solución en segundos. Ejecuta el programa, comprueba que produce el resultado esperado y lo entrega. La actividad está terminada, pero queda una pregunta que una calificación puede dejar sin respuesta: ¿qué aprendió? Esta situación plantea un desafío para la enseñanza de la programación. Una entrega puede contener código correcto, ordenado y acompañado de explicaciones, sin que quien lo presenta comprenda cómo funciona. Cuando la evaluación se concentra únicamente en el producto final, resulta difícil distinguir entre quien desarrolló una solución y quien consiguió que una herramienta la generara. La preocupación va más allá de la honestidad académica. Si un estudiante acredita materias sin adquirir las competencias que estas deberían desarrollar, puede avanzar hacia el mercado profesional con una preparación insuficiente. El problema que parecía resolvers...

Como Definir un Metamodelo con Eclipse Modeling Framework (EMF). Domain Specific Language (DSL)




En esta entrada les explico lo que es un Metamodelo (MM) y un Domain Specific Language (DSL) dentro del entorno del Model-Driven Development (MDD).

Un DSL se puede definir como una herramienta específica para una tarea específica. Es un lenguaje que maneja los conceptos propios de un dominio. Esto es, por ejemplo, en el ámbito de la construcción, podríamos decir que los conceptos, palabras, terminología que se emplea en dicho dominio son especificados en diagrama de clases en dónde cada clase corresponde con un concepto de ese dominio. 

Un metamodelo, por su parte, es la implementación de un DSL dentro del Eclipse Modeling Project, a través del Eclipse Modeling Framework, básicamente:
  • Permite construir un lenguaje de dominio especifico
  • Transformar modelos (M2M y M2T)
  • Generar código (M2T)
  • Interoperabilidad de datos
  • Generar documentación
Para poder construir un metamodelo, es necesario conocer ese conjunto de conceptos del dominio a modelar (llamadas metaclases) y sus relaciones (meta-asociaciones). Para esto, debemos saber ¿Cuál es el tipo de problema que queremos modelar?  y ¿Quiénes serán los usuarios del lenguaje? 

En el siguiente video muestro, paso a paso, como construir un MM con el entorno Eclipse a través del Eclipse Modeling Framework (EMF). El video esta en mi canal de YouTube.



Esto es la antesala para la generación de código fuente a partir de modelos. 

Es cuánto. 


Comentarios

Mi foto
José Alfonso Aguilar
Mazatlán, Sinaloa, Mexico
Me gusta aprender y escribir sobre tecnología y desarrollo. Soy Ingeniero en Sistemas Computacionales, trabajo como Profesor-Investigador en la Facultad de Informática Mazatlán, de la Universidad Autónoma de Sinaloa. México. Me gusta combinar la docencia-investigación con el giro profesional del desarrollo de software y gestión de proyectos de innovación.

Entradas más populares de este blog

Stateful vs Stateless Design - ¿Cuál es la diferencia?

Conceptos Básicos de la Arquitectura REST (REpresentational State Transfer)

Todo lo que debes saber sobre el Model-View Controller (MVC) para Aplicaciones Web