Lenguaje de metamodelado

Lenguaje de metamodelado
Información sobre la plantilla
Concepto:Notaciones en su mayoría visuales, que intentan representar un sistema de software a un nivel mucho más alto que los lenguajes de programación, representándolo en forma más intuitiva para personas sin especialización en informática.
Lenguaje de metamodelado. Los lenguajes de programación de alto nivel son los que están en auge actualmente para desarrollar software, sin embargo, el nivel de complejidad que las plataformas han alcanzado hoy en día, unido a la necesidad de adaptar el software a requerimientos en constante cambio, han creado la necesidad de simplificar aún más el desarrollo.

Ahora es necesario aumentar el nivel de abstracción, ocultar más los detalles de implementación, para así poder reducir la complejidad que el ingeniero de software debe enfrentar cuando va a crear un sistema.

Es por ello que nacen los lenguajes de modelado, notaciones en su mayoría visuales, que intentan representar un sistema de software a un nivel mucho más alto que los lenguajes de programación, representándolo en forma más intuitiva para personas sin especialización en informática. (Tasof, 2005)

Los lenguajes de metamodelado más extendidos son MOF de OMG, Ecore y el lenguaje de modelado UML 2.0.

MOF

Meta Object Facility es el lenguaje de metamodelado propuesto por el Object Management Group. Es utilizado para crear metamodelos (por ejemplo, el metamodelo de UML ha sido definido con MOF), y es, por tanto, un elemento básico de MDA. Permite expresar metadatos (igual que XML), es independiente de la plataforma, y está descrito con la notación UML y Object Constraint Language (OCL. Cada elemento del lenguaje se representa mediante una clase y sus propiedades como atributos. Las relaciones entre elementos se representan como asociaciones. Incluye la generalización permitiendo expresar que un elemento es una especialización de otro. Además, MOF usa paquetes si el metamodelo que se va a desarrollar es muy grande. (García, 2007)

En el 2006 Object Management Group publicó dos variantes de MOF: - Essential MOF(EMOF) - Complete MOF(CMOF)

Ecore

Ecore es un lenguaje común basado en EMOF que es parte de la especificación MOF. Ecore es usado por Eclipse Modeling Framework (EMF) para la definición de metamodelos. Los metamodelos y modelos usados por EMF se representan con documentos XML. (Lee, Leung y Son, 2007)

UML 2.0

UML es un lenguaje de modelado visual que se usa para especificar, visualizar, construir y documentar artefactos de un sistema de software. Está pensado para usarse con todos los métodos de desarrollo, etapas del ciclo de vida, dominios de aplicación y medios.

La expresividad de UML no es suficiente para cubrir todo tipo de situaciones. Nacen así extensiones a UML para modelar otros elementos, tales como persistencia, seguridad e interfaces gráficas.

Ante la proliferación de tantas extensiones, y la carencia de un estándar en que dichas extensiones sean especificadas, surge la necesidad de definir claramente un Metamodelo para UML. Aunque desde un principio la especificación de UML contenía un metamodelo, éste era bastante ambiguo en cuanto a extender sus capacidades.

Después de varios años de desarrollo apareció un nuevo estándar para UML, la versión 2.0, la cual incluye no sólo un nuevo metamodelo para el lenguaje de modelado en sí, sino que además incluye un meta-metamodelo. La idea detrás de esto es proveer un lenguaje que permita a cada grupo de desarrolladores definir sus propios lenguajes de modelado.

Fuentes

  • Artículo Validacion de herramientas de Metamodelado. Disponible en "graduados.uci.cu". Consultado: 24 de julio del 2011.
  • Ramírez Benitez A, Fonseca Suárez L. Validacion de Herramientas de Metamodelado. 2004-2009. Cuba: Universidad de las Ciencias Informáticas; 2009.