stringtranslate.com

EXPRESS (lenguaje de modelado de datos)

Fig. 1. Requisitos de una base de datos para una colección de discos compactos (CD) de audio, presentados en notación EXPRESS-G.

EXPRESS es un estándar para lenguaje de modelado de datos genérico para datos de productos . EXPRESS está formalizado en la Norma ISO para el intercambio de modelos de productos STEP (ISO 10303) y estandarizado como ISO 10303-11. [1]

Descripción general

Los modelos de datos definen formalmente los objetos de datos y las relaciones entre los mismos para un dominio de interés. Algunas aplicaciones típicas de los modelos de datos incluyen el apoyo al desarrollo de bases de datos y la habilitación del intercambio de datos para un área de interés particular. Los modelos de datos se especifican en un lenguaje de modelado de datos. [2] EXPRESS es un lenguaje de modelado de datos definido en la norma ISO 10303-11, el Manual de referencia del lenguaje EXPRESS. [3]

Un modelo de datos EXPRESS se puede definir de dos maneras: textualmente y gráficamente. Para la verificación formal y como entrada para herramientas como SDAI, la representación textual dentro de un archivo ASCII es la más importante. Por otro lado, la representación gráfica suele ser más adecuada para el uso humano, como explicaciones y tutoriales. La representación gráfica, denominada EXPRESS-G, no puede representar todos los detalles que se pueden formular en forma textual.

EXPRESS es similar a lenguajes de programación como Pascal . Dentro de un ESQUEMA se pueden definir varios tipos de datos junto con restricciones estructurales y reglas algorítmicas. Una característica principal de EXPRESS es la posibilidad de validar formalmente una población de tipos de datos, es decir, verificar todas las reglas estructurales y algorítmicas.

EXPRESS-G

EXPRESS-G es una notación gráfica estándar para modelos de información . [4] Es un complemento del lenguaje EXPRESS para mostrar definiciones de entidades y tipos, relaciones y cardinalidad. [5] Esta notación gráfica admite un subconjunto del lenguaje EXPRESS. Una de las ventajas de usar EXPRESS-G en lugar de EXPRESS es que la estructura de un modelo de datos se puede presentar de una manera más comprensible. Una desventaja de EXPRESS-G es que no se pueden especificar formalmente restricciones complejas. La figura 1 es un ejemplo. El modelo de datos presentado en la figura podría usarse para especificar los requisitos de una base de datos para una colección de discos compactos (CD) de audio. [2]

Ejemplo sencillo

Fig. 2. Diagrama EXPRESS-G para el esquema familiar

Un modelo de datos EXPRESS simple se parece a la figura 2 y el código es el siguiente:

Familia SCHEMA;ENTIDAD Persona SUPERTIPO ABSTRACTO DE (UNO DE (Masculino, Femenino)); nombre: CADENA; madre: OPCIONAL Femenino; padre: OPCIONAL Masculino;FIN_ENTIDAD;ENTIDAD Femenina SUBTIPO DE (Persona);FIN_ENTIDAD;ENTIDAD Masculina SUBTIPO de (Persona);FIN_ENTIDAD;FIN_ESQUEMA;

El modelo de datos está incluido en el esquema EXPRESS Family . Contiene una entidad de supertipo Person con los dos subtipos Male y Female . Dado que Person se declara como ABSTRACT, solo pueden existir ocurrencias de (ONEOF) el subtipo Male o Female . Cada ocurrencia de una persona tiene un atributo de nombre obligatorio y, opcionalmente, los atributos mother y father . Existe un estilo fijo de lectura para los atributos de algún tipo de entidad:

Bloques de construcción EXPRESS

Tipos de datos

EXPRESS ofrece una serie de tipos de datos, con símbolos de tipos de datos específicos de la notación EXPRESS-G: [2]

Hay que mencionar algunas cosas generales sobre los tipos de datos.

Entidad-Atributo

Los atributos de entidad permiten agregar "propiedades" a las entidades y relacionar una entidad con otra en un rol específico. El nombre del atributo especifica el rol. La mayoría de los tipos de datos pueden servir directamente como tipo de un atributo. Esto también incluye la agregación.

Existen tres tipos diferentes de atributos: explícitos, derivados e inversos. Todos ellos pueden volver a declararse en un subtipo. Además, un atributo explícito puede volver a declararse como derivado en un subtipo. No es posible ningún otro cambio en el tipo de atributos.

Símbolos de atributos específicos de la notación EXPRESS-G: [2]

Supertipos y subtipos

Una entidad puede definirse como un subtipo de una o varias entidades (¡ se permite la herencia múltiple !). Un supertipo puede tener cualquier número de subtipos. Es una práctica muy común en STEP construir gráficos de subsupertipos muy complejos. Algunos gráficos relacionan 100 o más entidades entre sí.

Se puede construir una instancia de entidad para una sola entidad (si no es abstracta) o para una combinación compleja de entidades en un gráfico de subsupertipo. Para los gráficos grandes, es probable que el número de combinaciones posibles crezca en rangos astronómicos. Para restringir las combinaciones posibles, se introdujeron restricciones de supertipo especiales, como OEOF y TOTALOVER. Además, se puede declarar que una entidad es abstracta para hacer cumplir que no se pueda construir ninguna instancia de solo esta entidad, sino solo si contiene un subtipo no abstracto.

Restricciones algorítmicas

Las entidades y los tipos de datos definidos pueden restringirse aún más con reglas WHERE . Las reglas WHERE también forman parte de las reglas globales. Una regla WHERE es una expresión que debe evaluarse como VERDADERA; de lo contrario, una población de un esquema EXPRESS no es válida. Al igual que los atributos derivados, estas expresiones pueden invocar funciones EXPRESS, que a su vez pueden invocar procedimientos EXPRESS. Las funciones y los procedimientos permiten formular declaraciones complejas con variables locales, parámetros y constantes, de forma muy similar a un lenguaje de programación.

El lenguaje EXPRESS puede describir reglas locales y globales. Por ejemplo:

 ENTIDAD unidad_de_área  SUBTIPO DE ( unidad_con_nombre ); DONDE WR1 : ( YO \ unidad_con_nombre . dimensiones . exponente_longitud = 2 ) Y ( YO \ unidad_con_nombre . dimensiones . exponente_masa = 0 ) Y ( YO \ unidad_con_nombre . dimensiones . exponente_tiempo = 0 ) Y ( YO \ unidad_con_nombre . dimensiones . exponente_corriente_eléctrica = 0 ) Y ( YO \ unidad_con_nombre . dimensiones . exponente_temperatura_termodinámica = 0 ) Y ( YO \ unidad_con_nombre . dimensiones . exponente_cantidad_de_sustancia = 0 ) Y ( YO \ unidad_con_nombre . dimensiones . exponente_intensidad_luminosa = 0 ); FIN_ENTIDAD ; -- unidad_de_área                                   

Este ejemplo describe que la entidad area_unit debe tener un valor cuadrado de length. Para ello, el atributo dimensions.length_exponent debe ser igual a 2 y todos los demás exponentes de las unidades básicas del SI deben ser 0.

Otro ejemplo:

 TIPO número_día_de_la_semana = ENTERO ; DONDE WR1 : ( 1 <= SELF ) Y ( SELF <= 7 ); FIN_TIPO ; -- número_día_de_la_semana              

Es decir, significa que el valor de la semana no puede superar los 7.

De esta forma, puede describir algunas reglas a sus entidades. Puede encontrar más detalles sobre los ejemplos dados en la norma ISO 10303-41 .

Véase también

Temas relacionados con la ISO
Otros temas relacionados

Referencias

Dominio público Este artículo incorpora material de dominio público del Instituto Nacional de Estándares y Tecnología.

  1. ^ ISO 10303-11:2004 Sistemas de automatización industrial e integración - Representación e intercambio de datos de productos - Parte 11: Métodos de descripción: Manual de referencia en lenguaje EXPRESS
  2. ^ abcd Michael R. McCaleb (1999). "Un modelo conceptual de datos de sistemas de datos". Instituto Nacional de Normas y Tecnología. Agosto de 1999.
  3. ^ Norma internacional ISO 10303-11:1994, Sistemas de automatización industrial e integración — Representación e intercambio de datos de productos — Parte 11: Métodos de descripción: Manual de referencia del lenguaje EXPRESS, Organización Internacional de Normalización, Ginebra, Suiza (1994).
  4. ^ 4 Descripción general del lenguaje EXPRESS-G Archivado el 9 de noviembre de 2008 en Wayback Machine . Consultado el 9 de noviembre de 2008.
  5. ^ Para obtener información sobre la notación EXPRESS-G, consulte el Anexo B del Manual de referencia del lenguaje EXPRESS (ISO 10303-11)

Lectura adicional