next up previous contents
Next: Diseño Estructural: El lenguaje Up: Diseño Cognitivo: Dominios de Previous: Un modelo de información

Subsections

   
Modelos y Metamodelos

Las entidades, atributos y relaciones descritos en las secciones anteriores forman un modelo de representación. Esta descripción podemos convertirla en explícita si podemos a su vez modelizarla para crear un metamodelo, es decir un modelo de información para describir modelos.

Lo que presentamos ahora es el diseño de un sistema de información que nos permita representar categorizaciones explícitas. Para ello definimos dos modelos de información que se corresponden con los niveles de descripción descritos en la figura 3.1 de la página [*]. En primer lugar hay un modelo de información con el que se describen las categorizaciones, correspondiente al nivel de conceptualización y que llamaremos metamodelo. El segundo, correspondiente al nivel de instanciación descrito en la figura, y que es un modelo de información para albergar las instancias que llamaremos modelo.

Como se ha indicado antes, para llevar a cabo la labor de descripción de modelos y metamodelos se ha utilizado el formalismo entidad-relación. En las secciones siguientes se aborda este aspecto y se propone la creación de un modelo de información (metamodelo) para albergar estos modelos de información.

   
Modelo de Información del Metamodelo

Los modelos de información que hemos descrito, pueden representarse de forma explícita utilizando el mismo formalismo entidad-relación. De esta forma, podemos describir explícitamente una categorización determinada, que se corresponde con el nivel de conceptualización descrito en la sección 4.2. La forma de llevarlo a cabo es la de representar un modelo de información expresado en términos de sus entidades, atributos y relaciones mediante otro conjunto de entidades atributos y relaciones.

Con este nivel de meta-descripción podemos realizar interesantes operaciones sobre los modelos, que sería imposible realizar de no existir de forma explícita la descripción de los mismos. Al mismo tiempo, este metanivel es lo que nos ha permitido conocer la categorización y flexibilizar las estructuras de conocimiento, para realizar modificaciones en ellas si se considera necesario. Esta funcionalidad se considera muy importante para apoyar y permitir un diseño evolutivo e incremental, en el que sea posible cambiar o adaptar la conceptualización utilizada cuando esto sea necesario.

El modelo de información que vamos a describir consta de las entidades, atributos y relaciones siguientes:

Entidades

Las entidades del modelo de información son:

La Figura 4.2 muestra el esquema del modelo de información expuesto en lo que respecta a las relaciones de pertenencia y composición. Como se ha comentado al comienzo del capítulo, las elipses, en el formalismo, representan las relaciones, que enlazan las entidades representadas por rectángulos. Los valores entre paréntesis corresponden a las ocurrencias mínimas y máximas de la entidad en la relación correspondiente.


  
Figure: Modelo de información del Metamodelo
\begin{figure}\par\begin{center}
\epsfig{file=figuras/metamodelo-ER.eps, height=7cm}\end{center}\end{figure}

Relaciones

Las relaciones del metamodelo describen la composición de las entidades del modelo y las relaciones que las ligan.

En la Figura 4.2 se muestran las relaciones estructurales de los modelos describiendo:

Además de las relaciones de composición, están las relaciones que describen a las entidades relacionadas mediante relaciones de grados 2 y 3. En la figura 4.3 se describe una relación del metamodelo que permite describir una relación binaria compuesta por dos entidades y una relación que los enlaza.

En la figura 4.4 se describe una relación ternaria de forma análoga a la relación anterior. En este caso, la relación ternaria asocia a tres entidades y a una relación ternaria.


  
Figure 4.3: Relaciones binarias del Metamodelo
\begin{figure}\par\begin{center}
\epsfig{file=figuras/ER-meta-binaria.eps, height=2cm}\end{center}\end{figure}


  
Figure 4.4: Relaciones ternarias del Metamodelo
\begin{figure}\par\begin{center}
\epsfig{file=figuras/ER-meta-ternaria.eps, height=2cm}\end{center}\end{figure}

Por último las instancias forman otra entidad aparte (Figura 4.5). Son instancias de modelos creadas a partir de la descripción explícita que de éste tiene el metamodelo. Por ejemplo, si hemos descrito varias asignaturas utilizando el mismo modelo, cada una de ellas aparece una instancia en el metamodelo.


  
Figure 4.5: Instancias del metamodelo
\begin{figure}
\par\begin{center}
\epsfig{file=figuras/E-instancias.eps, height=2cm}\end{center}\end{figure}

Ejemplo de creación de un modelo utilizando el metamodelo

Vamos a ilustrar con un ejemplo cómo crear un modelo, es decir, una instancia del metamodelo anterior. Supongamos que tenemos que representar el modelo descrito en la Figura 4.6 . En ella se muestra un dominio educativo que contiene ejemplos y conceptos. Entre ellos se establecen dos relaciones: una relación de prerrequisito entre conceptos y otra relación llamada ilustra que asocia ejemplos con conceptos.


  
Figure 4.6: Un modelo con un solo dominio
\begin{figure}\par\begin{center}
\epsfig{file=figuras/CAP3-Ej-Modelo.eps, height=6cm}\end{center}\end{figure}

Para crear la representación explícita de este modelo utilizamos el modelo de información descrito en la Figura 4.2. En ella tenemos para cada una de las entidades atributos y relaciones los valores que se muestran en la tabla 4.9 (Ver página [*]).

Para representar el modelo descrito por la figura 4.6 en el metamodelo, será necesario crear los siguientes elementos:

Las relaciones tienen también ocurrencias entre las entidades anteriormente descritas. Son las siguientes:


 
Table 4.9: Metamodelo del modelo descrito en la figura 4.6
Entidades
dominio(educativo)
entidad(ejemplo)
entidad(concepto)
relacion(ilustra,2)
relacion(prerrequisito,2)
atributo(nombre,char 20)
atributo(contenido,text 60)
atributo(tipo,char 20)
 
Relaciones
tiene_relacion(ilustra,educativo)
tiene_relacion(prerrequisito,educativo)
tiene_atributo(nombre,concepto)
tiene_atributo(contenido,concepto)
tiene_atributo(nombre,ejemplo)
tiene_atributo(contenido,ejemplo)
tiene_atributo(tipo,prerrequisito)
tiene_entidad(concepto,educativo)
tiene_entidad(ejemplo,educativo)
relacion_binaria(ilustra,ejemplo,concepto)
relacion_binaria(prerrequisito,concepto,concepto)
 

En la tabla 4.9 se muestra el resultado de la creación del metamodelo. A partir de esta descripción, una aplicación puede crear el modelo físico de los datos, de forma que el modelo de información se ajuste al de la figura 4.6 de la página [*]

   
Operaciones sobre modelos y metamodelos

Con las representaciones que hemos descrito podemos realizar una serie de operaciones interesantes en modelos y metamodelos. Estas operaciones van a permitir trabajar sobre los dominios de conocimiento descritos de forma flexible.

Operaciones sobre modelos y metamodelos

Para gestionar esta información es preciso definir una serie de operaciones útiles a modo de álgebra sobre los modelos y metamodelos. Con estas operaciones se gestiona la información modelizada. Tanto modelos como metamodelos están sujetos a estas operaciones, aunque algunas no tienen el mismo sentido si las aplicamos a un modelo que a un metamodelo.

Se describen con objeto de hacer más clara la terminología del capítulo 8 dedicado a la evaluación de las herramientas y de las experiencias realizadas.

creación
En el caso de un metamodelo, la creación consiste en definir las relaciones y entidades que lo componen. En el caso de un modelo, la creación consiste en la operación de instanciarlo a partir de un metamodelo.
borrado
Tanto los modelos como los metamodelos pueden ser borrados. Un modelo, al ser borrado pierde toda la información que albergue. Un metamodelo, si es borrado elimina sus instancias (modelos) y toda la información que alberguen.
instanciar
Si la operación se realiza sobre un metamodelo se obtiene modelo de información vacío con la estructura descrita en el metamodelo. Si la operación se realiza con un modelo, la instanciación consiste en crear las ocurrencias de cada una de las entidades y relaciones descritas en el modelo.
modificación
Los modelos, como tales no pueden modificarse más que modificando su metamodelo. Por otro lado, las modificaciones de metamodelos alteran el funcionamiento de las instancias (modelos) derivados de aquellos, por lo que las dejaría sin referencia. Sin embargo, podemos hacer una copia de un metamodelo y realizar sobre ésta modificaciones (añadir o quitar entidades, atributos o relaciones). Posteriormente, todas las instancias que se creen a partir de éste heredarán las modificaciones efectuadas.
reinstanciación
  Es la operación diseñada para modificar un modelo ya instanciado sin perder las ocurrencias creadas ni la información que contengan. Para ello se realizan tres pasos:
1.
Copia de un metamodelo M en otro M' y modificación de M' hasta que se obtiene el metamodelo deseado
2.
Definir una aplicación $f: M \longrightarrow M' $ que asigna las relaciones y entidades descritas en M, a las correspondientes de M'. En general diferirán en algunas, por lo que solo se asocian aquellas entidades y relaciones de las que queremos salvar las ocurrencias existentes.
3.
Si el metamodelo M tiene n instancias $\{m_i\}_{i=1}^{n}$, se copian las ocurrencias de las entidades y relaciones de cada instancia mi a la correspondiente m'i de M' de acuerdo con lo indicado por la aplicación f.
Esta es la operación más compleja e importante, ya que permite modificar la conceptualización de un dominio de conocimiento, sin perder el contenido de dicho dominio.

La realización de estas operaciones es útil para el mantenimiento de los modelos, considerando también, como ya se ha comentado, que el desarrollo del proceso de autoría y diseño de material se ha llevado a cabo de acuerdo a un proceso de evaluación formativa, en el que las experiencias pasadas han incorporado mejoras en las siguientes. Este proceso de diseño se ha probado muy útil en el desarrollo de entornos educativos.


next up previous contents
Next: Diseño Estructural: El lenguaje Up: Diseño Cognitivo: Dominios de Previous: Un modelo de información
Miguel Rodriguez Artacho
2000-07-19