INTRODUCCIÓN
Entre los enfoques pioneros en la modelación conceptual, se conoce el modelo Entidad-Relación (ER), creado por (Chen 1976). Es ampliamente conocido y usado en la comunidad de bases de datos durante la etapa de modelación conceptual (Halpin y Morgan 2008). Sin embargo, es limitado en cuanto a las restricciones de integridad (RI) que es capaz de documentar (Badia 2004; Nijssen, Duke y Twine 1990). Tales limitaciones fueron apuntadas por Nijssen (Nijssen, Duke y Twine 1990), quien propuso un método alternativo conocido como NIAM. No obstante, quizás debido a haber encontrado un balance adecuado entre la expresividad y la sencillez (Badia 2004), ha sido el modelo ER quien ha prevalecido.
Para ilustrarlo, considérese una situación, en la cual se tiene una cadena de sucursales bancarias y sus empleados, con algunas restricciones a las cuales debe estar sujeta, y se necesita realizar un modelo conceptual:
1. Un empleado tiene nombre, año de nacimiento y salario.
2. Una sucursal bancaria tiene nombre y salario mínimo para todos sus empleados.
3. Cada empleado trabaja en solo una sucursal bancaria.
4. En cada sucursal bancaria trabaja al menos un empleado.
5. El salario especificado para cada empleado tiene que ser mayor que el salario mínimo especificado para la sucursal bancaria en la que trabaja tal empleado.
Si se sigue el enfoque del modelo Entidad-Relación para modelar conceptualmente la situación anterior, entonces es posible obtener un esquema como el de la Figura 1.
Como puede observarse, tal esquema es capaz de representar los requisitos desde el 1 hasta el 4, mientras el 5, una restricción muy simple que garantiza que los valores registrados de los salarios de los empleados seas válidos, no es posible expresarla. Ello conduce a dos alternativas:
1. Delegar la responsabilidad de su representación al programador, por medio de algún tipo de lenguaje procedural que es incomprensible por el experto del dominio, quien es el que solicitó tales requerimientos. Esto pudiera generar una implementación poco fiel, debido a la incapacidad del experto del dominio de validar el código del programador, quien pudiera tener una comprensión diferente.
2. Obviar la restricción 5, lo cual conduce inevitablemente a un sistema de base de datos que almacena y brinda información falsa.
La verdadera dimensión del problema de obviar o delegar la responsabilidad de representación, se aprecia si se tiene en cuenta que las RI representan más del 90% de la definición de una base de datos (Thalheim 2011).
Otros enfoques semánticos, tales como el Object-Role Modeling, proveen de mayor capacidad para representar los requisitos del dominio desde la perspectiva de los datos (Halpin y Morgan 2008). No obstante, a pesar de que es más expresivo y estable que el modelo ER, está menos extendido. Por su parte, UML (Unified Modeling Language) incluye el diagrama de clases, muy similar al modelo ER, y a OCL (Object Constraint Language), un lenguaje muy completo para especificar restricciones. Sin embargo, OCL ha sido criticado por ser complejo y poco legible (Bajwa, Bordbar y Lee 2014).
Otros autores han optado por extender el modelo ER mediante lenguajes nativos de características naturales. Simsion y Witt (2005) proponen una serie de plantillas para expresar RI directamente sobre la base de los componentes del modelo ER. Tales plantillas corresponden mayormente a restricciones estructurales, y para las restricciones sobre datos solo ofrece una plantilla muy general, orientada a su documentación, que no es apta para la transformación automática. Por ello, investigadores de Model Driven Architecture (MDA) se han centrado en el uso de SBVR (Semantics of Business Vocabulary and Business Rules) para la especificación de requisitos mediante un lenguaje natural (Bajwa y Shahzada 2017; Hnatkowska y Alvarez-Rodriguez 2017; Jesus y Melo 2014; Selway et al. 2015; Bonais et al. 2016; Salemi, Selamat y Penhaker 2016; Jodłowiec y Pietranik 2019; Mohanan y Bajwa 2019).
Los enfoques basados en hechos, tales como ORM y NIAM, advierten sobre la necesidad de extender la expresividad de los lenguajes conceptuales mediante una forma de expresión cercana a los expertos del dominio. Ello, en adición a la recomendación de MDA, crea la oportunidad para documentar aquellas RI sobre los datos, no expresadas en un esquema ER, sobre una base natural al tiempo que formal.
Así, se propone un método que permita la expresión de las RI identificadas en un dominio, a través de un esquema ER más un lenguaje natural controlado basado en SBVR. Específicamente, se realizan las siguientes contribuciones:
1. Se conforma un lenguaje natural controlado que permite la expresión de las restricciones de integridad no representadas en un modelo ER. Está basado en los conceptos y reglas del estándar SBVR. Tal lenguaje es comprensible por un experto del dominio y puede ser interpretado por una máquina computadora.
2. Se formula un conjunto de plantillas para guiar a modeladores y expertos del dominio en la especificación de restricciones de integridad basadas en conceptos representados en un modelo ER.
3. Se establece la correspondencia entre los conceptos del modelo ER y el SBVR. En ella se toman en cuenta las diferencias entre ambos enfoques.
La viabilidad de la propuesta se analiza mediante un caso de estudio.
Modelación conceptual
Se consideran modelos conceptuales aquellos que son independientes de los detalles de implementación. Halpin y Morgan (2008) consideran que el modelo conceptual es una descripción del dominio, por lo que es independiente del sistema que pueda ser construido, lo que comprende al sistema gestor de bases de datos (SGBD) de destino. Los modelos lógicos, por otra parte, suponen un conocimiento subyacente del SGBD de destino. Por tanto, el modelado conceptual es el proceso de descripción precisa y clara del dominio, una tarea preparada de manera ideal para las personas en lugar de las máquinas.
Las restricciones de integridad
Las RI son expresiones basadas en condiciones lógicas que una vez satisfechas, entonces se podrá tener cierta confianza sobre la integridad de un sistema de información (Olivé 2007). Para Olivé (Olivé 2007) la integridad es un concepto amplio, vinculado con la validez y la completitud. Ello implica que un sistema posee integridad si todos los datos contenidos son verdaderos y están presentes todos aquellos considerados como relevantes. Por tanto, las RI son imprescindibles para que cualquier sistema alcance algún grado de integridad.
Las restricciones en el modelo ER
De acuerdo a Simsion y Witt (Simsion y Witt 2005), el modelo ER es capaz de expresar solo las restricciones siguientes:
1. Restricciones de integridad referencial, las cuales están implícitas en cada interrelación.
2. Restricciones de cardinalidad.
3. Opcionalidad u obligatoriedad de las interrelaciones.
4. Varias restricciones sobre qué entidades pueden estar asociadas con otras.
5. Restricciones de dominio (discreto) sobre un atributo.
Una RI de datos, lo que Witt conoce como data rule (regla de datos) (Witt 2012), es aquella que limita los datos respecto a su ausencia o presencia, la cantidad, o el formato o rango en que se encuentran. Por tanto, son restricciones que el modelo ER debería reconocer dado que su uso principal es el de herramienta de diseño conceptual de bases de datos.
MÉTODOS
Un lenguaje natural controlado (LNC) es un lenguaje construido sobre algún lenguaje natural, más restrictivo en cuanto al léxico, sintaxis o semántica, mientras se conserva la mayoría de sus propiedades naturales (Kuhn 2014). Evidentemente, un LNC es comprensible por ambas audiencias, la técnica y la del negocio. Tiene mayor precisión y simplicidad en la expresión de los conceptos y sus relaciones, al mismo tiempo que mantienen una naturalidad y expresividad adecuadas para contribuir a la comunicación entre los modeladores y los expertos del dominio. La ventaja frente a los verdaderos lenguajes naturales reside en su condición de controlados. Como consecuencia de las restricciones impuestas, un lenguaje natural controlado podría ofrecer la posibilidad de transformar automáticamente las RI expresadas en él, hacia tecnologías específicas.
La idea para abordar el problema de la limitación del modelo ER, es usar un LNC adecuado para expresar las RI identificadas en el dominio. Debe ser comprensible tanto por lo modeladores como por el experto del dominio y lo suficientemente preciso como para servir a la transformación automática hacia versiones implementadas.
El lenguaje natural controlado
El SBVR es una especificación de la OMG (Object Management Group) (OMG 2017). No es un LNC, sino una manera formalizada y disciplinada para compartir el vocabulario y reglas del negocio entre herramientas de software y organizaciones.
El SBVR es entonces garantía de que cualquier medio de expresión, como puede ser un LNC, tiene una expresividad alta, equivalente a la lógica de primer orden y, por tanto, capaz de definir las RI identificadas en un dominio. Asimismo, el grado de naturalidad alcanzado será el suficiente como para que una persona con conocimientos básicos sobre la legua base del LNC, posea la capacidad de formular sentencias sencillas gramaticalmente bien formadas, de manera que pueda leerse de manera natural.
RuleSpeak, un LNC creado por Ronald Ross para su enfoque de reglas de negocio (Ross 1997), tiene versiones en español (Catalá Cervera 2009) y conformidad con el estándar SBVR (refiérase al Anexo E en (OMG 2017)). Graham Witt (Witt 2012), por otra parte, propone un LNC compatible con SBVR, que incluye las mejores experiencias de RuleSpeak, pero supera las limitaciones en cuanto a la calidad. La sintaxis bien definida del método propuesto por Witt más las definiciones de RuleSpeak de algunas palabras claves en español, constituyen la base para la construcción de un medio de expresión adecuado para las restricciones de integridad.
Escritura de las restricciones en un lenguaje natural controlado
Durante el proceso de escritura de una restricción mediante un LNC, no se sigue ningún método formal. Realmente, el proceso es guiado por un conjunto de recomendaciones o principios que se debe seguir en la construcción de las restricciones (Witt 2012). Una aproximación ampliamente utilizada es la de las plantillas. Estas son estructuras sintácticas posibles en un LNC, y se comportan como patrones aplicables a determinada clase de restricción, que rigen la forma posible de una sentencia, a la vez que crean un modo organizado y consistente de expresión (Catalá Cervera 2009).
RESULTADOS Y DISCUSIÓN
Las plantillas que se describirán están basadas en aquellas propuestas en la versión al español de RuleSpeak, combinadas con las explicadas por Witt (Witt 2012), todo basado en los principios y terminología definidos por SBVR.
Además, se muestra la correspondencia obtenida entre SBVR y ER, necesaria para basar las RI en los términos expresados a través del esquema ER. Luego se muestra a través de un caso de estudio cómo expresar las RI con ayuda de las plantillas propuestas.
Plantillas para las RI
Para las RI objeto de estudio, es necesario establecer una clasificación que ayude en el proceso de escribir aquellas con estructuras similares. En (Witt 2012), aparece descrita una muy detallada taxonomía con tal propósito. De la cual es interés la clasificación al interior de las RI sobre datos. Figura 2.
El primer tipo son las restricciones de rango, en las que se requiere que los valores estén comprendidos dentro de un rango abierto o cerrado, con una o dos cotas. Por ejemplo:
La cantidad especificada para cada producto en cada pedido en línea tiene que ser al menos 1.
Para ellas, basadas en la propuesta de Witt (2012) y en las recomendaciones de Catalá Cervera (2009) sobre las palabras claves más adecuadas en idioma español para escribir las RI de interés, se propone la plantilla de la Figura 3.
Tanto atributo como atributo complejo, no son términos incluidos en SBVR, sino definiciones basadas en él y que se corresponden con los atributos simples y compuestos en modelo ER respectivamente. No obstante, las correspondencias definidas con el modelo ER se basan en los conceptos en vez de las expresiones. En consecuencia, solo se necesita conocer el concepto de SBVR. Por ejemplo, en el caso de los elementos atributo o tipo de entidad en el modelo ER, el concepto correspondiente en SBVR es term, que es toda aquella designación de un concepto general.
La parte <tipo de entidad> en la plantilla de la Figura 3, es un término que se usa para referirse al elemento en el que se requiere el registro de un dato; y que en el modelo ER a través de un tipo de entidad. Opcionalmente, puede que le siga una oración subordinada que califica al sustantivo que designa al tipo de entidad.
Por su parte, el <complemento> es la parte de la sentencia que sigue a la frase verbal de la RI, y en este caso se refiere al límite de rango. Los tipos de límites de rango pueden ser fijos o variables. En los fijos, el límite de rango es siempre un numeral, pero en los límites variables es algún término vinculado con el término restringido.
La notación coloreada típica de los LNC basados en SBVR, y las posiciones de cada elemento en la plantilla se muestra en la Tabla 1.
Si se siguen las clasificaciones de la Figura 2, otras plantillas son posibles. Precisamente en la Figura 4 se muestran aquellas plantillas que corresponden a las restricciones de igualdad y de consistencia. Las plantillas de igualdad precisan que determinado contenido sea igual o diferente a otro, es decir, se comparan los valores de atributos de un mismo tipo de entidad. Las de consistencia, por su parte, son solo una manera de expresar las restricciones de rango o de igualdad, de manera que los elementos restringidos aparezcan como sujetos en la sentencia. Estos elementos deben cumplir con una condición.
Las restricciones de consistencia sobre un conjunto de elementos se crean para permitir la expresión de comparaciones de conjuntos de ocurrencias de tipos de entidad. También se puede restringir la cardinalidad del conjunto de ocurrencias. Para ello se crea la plantilla apropiada para las restricciones de consistencia sobre la agregación de un conjunto de elementos.
Correspondencia entre SBVR y ER
Aunque se afirma que ambos son modelos conceptuales (Halpin y Morgan 2008), SBVR está basado en un modelo diferente al de los esquemas ER. Según la propia especificación (OMG 2017), es el modelo de hechos la base de SBVR. No obstante, el modelo de hechos puede ser usado como base para la creación de un esquema ER cuyos términos sean similares a los utilizados por el personal del negocio (Witt 2012). Ello posibilita encontrar una correspondencia entre ellos.
Por tanto, en la Tabla 2 se muestra una correspondencia entre los conceptos del modelo ER y los del modelo de hechos, obtenida luego de establecer una correspondencia semántica entre los componentes de ambos modelos. En este caso, los conceptos usados provienen de la interpretación que se realiza del modelo de hechos en SBVR.
La Tabla 2 es un paso imprescindible para lograr una transformación hacia otros lenguajes, pues hace posible identificar sobre cuáles elementos de un esquema ER es construida cierta restricción.
Caso de estudio
A partir de las correspondencias de la Tabla 2, el proceso de obtención de un esquema conceptual que incluya un esquema ER más un conjunto de RI expresadas en el LNC propuesto, se puede resumir en:
1. Modelar un esquema ER.
2. Por cada RI, clasificarla de acuerdo a la Figura 2.
3. Comprobar que la regla se ajusta al esquema ER.
Para comprobar que este proceso es válido, se toma como punto de partida el esquema de la Figura 1, por lo que se supone cumplido el primer paso.
Ahora, supóngase que, además de los requerimientos en los que se basó la construcción de esquema ER, se han identificado dos RI que no pueden ser expresadas por causa de las limitaciones en este modelo, y que se expresan de manera informal como sigue:
R1: Todos los empleados tienen que haber nacido después de 1984.
R2: El salario de los empleados tiene que ser mayor que el salario mínimo especificado por la sucursal bancaria en la que trabajan tales empleados.
Como se observa, en R1 lo restringido es el año de nacimiento de cada empleado, por lo que se pretende modelar una restricción de rango. Por tanto, se reescribe la RI según la Figura 3:
El año de nacimiento especificado para cada Empleado tiene que ser posterior a 1984.
De manera similar ocurre con R2, con la diferencia de que lo restringido es el salario de cada empleado. Por tanto, sigue siendo una restricción de rango, pero con un límite variable de acuerdo con el salario de la sucursal bancaria a la que pertenece. En consecuencia, debe ser escrita también según la plantilla de la Figura 3.
El salario especificado para cada Empleado tiene que ser mayor que el salario mínimo especificado para la sucursal bancaria en que trabaja tal empleado.
Como el vocabulario del dominio está representado por medio de un esquema ER, es necesario descubrir a qué términos se refiere cada RI. Si se utiliza la correspondencia de la Tabla 2 para cada restricción, entonces es posible identificar el conjunto de los términos (T) y el de las frases verbales (V). Para R1, tales conjuntos quedan como sigue:
T: año de nacimiento, Empleado.
V: especificado para, ser posterior a.
Los términos en el conjunto T, pueden corresponder tanto a atributos como a tipos de entidades. En este caso, año de nacimiento y Empleado guardan correspondencia con los respectivos elementos de igual nombre en el esquema de la Figura 1.
Por su parte, en el conjunto V, especificado para es el unary verb concept que corresponde a la asociación entre el atributo año de nacimiento y el tipo de entidad Empleado, mientras que ser posterior a es el concepto principal en el que se basa la restricción para comparar el rol de fecha del término año de nacimiento con la fecha de 1984, por lo que no es necesario que tenga una correspondencia con ningún elemento del esquema ER.
En consecuencia, se puede afirmar que existe conformidad de R1 con el esquema de la Figura 1, pues cada uno de sus componentes tiene un elemento correspondiente en el esquema.
El mismo proceso de comprobación se le debe realizar a R2. Para ello se identifican los términos y las frases verbales. Los conjuntos T y V que corresponden a R2 son:
T: salario, empleado, salario mínimo, sucursal bancaria.
V: especificado para, ser mayor que, especificado para, trabaja.
De igual manera, mediante la Tabla 2 y con base en el esquema de la Figura 1, se logran identificar los elementos del esquema a los que corresponde cada término de R2, la cual es bastante directa en este caso.
El conjunto V de R2 contiene el concepto principal ser mayor que en que se basa la restricción para comparar. Por su parte, trabaja es el binary verb concept que relaciona a los términos empleado y sucursal bancaria y que, a partir de la Tabla 2, es posible afirmar que corresponde al tipo de interrelación del mismo nombre en la Figura 1.
Debe notarse además, que especificado para se repite. Ello no es accidental, y es que son dos frases verbales diferentes, pues relacionan conceptos distintos. Una relaciona a empleado con salario, mientras que la otra a salario mínimo con empleado.
El resultado de la comprobación para R2 es satisfactorio, pues no existe ningún elemento del conjunto T que no tenga correspondencia con algún otro del esquema ER en que se basa. Asimismo, cada elemento de V asocia dos términos de T que también estás asociados en el esquema ER. Por tanto, R2 también es válida.
El mismo proceso es aplicable a las restricciones cuyas plantillas se muestran en la Figura 3, por lo que no resulta necesario mostrarlo. Al mismo tiempo, nótese que este proceso es factible solo para las RI sobre datos.
CONCLUSIONES
Los LNC, con base en las características analizadas, resultan apropiados para la modelación conceptual. En especial, el LNC propuesto, en conjunto con el modelo ER, es una propuesta factible para expresar RI identificadas en el dominio. Dada la independencia que ofrece SBVR entre expresión y significado, es posible el cambio de idioma y la transformación hacia otros lenguajes con un enfoque centrado en el concepto más que en la sintaxis.
El caso de estudio mostró que las plantillas propuestas posibilitan la expresión de las RI de forma comprensible por una persona humana, y la validación por parte del experto del dominio. Con la clasificación de las RI es posible identificar la plantilla apropiada y, con base en el vocabulario representado en un esquema ER y apoyado en la correspondencia entre los elementos de este modelo con los de SBVR, escribir la RI y comprobar que está basada en el vocabulario representado mediante un esquema ER.
El uso combinado del LNC basado en plantillas y el modelo ER resultó ser más expresivo, pues se lograron representar también las restricciones sobre datos. Con ello, se tiene una alternativa para modelar conceptualmente que, en lugar de crear un nuevo modelo, se apoya en el uso coherente de los ya existentes, sin abandonar un enfoque tan popular y tradicional como el ER.
Debido a las capacidades de SBVR, este enfoque podría ser extendido para incluir otros tipos de restricciones, tales como las restricciones dinámicas. El resultado sería una herramienta muy expresiva para documentar los requisitos desde la perspectiva de los datos, que los modeladores podrían utilizar tanto para el diseño de bases de datos como para su implementación derivada automáticamente y la comunicación con el experto del dominio.