Diferencia entre revisiones de «Metamodelado»

m (Metamodelado)
(Etiqueta: nuestro-nuestra)
 
(Etiqueta: nuestro-nuestra)
Línea 1: Línea 1:
El metamodelado constituye una  técnica dentro de este paradigma que  juega un papel importante  y  aporta  un  gran  beneficio  al  equipo  de implementadores.  Es  un  tema fundamental en el campo de  las bases de datos y desarrollo de software. Este  término nace  con  la misma  filosofía  que  en  su  tiempo  motivó  a  desarrollar  computadores  de propósito general en lugar de seguir con el esquema de construir un ordenador para cada aplicación en particular. Al aplicarlo en el desarrollo de aplicaciones informáticas permite  
+
{{Definición
diseñar  un  modelo  de  datos  (el  metamodelo)  con  la  capacidad  de  almacenar  otros modelos de información.
+
|nombre= Metamodelado
 +
|imagen=
 +
|tamaño=
 +
|concepto=  Constituye una  técnica dentro de este paradigma que  juega un papel importante  y  aporta  un  gran  beneficio  al  equipo  de   implementadores.  Es  un  tema fundamental en el campo de  las bases de datos y desarrollo de [[Software]].
 +
}}
 +
 
 +
'''Metamodelado'''. Este  término nace  con  la misma  filosofía  que  en  su  tiempo  motivó  a  desarrollar  computadores  de propósito general en lugar de seguir con el esquema de construir un ordenador para cada aplicación en particular. Al aplicarlo en el desarrollo de aplicaciones informáticas permite diseñar  un  [[modelo  de  datos]] (el  metamodelo)  con  la  capacidad  de  almacenar  otros modelos de [[información]].
 +
 
 +
== Modelo ==
 +
 
 +
Puede  considerarse  que  los  campos  de  la  ingeniería  desarrollan  sus  aplicaciones basados  en modelos,  al  igual  que muchas  acciones  de  la  vida  diaria.  Los modelos se usan para explicar y controlar fenómenos a nuestro alrededor y pueden predecir eventos que  están  por  ocurrir. Se  define  un  modelo  como  “un  ente  que  representa  de  forma precisa algo que será realizado o que ya existe”. (Sánchez, [[2008]])
  
== '''Modelo''' ==
 
Puede  considerarse  que  los  campos  de  la  ingeniería  desarrollan  sus  aplicaciones basados  en modelos,  al  igual  que muchas  acciones  de  la  vida  diaria.  Los modelos se usan para explicar y controlar fenómenos a nuestro alrededor y pueden predecir eventos que  están  por  ocurrir.  Se  define  un  modelo  como  “un  ente  que  representa  de  forma precisa algo que será realizado o que ya existe”. (Sánchez, 2008)
 
 
   
 
   
En general el modelo debe expresar de manera clara y correcta lo que se quiere obtener, sin  sobrecargar  de  información  al  mismo,  éste  debe  ser  completo.  Los  modelos  son utilizados en la ingeniería para varios propósitos, dentro de ellos se puede mencionar que son  utilizados  para  captar  y  enumerar  exhaustivamente  los  requisitos  y  el  dominio  de
+
En general el modelo debe expresar de manera clara y correcta lo que se quiere obtener, sin  sobrecargar  de  información  al  mismo,  éste  debe  ser  completo.  Los  modelos  son utilizados en la ingeniería para varios propósitos, dentro de ellos se puede mencionar que son  utilizados  para  captar  y  enumerar  exhaustivamente  los  requisitos  y  el  dominio  de conocimiento, de forma que todos los  implicados puedan entenderlos y estar de acuerdo con ellos, ayudar a pensar el diseño de un sistema, para capturar decisiones del diseño de manera tal que puedan ser cambiados a partir de los requisitos. Otros de sus usos es el de generar productos aprovechables para el trabajo y facilitar el manejo de los sistemas complejos. (Isla y Llanes., 2008)
conocimiento, de forma que todos los  implicados puedan entenderlos y estar de acuerdo con ellos, ayudar a pensar el diseño de un sistema, para capturar decisiones del diseño de manera tal que puedan ser cambiados a partir de los requisitos. Otros de sus usos es el de generar productos aprovechables para el trabajo y facilitar el manejo de los sistemas complejos. (Isla y Llanes., 2008)
+
 
 
   
 
   
 
El  modelo  es  una  instancia  del  metamodelo.  Cuando  se  crea  un  modelo  se  está definiendo un lenguaje para describir el área que se está analizando o el sistema que se está diseñando. (González, 1998)  
 
El  modelo  es  una  instancia  del  metamodelo.  Cuando  se  crea  un  modelo  se  está definiendo un lenguaje para describir el área que se está analizando o el sistema que se está diseñando. (González, 1998)  
 
   
 
   
 +
 
Uno de los elementos más utilizados en el desarrollo de software es el modelo, pues es necesaria una visión diferente del sistema a desarrollar. La construcción de un sistema se realiza a través de éstos, utilizándolos para describir todas las perspectivas del sistema. Este proceso se conoce como modelado.  
 
Uno de los elementos más utilizados en el desarrollo de software es el modelo, pues es necesaria una visión diferente del sistema a desarrollar. La construcción de un sistema se realiza a través de éstos, utilizándolos para describir todas las perspectivas del sistema. Este proceso se conoce como modelado.  
  
El modelado  es  un  ejercicio  de  abstracción,  entendida  esta  como  una  simplificación  y generalización  de  la  realidad.  El  uso  de  la  abstracción  permite  describir,  representar, manejar y resolver problemas complejos, pudiendo después aplicar los resultados a casos concretos. Normalmente, se construyen jerarquías de abstracción, en las que cada nivel  
+
El modelado  es  un  ejercicio  de  abstracción,  entendida  esta  como  una  simplificación  y generalización  de  la  realidad.  El  uso  de  la  abstracción  permite  describir,  representar, manejar y resolver problemas complejos, pudiendo después aplicar los resultados a casos concretos. Normalmente, se construyen jerarquías de abstracción, en las que cada nivel de abstracción se apoya en los inferiores.
de abstracción se apoya en los inferiores.
+
 
 +
== Niveles de abstracción en el modelado ==
 +
 
 
    
 
    
 
'''Niveles de abstracción en el modelado''' (Isla y Llanes., 2008):
 
'''Niveles de abstracción en el modelado''' (Isla y Llanes., 2008):
Línea 27: Línea 38:
 
3.  Nivel  de  Meta-metamodelo:  definición  de  la  estructura  y  la  semántica  de  los meta-metadatos.  Se  capturan  las  características  comunes  de  subconjuntos  de modelos  dando  lugar  a  metamodelos  que  se  agrupan,  describiéndose  las relaciones entre ellos, para formar un meta-metamodelo.   
 
3.  Nivel  de  Meta-metamodelo:  definición  de  la  estructura  y  la  semántica  de  los meta-metadatos.  Se  capturan  las  características  comunes  de  subconjuntos  de modelos  dando  lugar  a  metamodelos  que  se  agrupan,  describiéndose  las relaciones entre ellos, para formar un meta-metamodelo.   
  
 +
== Metamodelo ==
  
== ''' Metamodelo''' ==
 
 
Según  (Quasar  Tecnología,  2007),  “el metamodelo  es  un modelo  con  la  capacidad  de almacenar  diferentes  modelos”.  Partiendo  de  esta  definición  se  puede  pensar  en  la posibilidad  de  construir  un  producto  de  software  con  la  capacidad  para  registrar información  en  el metamodelo  y  otro  producto  con  la  capacidad  de  realizar  consultas  
 
Según  (Quasar  Tecnología,  2007),  “el metamodelo  es  un modelo  con  la  capacidad  de almacenar  diferentes  modelos”.  Partiendo  de  esta  definición  se  puede  pensar  en  la posibilidad  de  construir  un  producto  de  software  con  la  capacidad  para  registrar información  en  el metamodelo  y  otro  producto  con  la  capacidad  de  realizar  consultas  
 
sobre el mismo.  
 
sobre el mismo.  
Línea 40: Línea 51:
 
Esta  área  almacena  la  información  acorde  a  la  estructura  definida  en  el  área  de metadatos.  Es  aquí  donde  se  registra  la  información  proveniente  del  mundo  real, estructurada de acuerdo a los formatos que forman parte del modelo almacenado en el área de metadatos.  
 
Esta  área  almacena  la  información  acorde  a  la  estructura  definida  en  el  área  de metadatos.  Es  aquí  donde  se  registra  la  información  proveniente  del  mundo  real, estructurada de acuerdo a los formatos que forman parte del modelo almacenado en el área de metadatos.  
  
El metamodelo  es  la  capa  donde  se  define  el  lenguaje  que  sirve  para  especificar  los modelos que serán creados. En otras palabras, sirve para describir los elementos que van a componer los diagramas. (González, 1998)
+
El metamodelo  es  la  capa  donde  se  define  el  lenguaje  que  sirve  para  especificar  los modelos que serán creados. En otras palabras, sirve para describir los elementos que van a componer los diagramas. (González, 1998)  
Se  puede  considerar  que  un  metamodelo  es  una  definición  precisa  de  las  reglas necesarias para definir la semántica de los modelos. Otra definición a tener en cuenta es la  que  se  plantea  en  (Reina,  Torres  y  Toro,  2006)  en  la  que  se  considera  que  el metamodelado puede  verse como una actividad que está  tomando auge en  los últimos años y que sirve para organizar  los modelos en diferentes niveles,  de  tal modo que un  
+
 
modelo  se  describe  por  otro  modelo  que  está  situado  en  un  nivel  superior,  su metamodelo.  
+
Se  puede  considerar  que  un  metamodelo  es  una  definición  precisa  de  las  reglas necesarias para definir la semántica de los modelos. Otra definición a tener en cuenta es la  que  se  plantea  en  (Reina,  Torres  y  Toro,  2006)  en  la  que  se  considera  que  el metamodelado puede  verse como una actividad que está  tomando auge en  los últimos años y que sirve para organizar  los modelos en diferentes niveles,  de  tal modo que un modelo  se  describe  por  otro  modelo  que  está  situado  en  un  nivel  superior,  su metamodelo.  
  
 
Finalmente  las  autoras  definen  un  metamodelo  como  un  modelo  que  almacena información  referente  a  otros modelos,  describiendo  los  elementos  que  conforman  los mismos.   
 
Finalmente  las  autoras  definen  un  metamodelo  como  un  modelo  que  almacena información  referente  a  otros modelos,  describiendo  los  elementos  que  conforman  los mismos.   
  
== '''Metamodelado''' ==
+
== Metamodelado ==
 +
 
 
   
 
   
 
En  (De  Lara,  Vangheluwe  y  Alfonseca,  2003)  se  define  el  metamodelado  como  el “proceso de modelado de  formalismos”, el cual se suele  realizar para determinar si una instancia  de  un  modelo  particular  es  consistente  con  su  especificación  en  forma  de metamodelo.   
 
En  (De  Lara,  Vangheluwe  y  Alfonseca,  2003)  se  define  el  metamodelado  como  el “proceso de modelado de  formalismos”, el cual se suele  realizar para determinar si una instancia  de  un  modelo  particular  es  consistente  con  su  especificación  en  forma  de metamodelo.   
Línea 52: Línea 64:
 
La  técnica  de  metamodelado  permite  definir  lenguajes  de  modelado,  a través de un metamodelo. De acuerdo con  lo antes planteado se puede  resumir que el metamodelado  no  es  más  que  una  técnica  que  permite  la  creación  de  lenguajes  de modelado, mediante  la  realización  de metamodelos,  ya  que  éstos  como  bien  se  dice anteriormente, no son más que un modelo de un lenguaje de modelado.  
 
La  técnica  de  metamodelado  permite  definir  lenguajes  de  modelado,  a través de un metamodelo. De acuerdo con  lo antes planteado se puede  resumir que el metamodelado  no  es  más  que  una  técnica  que  permite  la  creación  de  lenguajes  de modelado, mediante  la  realización  de metamodelos,  ya  que  éstos  como  bien  se  dice anteriormente, no son más que un modelo de un lenguaje de modelado.  
  
El metamodelado se comprende a partir de una estructura de cuatro niveles M0, M1, M2, M3  (Isla  y  Llanes,  2008),  los  cuales  se  describen  en  la  Tabla  1  que  se  explica  a continuación.  En esta estructura, el nivel M3 establece las primitivas de metamodelado, esto es, el lenguaje de metamodelado. En el nivel M2, se definen  los metamodelos en sí con las primitivas de M3. En M1 se aplican los metamodelos para generar instancias, que se  denominan modelos.  Por  último,  en  M0  se  realiza  la  instanciación  de  los modelos donde se tiene la información que se manejará en el sistema.[[Archivo:Metamodelado.JPG]]
+
El metamodelado se comprende a partir de una estructura de cuatro niveles M0, M1, M2, M3  (Isla  y  Llanes,  2008),  los  cuales  se  describen  en  la  Tabla  1  que  se  explica  a continuación.  En esta estructura, el nivel M3 establece las primitivas de metamodelado, esto es, el lenguaje de metamodelado.  
  
 +
En el nivel M2, se definen  los metamodelos en sí con las primitivas de M3. En M1 se aplican los metamodelos para generar instancias, que se  denominan modelos.  Por  último,  en  M0  se  realiza  la  instanciación  de  los modelos donde se tiene la información que se manejará en el sistema.[[Archivo:Metamodelado.JPG]]
  
 
   
 
   
 +
== Meta-metamodelo ==
 +
 +
Un  meta-metamodelo  está  definido  como  una  especificación  de  la  estructura  de  un lenguaje que sirve para crear lenguajes de modelado.
  
== '''Meta-metamodelo''' ==
+
La idea detrás de esto es bastante simple: proveer de un  lenguaje que permita a cada grupo de desarrolladores definir sus propios lenguajes de modelado.
  
Un  meta-metamodelo  está  definido  como  una  especificación  de  la  estructura  de  un lenguaje que sirve para crear lenguajes de modelado.
 
La idea detrás de esto es bastante simple: proveer de un  lenguaje que permita a cada grupo de desarrolladores definir sus propios lenguajes de modelado.
 
 
   
 
   
Teniendo  en  cuenta  la  estructura  de  cuatro  niveles  M0,  M1,  M2,  M3  en  la  cual  está comprendido el metamodelado, se plantea que el meta-metamodelo, definido en la capa del metamodelo M3, es un metamodelo que describe el contenido de los metamodelos, es decir, los tipos de entidades que son compartidas a través de los diferentes sistemas deinformación.  Como  jemplo  de meta-metamodelo  se  tiene  Meta Object  Facility  (MOF), estándar  creado  por  la Object Management  Group  (OMG)  que  extiende  UML  (Unified  
+
Modeling Language) para que éste sea aplicado en el modelado de diferentes  sistemas de  información. El  mismo  conceptualiza  diversos  metamodelos,  esencialmente abstrayendo  la  forma  y  la  estructura  que  describen  estos.  Define  los  elementos esenciales,  sintaxis  y  estructuras  de  metamodelos  que  son  utilizados  para  construir modelos orientados a objetos de sistemas.  
+
Teniendo  en  cuenta  la  estructura  de  cuatro  niveles  M0,  M1,  M2,  M3  en  la  cual  está comprendido el metamodelado, se plantea que el meta-metamodelo, definido en la capa del metamodelo M3, es un metamodelo que describe el contenido de los metamodelos, es decir, los tipos de entidades que son compartidas a través de los diferentes sistemas deinformación.  Como  jemplo  de meta-metamodelo  se  tiene  Meta Object  Facility  (MOF), estándar  creado  por  la Object Management  Group  (OMG)  que  extiende  UML  (Unified Modeling Language) para que éste sea aplicado en el modelado de diferentes  sistemas de  información.  
 +
 
 +
El  mismo  conceptualiza  diversos  metamodelos,  esencialmente abstrayendo  la  forma  y  la  estructura  que  describen  estos.  Define  los  elementos esenciales,  sintaxis  y  estructuras  de  metamodelos  que  son  utilizados  para  construir modelos orientados a objetos de sistemas.  
  
 
Ramírez Benitez A, Fonseca Suárez L. Validacion de Herramientas de Metamodelado. 2004-2009. Cuba: Universidad de las Ciencias Informáticas; 2009
 
Ramírez Benitez A, Fonseca Suárez L. Validacion de Herramientas de Metamodelado. 2004-2009. Cuba: Universidad de las Ciencias Informáticas; 2009
  
 
== Fuente  ==
 
== Fuente  ==
*[http://graduados.uci.cu/biblioteca_virtual/tesis/2009/F10/Validacion_de_herramientas_de_metamodelado.pdf Validacion de herramientas de Metamodelado]
+
 
 +
* [http://graduados.uci.cu/biblioteca_virtual/tesis/2009/F10/Validacion_de_herramientas_de_metamodelado.pdf Validación de herramientas de Metamodelado]
  
 
[[Category:Solicitada]]
 
[[Category:Solicitada]]

Revisión del 14:42 28 jul 2011

Metamodelado
Información sobre la plantilla
Concepto:Constituye una técnica dentro de este paradigma que juega un papel importante y aporta un gran beneficio al equipo de implementadores. Es un tema fundamental en el campo de las bases de datos y desarrollo de Software.

Metamodelado. Este término nace con la misma filosofía que en su tiempo motivó a desarrollar computadores de propósito general en lugar de seguir con el esquema de construir un ordenador para cada aplicación en particular. Al aplicarlo en el desarrollo de aplicaciones informáticas permite diseñar un modelo de datos (el metamodelo) con la capacidad de almacenar otros modelos de información.

Modelo

Puede considerarse que los campos de la ingeniería desarrollan sus aplicaciones basados en modelos, al igual que muchas acciones de la vida diaria. Los modelos se usan para explicar y controlar fenómenos a nuestro alrededor y pueden predecir eventos que están por ocurrir. Se define un modelo como “un ente que representa de forma precisa algo que será realizado o que ya existe”. (Sánchez, 2008)


En general el modelo debe expresar de manera clara y correcta lo que se quiere obtener, sin sobrecargar de información al mismo, éste debe ser completo. Los modelos son utilizados en la ingeniería para varios propósitos, dentro de ellos se puede mencionar que son utilizados para captar y enumerar exhaustivamente los requisitos y el dominio de conocimiento, de forma que todos los implicados puedan entenderlos y estar de acuerdo con ellos, ayudar a pensar el diseño de un sistema, para capturar decisiones del diseño de manera tal que puedan ser cambiados a partir de los requisitos. Otros de sus usos es el de generar productos aprovechables para el trabajo y facilitar el manejo de los sistemas complejos. (Isla y Llanes., 2008)


El modelo es una instancia del metamodelo. Cuando se crea un modelo se está definiendo un lenguaje para describir el área que se está analizando o el sistema que se está diseñando. (González, 1998)


Uno de los elementos más utilizados en el desarrollo de software es el modelo, pues es necesaria una visión diferente del sistema a desarrollar. La construcción de un sistema se realiza a través de éstos, utilizándolos para describir todas las perspectivas del sistema. Este proceso se conoce como modelado.

El modelado es un ejercicio de abstracción, entendida esta como una simplificación y generalización de la realidad. El uso de la abstracción permite describir, representar, manejar y resolver problemas complejos, pudiendo después aplicar los resultados a casos concretos. Normalmente, se construyen jerarquías de abstracción, en las que cada nivel de abstracción se apoya en los inferiores.

Niveles de abstracción en el modelado

Niveles de abstracción en el modelado (Isla y Llanes., 2008):

0. Nivel de Información: agregación informal de datos a manejar en un entorno concreto (aplicación). Se separa un subconjunto de datos con características comunes o interesantes desde un determinado punto de vista.

1. Nivel de Modelo: agregación informal de metadatos (datos sobre los datos) que describen una información concreta. Se describen las características comunes de los datos dando lugar a metadatos que se agrupan, describiéndose las relaciones entre ellos, para formar un modelo.

2. Nivel de Metamodelo: agregación de modelos o meta-metadatos (descripción de metadatos). Descripciones que definen la estructura y la semántica de los metadatos. Se describen las características comunes de subconjuntos de metadatos dando lugar a meta-metadatos o modelos que se agrupan, describiéndose las relaciones entre ellos, para formar un metamodelo.

3. Nivel de Meta-metamodelo: definición de la estructura y la semántica de los meta-metadatos. Se capturan las características comunes de subconjuntos de modelos dando lugar a metamodelos que se agrupan, describiéndose las relaciones entre ellos, para formar un meta-metamodelo.

Metamodelo

Según (Quasar Tecnología, 2007), “el metamodelo es un modelo con la capacidad de almacenar diferentes modelos”. Partiendo de esta definición se puede pensar en la posibilidad de construir un producto de software con la capacidad para registrar información en el metamodelo y otro producto con la capacidad de realizar consultas sobre el mismo.

El metamodelo está dividido en dos áreas:

- Área de Metadatos Esta área almacena el metamodelo en sí y en un conjunto de tablas relacionales se guarda una descripción detallada del modelo de los datos a ser almacenados en el área de datos. Este modelo parte del principio que toda información para ser registrada en un sistema de información debe ser estructurada en uno o varios formatos.

- Área de Datos Esta área almacena la información acorde a la estructura definida en el área de metadatos. Es aquí donde se registra la información proveniente del mundo real, estructurada de acuerdo a los formatos que forman parte del modelo almacenado en el área de metadatos.

El metamodelo es la capa donde se define el lenguaje que sirve para especificar los modelos que serán creados. En otras palabras, sirve para describir los elementos que van a componer los diagramas. (González, 1998)

Se puede considerar que un metamodelo es una definición precisa de las reglas necesarias para definir la semántica de los modelos. Otra definición a tener en cuenta es la que se plantea en (Reina, Torres y Toro, 2006) en la que se considera que el metamodelado puede verse como una actividad que está tomando auge en los últimos años y que sirve para organizar los modelos en diferentes niveles, de tal modo que un modelo se describe por otro modelo que está situado en un nivel superior, su metamodelo.

Finalmente las autoras definen un metamodelo como un modelo que almacena información referente a otros modelos, describiendo los elementos que conforman los mismos.

Metamodelado

En (De Lara, Vangheluwe y Alfonseca, 2003) se define el metamodelado como el “proceso de modelado de formalismos”, el cual se suele realizar para determinar si una instancia de un modelo particular es consistente con su especificación en forma de metamodelo.

La técnica de metamodelado permite definir lenguajes de modelado, a través de un metamodelo. De acuerdo con lo antes planteado se puede resumir que el metamodelado no es más que una técnica que permite la creación de lenguajes de modelado, mediante la realización de metamodelos, ya que éstos como bien se dice anteriormente, no son más que un modelo de un lenguaje de modelado.

El metamodelado se comprende a partir de una estructura de cuatro niveles M0, M1, M2, M3 (Isla y Llanes, 2008), los cuales se describen en la Tabla 1 que se explica a continuación. En esta estructura, el nivel M3 establece las primitivas de metamodelado, esto es, el lenguaje de metamodelado.

En el nivel M2, se definen los metamodelos en sí con las primitivas de M3. En M1 se aplican los metamodelos para generar instancias, que se denominan modelos. Por último, en M0 se realiza la instanciación de los modelos donde se tiene la información que se manejará en el sistema.Metamodelado.JPG


Meta-metamodelo

Un meta-metamodelo está definido como una especificación de la estructura de un lenguaje que sirve para crear lenguajes de modelado.

La idea detrás de esto es bastante simple: proveer de un lenguaje que permita a cada grupo de desarrolladores definir sus propios lenguajes de modelado.


Teniendo en cuenta la estructura de cuatro niveles M0, M1, M2, M3 en la cual está comprendido el metamodelado, se plantea que el meta-metamodelo, definido en la capa del metamodelo M3, es un metamodelo que describe el contenido de los metamodelos, es decir, los tipos de entidades que son compartidas a través de los diferentes sistemas deinformación. Como jemplo de meta-metamodelo se tiene Meta Object Facility (MOF), estándar creado por la Object Management Group (OMG) que extiende UML (Unified Modeling Language) para que éste sea aplicado en el modelado de diferentes sistemas de información.

El mismo conceptualiza diversos metamodelos, esencialmente abstrayendo la forma y la estructura que describen estos. Define los elementos esenciales, sintaxis y estructuras de metamodelos que son utilizados para construir modelos orientados a objetos de sistemas.

Ramírez Benitez A, Fonseca Suárez L. Validacion de Herramientas de Metamodelado. 2004-2009. Cuba: Universidad de las Ciencias Informáticas; 2009

Fuente