¿Qué son las Ciencias Computacionales y en qué se diferencian de la Ingeniería de Software?

Imagen
 En esta entrada del blog voy a compartir lo que yo entiendo como Ciencias Computacionales y su diferencia con la Ingeniería de Software. Cuando alguien escucha Ciencias Computacionales , muchas veces piensa: “Ah, eso es programar apps”, pero no. Es mucho más que eso. En este artículo voy a explicarlo sencillo, sin palabras complicadas. ¿Qué son las Ciencias Computacionales? Las Ciencias Computacionales (o Ciencias de la Computación) son la disciplina que estudia cómo funcionan los procesos de cómputo , cómo se representa la información y cómo resolver problemas usando algoritmos. En pocas palabras: es la ciencia que estudia cómo pensar problemas para que una computadora pueda resolverlos. No se trata solo de programar, sino de entender qué es posible calcular, cómo hacerlo eficiente y cómo modelar problemas del mundo real. ¿De dónde provienen? Las Ciencias Computacionales nacen formalmente en la década de 1930 y 1940, cuando matemáticos comenzaron a preguntarse: ¿Qué problemas p...

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

Historia y versiones de HTML (HyperText Markup Language)

Prototipado en Ingeniería de Software: Modelar antes de Construir

Hablemos de Propiedad Intelectual