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 (metasociaciones). 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.



From my YouTube Channel: 

Step-by-step guide to create a metamodel using the Eclipse Modeling Project implementation of the MOF (Meta-Object Facility) architecture for Model-Driven Development.
  • How to create an EMF Project.
  • How to create a easy metamodel (ECORE).
  • How to text the metamodel creating a Dynamic Instance (xmi file)

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

Hasta la próxima.

Twitter: @Mode2001

Facebook: ProfJose Alfonso Aguilar Calderon

YouTube: Dr. Jose Alfonso Aguilar Calderon

Website: http://info.maz.uasnet.mx/jaguilar

LinkedIn: https://www.linkedin.com/in/ja-aguilar/


Comentarios

Populares

Un Juego de Dados en Java con Random e ImageIcon mediante NetBeans

Validación de Campos con C#

Como crear y leer un archivo XML en C#

¿Cómo nombra la Fundación Eclipse a las versiones del IDE Eclipse?