• No se han encontrado resultados

Formalización y validación de consistencia para reglas de negocio expresadas sobre SBVR

N/A
N/A
Protected

Academic year: 2020

Share "Formalización y validación de consistencia para reglas de negocio expresadas sobre SBVR"

Copied!
85
0
0

Texto completo

(1)UNIVERSIDAD CENTRAL “MARTA ABREU” DE LAS VILLAS FACULTAD DE MATEMÁTICA, FÍSICA Y COMPUTACIÓN LICENCIATURA EN CIENCIA DE LA COMPUTACIÓN. Trabajo de Diploma Formalización y validación de consistencia para reglas de negocio expresadas sobre SBVR Autor: Juan Carlos Cortés Parra Tutora: M.Sc. María Elena Martínez Busto. Junio 2013.

(2) Dictamen. Hago constar que el presente trabajo fue realizado en la Universidad Central “Marta Abreu” de Las Villas como parte de la culminación de los estudios de la especialidad de Ciencia de la Computación, autorizando a que el mismo sea utilizado por la institución, para los fines que estime conveniente, tanto de forma parcial como total y que además no podrá ser presentado en eventos ni publicado sin la autorización de la Universidad.. Firma del Autor. Los abajo firmantes, certificamos que el presente trabajo ha sido realizado según acuerdos de la dirección de nuestro centro y el mismo cumple con los requisitos que debe tener un trabajo de esta envergadura referido a la temática señalada.. Firma del Tutor. Firma del Jefe del Laboratorio.

(3) Dedicatoria. Esta tesis la dedico en especial a la mujer que lo ha dado todo por mi, a la que le debo mucho de lo que he alcanzado, así como mi existencia, a mi madre Marilin Parra Machado..

(4) Agradecimientos. A Michel, en especial a ti. A mi familia que es mi soporte y guía, que siempre han estado ahí cuando los he necesitado y saben que no necesitan ser nombrados. A Pachy, Adrián y Alejandro, que siempre han apoyado y han estado conmigo en todas. A todos los que me han guiado e impulsado, en especial a mi profesora Magalis. A ti Niurka, que me has querido como un hijo. A mi tutora María Elena por sus correcciones y consejos; por nunca dudar de mí.. A todos los que han estado durante todo este tiempo a mi lado y han confiado en mí..

(5) Resumen. En el presente trabajo se proponen un conjunto de trasformaciones para la validación semántica de reglas de negocio y el chequeo de la consistencia de un repositorio de reglas de negocio de prueba ya existente. Dentro de las perspectivas se encuentra el enriquecimiento de una herramienta ya confeccionada o la confección de otra que realice dichas operaciones con el objetivo de hacer más consistente el repositorio. El software existente permite a los usuarios del negocio la manipulación de un conjunto de reglas previamente creado. Dicha herramienta facilita estructurar cada regla utilizando una forma de expresión semejante a la natural. Se escriben según patrones que permiten realizar validaciones de términos y atributos, los cuales han sido definidos como válidos en el modelo de hechos. Finalmente se obtiene un repositorio de reglas en formato XML que permite la integración con otras herramientas de procesamiento y generación automática de reglas de negocio. A partir de este se trasforman las reglas siendo posible validarlas y eliminar posibles inconsistencias..

(6) Abstract. In this paper we propose a set of transformations for semantic validation of business rules and check the consistency of a business rules repository in an existing test. Within prospects we have, we are willing to enrich an already-made tool or to create other to performing the operations with the aim of making the repository more consistent. The existing software allows business users manipulating a pre-established set of rules. This tool facilitates structure each rule by using a form of expression similar to the natural one. They are written in patterns that allow validation of terms and attributes, which are defined as valid in the models made. Finally a repository of rules in XML format is obtained, it allows integration with other processing tools for automatic generation of business rules. From this it can transform the rules being possible to validate them and eliminate possible inconsistencies..

(7) Tabla de contenido. Tabla de contenido Introducción ....................................................................................................................... 1 Capítulo 1: “Modelado de reglas de negocio con SBVR” ................................................... 6 1.1 Fundamentos básicos del SBVR ............................................................................... 6 1.1.1 Reglas de negocio .............................................................................................. 7 1.1.2 Modelo conceptual y ontologías ......................................................................... 9 1.1.3 Teoría de modelos semánticos .......................................................................... 15 1.2 Formalización semántica del SBVR ........................................................................ 18 1.3 Ambigüedad de la semántica del SBVR .................................................................. 20 1.3.1 Tratamiento independiente de las modalidades ................................................. 20 1.3.2 Incompatibilidad con la semántica de la lógica deóntica clásica ........................ 21 1.3.3 Incompatibilidad con la semántica de la lógica deóntica estándar ..................... 22 1.3.4 Ambigüedad del modelo semántico de SBVR .................................................. 23 1.4 Conclusiones parciales del capítulo ......................................................................... 23 Capítulo 2: “Notación lineal ORM2 como soporte de validación para SBVR” .............. 25 2.1 Notación lineal ORM2 ............................................................................................ 25 2.2 Codificación FOL para ORM2 ................................................................................ 28 2.3 Trasformación del formato SBVR hacia ORM2 ...................................................... 35 2.4 Conclusiones parciales del capítulo ......................................................................... 47 Capítulo 3: “Validación de la consistencia para reglas de negocio” .................................. 48 3.1 Descripción general de la herramienta .................................................................... 48 3.2 Chequeo de la consistencia de un esquema ORM2 .................................................. 49 3.3 Caso de estudio para el área de nefrología ............................................................... 51 3.3.1 Caracterización ................................................................................................ 52.

(8) Tabla de contenido. 3.3.2 Edición............................................................................................................. 55 3.3.1 Validación ........................................................................................................ 56 3.4 Conclusiones parciales del capítulo ......................................................................... 59 Conclusiones .................................................................................................................... 60 Recomendaciones ............................................................................................................ 61 Referencias bibliográficas .............................................................................................. 62 Anexo: “Transformaciones realizadas del caso de estudio para el área de nefrología” ...... 66.

(9) Introducción. Introducción Los sistemas automatizados para el modelado de empresas se han convertido en un tema de interés para organizaciones que buscan soluciones de almacenamiento, distribución y análisis del conocimiento de los procesos del negocio. Uno de los enfoques más comunes para describir el negocio y la información usada por el mismo es basado en reglas. Este enfoque consiste en identificar y formular reglas que definen la estructura y el control de las operaciones de una empresa. Por ello la principal expectativa en la implementación de soluciones automatizadas del enfoque basado en reglas es la habilidad de determinar automáticamente la consistencia de las reglas en un modelo de negocio. Las reglas de negocio son definiciones explícitas que regulan cómo opera un determinado negocio y cómo el mismo es estructurado (Barne et al., 1997; Youdeowei, 1997; Hay et al., 1997; Date, 2000; Bajec et al., 2000; Bajec et al., 2001, 2006); en este contexto, se entiende por negocio cualquier tipo de servicio que ofrezca determinada institución. Las reglas de negocio son imprescindibles tanto para el funcionamiento de la empresa o institución correspondiente, así como para el sistema de información que soporta sus procesos. La forma de captar las reglas en cualquier entidad u organización debe realizarse en un lenguaje natural restringido, de la forma en que la comunidad de usuarios expresan sus regulaciones. Esto no es suficiente, debido a que una vez capturadas pueden no reflejar ideas precisas o incluso pueden resultar contradictorias entre sí, por tanto se requiere hacer un tratamiento adicional al repositorio de reglas y realizar una validación sobre este. El propósito final desde el enfoque de reglas de negocio es que el usuario del negocio tenga el control directo sobre la definición de sus reglas. Actualmente esta no es una opción totalmente lograda pero es definitivamente la dirección que se debe seguir (Morgan, 2002). Pueden usarse varias vías para expresar las reglas de negocio en un formato consistente. Generalmente mediante un vocabulario estándar conformado por palabras y definiciones establecidas por la comunidad de usuarios de un negocio particular (Ross, 2003, 2010). En la literatura revisada se explica, desde una perspectiva teórica y de forma relativamente sencilla, la creación de reglas de negocio comprensibles para los usuarios del negocio a partir de un vocabulario base (Weiden, 2000; Morgan, 2002; Weiden et al., 2004; Vasilecas. Página 1.

(10) Introducción. et al., 2005, 2007). Al analizar el problema desde una perspectiva práctica, la creación de dicho vocabulario se torna compleja, así como definir una vía factible para que una persona, no entrenada en sistemas informáticos, pueda comprender sus especificidades. Actualmente no se encuentran criterios de solución unificada que aborde el problema salvando ambos obstáculos. Para lograr la formalización de las reglas de negocio surgen diferentes tendencias. Entre ellas se encuentran el uso del enfoque ontológico. Desde él se modelan los aspectos estáticos de forma genérica, mediante una ontología base, y se establecen compromisos ontológicos con aplicaciones concretas. Las ontologías han tenido éxito en proveer un vocabulario para representar y comunicar el conocimiento acerca de un tema y el conjunto de interrelaciones que existen entre los términos de ese vocabulario, o lo que es lo mismo, un glosario de términos ontológicos (Gasevic et al., 2009). Un vocabulario con enfoque ontológico proporciona una comprensión compartida del conocimiento de un dominio que puede ser comunicado entre personas y sistemas heterogéneos. La Semántica para el Vocabulario y las Reglas del Negocio (SBVR) (OMG, 2008) está formalmente definida como una taxonomía que describe operaciones y reglas de negocio elementales. Es una especificación propuesta inicialmente por el Grupo de Trabajo para la Estandarización en el Ámbito de las Reglas de Negocio (BRG) y tomada por el Grupo de Estandarización. (OMG) en su meta modelo expresado en Lenguaje Unificado de. Modelado (UML), integrado dentro de lo que se denomina Arquitectura Dirigida por Modelos (MDA) (OMG, 2006). Detalla cómo las reglas y vocabulario de negocio se pueden capturar y especificar en términos no ambiguos en un lenguaje lógico formal con expresiones formuladas en un lenguaje natural restringido. Una regla SBVR puede ser fácilmente procesada para luego generar el repositorio de reglas, considerando que una regla siempre pertenecerá a un dominio específico. En SBVR los dominios de negocios son representados en el vocabulario, el cual constituye el segundo elemento de más peso dentro de la especificación.. Página 2.

(11) Introducción. El vocabulario de SBVR permite que se especifiquen formalmente representaciones de conceptos, de definiciones, de casos, y de reglas de cualquier dominio del conocimiento en lenguaje natural, incluyendo formas tabulares. Estas características hacen SBVR bien adaptado para describir dominios del negocio. SBVR permite el desarrollo multilingüe, puesto que se basa en la separación entre los símbolos y su significado. Permite además la fabricación de reglas de negocio accesibles a las herramientas del software, incluyendo las herramientas que apoyan a expertos del negocio en crear, encontrar, y validar reglas. Provee además una capacidad jerárquica de categorización para organizar conceptos desde lo general hasta lo más específico, lo cual se le conoce como taxonomías. En SBVR las reglas son definidas aplicando necesidades u obligaciones a los tipos de hechos. El SBVR describe aspectos estructurales de los procesos, así como las políticas, esto debe guiar la conducta de los agentes en ciertas situaciones. Como el idioma proporciona la capacidad para especificar prescripciones deónticas que a su vez implican la posibilidad de introducir “la desviación” en el modelo -es decir-, la posibilidad de que el individuo se comporte diferentemente de lo que es prescrito por las reglas. Sin embargo, el uso de formulaciones de reglas deónticas aumenta el problema de definir su semántica para el razonamiento automático. Varios intentos se han hecho hasta ahora con el objetivo de suministrar una formalización lógica para reglas estructurales y conductuales en SBVR y sus notaciones. El trabajo más importante está relacionado con la trasformación a primer orden de la notación del inglés estructurado del SBVR (Fuchs et al., 2008) y varias formalizaciones de la notación del Modelado de Roles-Objetos 2 (ORM2), incluyendo la trasformación de lógica de primer orden (FOL) (Halpin et al., 2008) y algunas lógicas descriptivas (DL) (Keet, 2007; Nguyen et al., 2007; Hodrob et al., 2010). La validación de la consistencia y los conflictos es una de las tareas más delicadas y consumidoras de tiempo en las investigaciones de reglas de negocio, tanto como la semántica de las reglas especificada en el lenguaje natural, que resultan esenciales para comprender y desarrollar los sistemas de información (Ross et al., 1999; Vasilecas et al.,. Página 3.

(12) Introducción. 2007). En las reglas de negocio cada palabra tiene un significado preciso y la organización es dividida en unidades manejables para descubrimiento de las mismas. No obstante, diferentes áreas de la organización tienen que responder al mismo tipo de eventos de negocio y tienen información similar necesaria para completar estos eventos; estas áreas usualmente no comparten el mismo vocabulario, procedimientos y métodos para localizar los recursos que les permiten cumplir su misión. Es por esta razón que las reglas desde diferentes unidades muchas veces pueden ocasionar conflictos con otras y de esta manera ser inconsistentes. Algunos de los métodos más importantes que se están utilizando para realizar la validación semántica de reglas de negocio para evitar los conflictos y las inconsistencias en el repositorio de reglas es el empleo de tablas de decisión, árboles de decisión, español o inglés estructurado, redes neuronales y redes de Petri. Por lo cual definimos como objetivo general de la investigación definir una vía de validación de un conjunto de reglas de negocio acorde a los conceptos de SBVR mediante la utilización de un formalismo que auxilie a expertos del negocio en la detección de inconsistencias. Para lograr este objetivo se proponen como objetivos específicos: 1. Describir el conjunto de formalizaciones del SBVR utilizados para representar reglas de negocio. 2. Determinar un formalismo capaz de representar las formalizaciones lógicas propuestas por el SBVR. 3. Proponer trasformaciones de las reglas hacia el formalismo escogido. 4. Validar un conjunto de reglas propuestas a partir de las transformaciones identificadas. Las preguntas de investigación planteadas son: . ¿Qué formalizaciones existen para representar reglas de negocio?. . ¿Qué formalismo es el más adecuado para validar reglas en cuanto a su capacidad expresiva?. . ¿Cómo realizar la transformación del SBVR hacia el formalismo escogido?. Página 4.

(13) Introducción. Después de haber realizado el marco teórico se formuló la siguiente hipótesis de investigación como presunta respuesta a las preguntas de investigación: H1. Basados en las formalizaciones de SBVR se pueden trasformar las reglas a un formalismo ya existente lo que permite realizar validaciones semánticas para eliminar inconsistencia. La tesis está estructurada en tres capítulos. En el Capítulo 1 se aborda la modelación de las reglas de negocio desde la perspectiva del SBVR, definiendo el modelo conceptual y su teoría semántica, así como la formalización lógica propuesta en el mismo. En el Capítulo 2 se formaliza un conjunto de trasformaciones basadas en la formalización semántica propuesta en el SBVR capaces de expresar las reglas de negocio y expresables en notación lineal ORM2. Finalmente, en el Capítulo 3 se hace uso de la herramienta ORM2 to OWL2 Translator para validar el esquema obtenido del caso de estudio para el área de nefrología del Hospital Docente “Arnaldo Milián Castro” de Villa Clara obtenido a través de las trasformaciones expuestas en el Capítulo 2. Este documento culmina con las conclusiones, recomendaciones, referencias bibliográficas y un anexo.. Página 5.

(14) Capítulo 1: “Modelado de reglas de negocio con SBVR”. Capítulo 1: “Modelado de reglas de negocio con SBVR” La idea principal de las reglas de negocio formalmente respaldada por el SBVR es la siguiente: "Las reglas se basan en hechos, y los hechos están constituidos por conceptos expresados por los términos. Los términos expresan conceptos del negocio; los hechos hacen las aseveraciones sobre estos conceptos; las reglas restringen y respaldan estos hechos" (OMG, 2008). Las notaciones de los términos y los hechos corresponden a los noun concepts y verb concepts respectivamente del SBVR (Bollen, 2009).. 1.1 Fundamentos básicos del SBVR Definición 1. (OMG, 2008), sección 8.1.1 Un noun concept es "un concepto que es el significado de un noun o noun phrase", el cuál puede ser uno de los siguientes: un object type, un individual concept o un fact type role. Un object type es "un noun concept que clasifica cosas en base a sus propiedades comunes". Un individual concept es "un concepto que corresponde con solamente un objeto". Un fact type role es "un noun concept que corresponde con objetos basados en su rol, asumiendo una función o siendo usado en alguna situación". Definición 2. (OMG, 2008), sección 8.1.1 Un verb concept (o un fact type) representa la noción de las relaciones y es definido como "un concepto que es el significado de una verb phrase". Un fact type puede tener uno (característica), dos (binario) o más fact type roles. Por ejemplo, el noun concept donante potencial1 es un object type que corresponde a los donantes que son potenciales. El noun concept hemoglobina es un individual concept cuya única instancia es el tipo examen que es seleccionado para hacerse. Un fact type en notación del SBVR (OMG, 2008) anexo C, es el siguiente: Todo receptor es asociado a un grupo de donantes candidatos donde receptor y grupo de donantes candidatos son dos fact type roles de un verb concept en particular.. 1. Note que estos tipos de fuentes son usadas para designaciones individuales en las declaraciones, con el objetivo de hacer notar que conceptos definidos están siendo usados.. Página 6.

(15) Capítulo 1: “Modelado de reglas de negocio con SBVR”. 1.1.1 Reglas de negocio El estándar de SBVR define dos tipos de reglas de negocio: reglas estructurales (de definición) y reglas operativas (conductuales) en vigencia (ver Figura 1.1). Definición 3. Las reglas estructurales (aléticas), son reglas que permiten definir cómo se organiza o estructura el negocio y que nunca pueden ser violadas de forma directa. Simplemente definen características que permiten categorizar (u organizar o estructurar) las entidades que intervienen en el negocio (definen características de los noun concept y restricciones sobre los verb concepts). Por ejemplo, la regla, un usuario es preferente cuando el importe de sus compras en el último año supera los 5.000 € es una regla estructural, no puede ser violada directamente. La mala definición o aplicación errónea de este tipo de reglas conduce a resultados erróneos o incoherentes pero no a sanciones o penalizaciones como sucede cuando se viola una regla operativa. A su vez, se distinguen dos tipos de reglas estructurales: las reglas de inferencia, aquellas que permiten, como su nombre indica, inferir algún nuevo dato, y las reglas de cálculo, que indican las operaciones matemáticas necesarias para obtener un dato numérico determinado. Una regla de negocio estructural puede ser expresada usando modalidades como son: necesidad, imposibilidad o posibilidad restringida. Definición 4. Las reglas operativas (deónticas), son aquellas que son usadas para describir procesos de negocio en una organización y no pueden ser ignoradas o violadas por algún agente del negocio. Por ejemplo, la regla todo usuario debe tener acceso a su cuenta es una regla operativa que puede ser contravenida en un momento dado. Si se viola una regla de este tipo se producirá una penalización. En el ejemplo dado, supongamos que el usuario emplea esa cuenta para conectarse a Internet y paga por ella. Si en un momento dado se le deniega el acceso, es posible que haya que abonarle una cierta cantidad por no haber podido emplear un servicio que está pagando. Una regla de negocio operativa puede ser expresada usando modalidades como son: obligación, prohibición o permiso restringido. Debe ser notado que no se debe confundir la noción común de una "regla de lógica" entendida como una regla de inferencia y la noción de "regla" para denotar una regla de negocio.. Página 7.

(16) Capítulo 1: “Modelado de reglas de negocio con SBVR”. Figura 1.1 Reglas en SBVR (Solomakhin, 2011). Página 8.

(17) Capítulo 1: “Modelado de reglas de negocio con SBVR”. 1.1.2 Modelo conceptual y ontologías Para cualquier negocio, el término "dominio del negocio" es generalmente usado para indicar aspectos en un área que es de interés para la comunidad de modelado de negocios. Los hechos, son un caso particular de fact type, son los componentes básicos principales del SBVR y son considerados como proposiciones verdaderas en el negocio. La unidad lógica de más bajo nivel en SBVR es la formulación atómica, que es una formulación lógica fundada directamente sobre un fact type en particular, sin ninguna operación lógica, cuantificador u operador. Definición 5. (OMG, 2008) Un modelo conceptual (modelo de hechos) en SBVR es una estructura usada para describir un dominio de negocio, donde. es un esquema. conceptual, declarando fact types y reglas relevantes para el dominio del negocio, y. es una. población de hechos que se ajustan a este esquema. Definición 6. (OMG, 2008) Usamos. para denotar un hecho básico de una población de. hechos en SBVR. Un hecho existencial. es una aseveración de la existencia de un individuo.. Un hecho elemental. es una declaración de que un individuo tiene alguna propiedad, o que. uno o más individuos participan en una relación. Un modelo conceptual puede cubrir cualquier espacio de tiempo y contener los hechos que describen el pasado, presente y futuro. Cualquier cambio en un modelo conceptual (incluyendo cambios respecto a la población de hechos y los individual facts) produce un modelo de hechos diferente. Aunque en la práctica el esquema conceptual como parte de un modelo puede desarrollarse con el tiempo, es considerado generalmente como fijo y es la población de hechos la que se considera muy variable. Diferentes poblaciones del modelo de hechos con el esquema conceptual fijo son a veces referidas como estados del modelo de hechos e incluye un conjunto de hecho básico, que pueden ser elementales o existenciales. Las reglas de negocio definidas en el esquema conceptual. pueden ser consideradas como. hechos de alto nivel (ejemplo, hechos como proposiciones), son usadas para imponer restricciones con respecto a las poblaciones de hechos y pueden ser estáticas (define qué poblaciones son posibles o permitidas) o dinámicas (impone limitaciones a la transición entre poblaciones). Cuando clasificamos la regla como una restricción estática, es aseverado que es. Página 9.

(18) Capítulo 1: “Modelado de reglas de negocio con SBVR”. verdadero para cada estado del modelo de hechos, tomado individualmente, mientras que las restricciones dinámicas restringen las transiciones entre estados del modelo. Las ontologías son modelos que representan una abstracción del dominio de manera formal, de modo tal que varias partes son capaces de coincidir en la abstracción y reutilización del modelo para sus propias aplicaciones (Amaolo, 2007). Por tanto una ontología constituye la estructura que organiza el conocimiento en forma sistemática. En este caso se utiliza para la captura de la semántica de las reglas de negocio (Widom et al., 1996; Krisper et al., 2001). Una ontología se define como un acuerdo parcial y explícito de una conceptualización. Mientras que en (Gruber, 1995) la define como una especificación explícita de una conceptualización. Una ontología está conformada por conceptos (identificados como relevantes en el dominio a modelar), sus atributos, relaciones entre conceptos, funciones y axiomas. Los axiomas son especificados para obtener una mejor caracterización de la semántica. Desde el punto de vista de los Sistemas de Información una ontología es una herramienta de representación de conocimiento que facilita la expresión de conceptos y las relaciones que existen entre estos conceptos, incluyendo contenido semántico no ambiguo y prestando especial atención a la necesidad de compartir esta representación semántica entre distintos agentes (Ross, 2009). Tanto el vocabulario del negocio como una ontología se fundamentan en conceptos y reglas interrelacionados (ejemplos, identidad, cardinalidad o taxonomía) que restringen y especifican la comprensión del significado de los conceptos (Spreeuwenberg et al., 2006). Sin embargo, en el caso de la ontología de empresa se hace de esta forma debido a que se anticipa que las definiciones serán incorporadas luego, y los términos están diseñados para corresponder a ellas en la pre-implementación (Uschold et al., 1996). Este concepto se corresponde con las necesidades del modelo de hechos para el enfoque de reglas de negocio. 1.1.2.1 Cuantificadores y modalidades El padrón de SBVR provee los medios para describir los hechos y las reglas del negocio que pueden ser expresados informalmente (en términos de comentarios interpretados) o formalmente (en términos de fact types de esquemas pre-definidos y ciertos operadores lógicos, cuantificadores, modalidades). Para los objetivos principales del estándar, su descripción se. Página 10.

(19) Capítulo 1: “Modelado de reglas de negocio con SBVR”. concentra en sentencias formales de reglas, ya que solamente ésas pueden ser transformadas en formulaciones lógicas, pudiendo ser usadas para el intercambio con otras reglas. Tales formulaciones de reglas lógicas son equivalentes a las fórmulas de 2 valores, con cálculo de predicados de primer orden con identidad (OMG, 2008). Además del uso de los cuantificadores universal ( ) y existencial ( ), el estándar SBVR permite que la formulación lógica use cuantificadores numéricos pre-definidos (Halpin, 1989) (ver Tabla 1.1). Con el objetivo de expresar la naturaleza estructural y operacional de las reglas de negocio, correspondiendo con las formulaciones lógicas usamos cualquiera de las modalidades básicas, aléticas o deónticas mostrados en la Tabla 1.2. Definición 7. La formulación lógica. que tiene un operador modal de necesidad como. modalidad principal es llamada declaración de necesidad. Las declaraciones de posibilidad, obligación y permisión son definidas similarmente como formulaciones lógicas teniendo el operador modal principal de posibilidad, obligación o permisión respectivamente. Cada formulación lógica puede ser expresada usando verbalizaciones positivas o negativas, que pueden ser obtenidas aplicando equivalentes de la negación modal estándar (ver Tabla 1.2). La razón para permitir ambas verbalizaciones, positiva y negativa es que son útiles para la validación de restricciones para los expertos del dominio del negocio, sin embargo, para el uso en las herramientas automatizadas, los equivalentes de la negación modal pueden ser utilizados juntos con la doble negación con el fin de terminar con un operador alético y uno deóntico. 1.1.2.2 Notación para el vocabulario del negocio y las reglas Hay muchas maneras de expresar hechos y reglas de negocio en SBVR, a través de declaraciones, diagramas o cualquier combinación de ellos, cada uno sirve para diferentes propósitos. Mientras que las notaciones graficas son útiles para demostrar cómo los conceptos se relacionan, por lo general son poco prácticas para definir vocabularios o expresar reglas. Definición 8. Usamos. para denotar una regla de negoción en SBVR independientemente del. formato en particular en el que está escrito. Vamos a denotar cualquier declaración de necesidad como. ,. declaración de posibilidad como. de permiso como. , declaración de obligación como. .. Página 11. y declaración.

(20) Capítulo 1: “Modelado de reglas de negocio con SBVR”. Tabla 1.1 Cuantificadores. Cuantificadores Representación. Representación. ( (. ) ). Palabras claves o frase Cada Algún(a) Al menos uno(a) Al menos n Como máximo uno(a) Como máximo n Exactamente uno(a) Exactamente n Al menos n y como máximo Más de uno(a) Operaciones lógicas Palabras claves o frase No p pyq poq p o q pero no ambos Si p entonces q q si p p si y solo si q No tanto p como q Ni p ni q Si/(Ya sea que) p o no q. Página 12. Tipo Universal Existencial Existencial Al menos con Como máximo uno Como máximo con Exactamente uno Exactamente con Rango numérico con Al menos con Tipo Negación Conjunción Disyunción Disyunción exclusiva Implicación Implicación Equivalencia Formulación NAND Formulación NOR Formulación si … o no.

(21) Capítulo 1: “Modelado de reglas de negocio con SBVR”. Tabla 1.2 Modalidades básicas. Modalidades Aléticos. Necesidad No necesario Innecesidad Posibilidad. Operaciones modales Representación Palabras claves o frase Es necesario que p p siempre q No es necesario que p. Es posible que no p. Es posible que p p alguna vez q No es posible que p Es imposible que p p nunca q Es posible pero no necesario que p Es obligatorio que p p tiene q No es obligatorio que p. No posible Imposibilidad Contingencia Deónticos. Aplicando negación modal equivalente Representación Palabras claves o frase No es posible que p. Obligación No obligatorio. No es necesario que no p Es necesario que no p. (. ). Ni es imposible ni necesario que p No es permitido que no p Es permitido que no p. Permisión. Es permitido que p p puede q p no necesita q. No es obligatorio que no p. No permisible. No es permitido que p p no tiene q Es prohibido que p. Es obligatorio que no p. Prohibición. Es permitido obligatorio que p. Opcionalidad. Página 13. pero. no. (. ). Ni es prohibido ni obligatorio que p.

(22) Capítulo 1: “Modelado de reglas de negocio con SBVR”. El estándar SBVR sugiere tres enfoques diferentes: 1. SBVR con enfoque estructurado (OMG, 2008) anexo C, define una manera de usar mapas de palabras en inglés (modificable a otros idiomas) y estructurar conceptos. Las reglas de negocio se introducen usando una serie de prefijos de palabras claves para cada modalidad, que luego se aplican a la declaración del inglés estructurado, que representa el cuerpo de una regla. Un ejemplo de una regla de negocio del comportamiento de la obligación expresada en notación SBVR estructurado es la siguiente: rO = Es obligatorio que todo donante potencial vivo tiene que ser de primera línea de consanguinidad. Dado que la naturaleza de las reglas de negocio implica la ausencia de incertidumbre, significa que la fórmula de primer orden resultante no contiene variables libres, es decir, una formula cerrada. Una regla en SBVR puede ser representada por una expresión resultado de la aplicación de las modalidades y conectores booleanos a un conjunto formulas cerradas de primer orden. 2. RuleSpeak (Ross, 2003) es una notación de reglas de negocio existente, ampliamente utilizado por los expertos en negocios relacionados con proyectos de gran envergadura. El RuleSpeak utiliza básicamente las mismas formas de expresión como el inglés estructurado, sin embargo en lugar de los prefijos en las reglas, este incorpora palabras claves (mixfix), trasmitiendo una modalidad. El siguiente ejemplo ilustra la sintaxis: r = Cuando la insuficiencia renal sea avanzada se debe comenzar con diálisis. 3. ORM 2 es un enfoque de modelado conceptual que combina tanto el lenguaje formal, la especificación textual y lenguaje formal de modelado gráfico. El lenguaje ORM 2 se aplica a los predicados mixfix de cualquier aridad y contiene patrones predefinidos que cubren una amplia gama de limitaciones, típica de los dominios de negocio. La diferencia entre ORM 2 y otras notaciones, es que se trata de un lenguaje formal, con un rico poder expresivo, inteligibilidad y estabilidad semántica (Halpin et al., 2010). Existen varias traducciones de las expresiones ORM 2 no modales a la lógica estándar, incluyendo. Página 14.

(23) Capítulo 1: “Modelado de reglas de negocio con SBVR”. traducción a la FOL (Halpin et al., 2008) y algunas DL (Keet, 2007; Nguyen et al., 2007; Franconi et al., 2011). 3a. Cognition-enhanced Natural language Information Analysis Method (CogNIAM) es una de las variantes gráficas equivalente a la notación ORM 2, desarrollada por uno de los socios del proyecto ONTORULE con el fin de facilitar el procesamiento automatizado de diagramas de ORM 2 (OMG, 2008), anexo L. 1.1.3 Teoría de modelos semánticos En esta sección se recapitulan los enfoques existentes definidos por el SBVR (OMG, 2008), sección 10.1.1, que proporcionan una teoría semántica de modelos para las formulaciones de reglas de negocio. 1.1.3.1 Restricciones estáticas aléticas Las formulaciones estructurales de las reglas que representan las restricciones estáticas aléticas pueden utilizar los operadores aléticos siguientes:. = es necesario que y. = es. posible que. Por lo general, la mayoría de las declaraciones de las reglas tienen solo un operador modal que es el principal operador de toda la declaración. Sin embargo, SBVR permite formulaciones de reglas con múltiples ocurrencias de operadores modales, así como su anidamiento y formas embebidas, expuesto en la página 102 de (OMG, 2008). Definición 9. (OMG, 2008) Una formulación normalizada es una formulación lógica que tiene sus operadores modales en la parte frontal de la fórmula. Con el fin de proporcionar un conjunto de reglas trasformadas para obtener la forma normalizada, la norma propone utilizar equivalencias de negación modal, formulas Barcan (1.1), así como otras equivalencias de la lógica modal estándar, ejemplo en S42 (1.2).. (1.1) (1.2) 2. Lógica normal S4 o KT4 resulta tras añadir las fórmulas T ( )y4( ) a la lógica K (incluye solo tautologías y la fórmula K, ( ) ( ), así como las fórmulas que resultan del cierre respecto a modus ponens, generalización y sustitución uniforme), todas sus fórmulas son válidas sobre el conjunto de marcos reflexivos y transitivos.. Página 15.

(24) Capítulo 1: “Modelado de reglas de negocio con SBVR”. En la mayoría de los casos las transformaciones anteriormente mencionadas pueden conducir a la obtención de una restricción equivalente con un único operador modal que se coloca en la parte delantera de la formulación de la regla. En este caso, el modelo teórico sugiere omitir el operador previo y etiquetar la regla como necesidad o posibilidad respectivamente. El impacto de la implementación de una etiqueta de necesidad es que cualquier intento de cambio en la población podría causar que el modelo de hechos resultante violara la restricción del etiquetado. La semántica de una etiqueta de posibilidad no está expresamente definida por el SBVR, sin embargo suponiendo que la semántica del operador. en términos de mundos de mundos posibles, se podría considerar la etiqueta. posibilidad como una guía para los posibles cambios de la realidad. En el resto de los casos, cuando hay múltiples ocurrencias de operadores modales o hay una modalidad alética embebida que no puede ser eliminada por trasformación, el SBVR considera la adopción de la semántica formal de la lógica modal S4, expuesto en la página 192 en (Blackburn et al., 2001). Todas las restricciones se interpretan en términos de semántica de mundos posibles introducidas por Saul Kripke (Kripke, 1980), donde un mundo es posible corresponde a un estado del modelo de hechos que puede existir en un cierto punto en el tiempo. Por lo tanto una restricción estática de necesidad es cierta en todos los estados posibles del modelo de hechos. Del mismo modo, una proposición es posible si y solo si es cierto en al menos en un posible estado del modelo. 1.1.3.2 Restricciones estáticas deónticas Las formulaciones de reglas operativas representan restricciones estáticas deónticas utilizando operadores deónticos como: O = es obligatorio que, P = es permitido que y F = es prohibido que. El enfoque para definir una semántica formal para las restricciones deónticas es similar a las aleticas. Lo que sugiere el uso de equivalentes deónticos de negación modal, contrapartes deónticos a las formulas Barcan (1.3), así como otras equivalencias, tales como (1.4). (1.3). Página 16.

(25) Capítulo 1: “Modelado de reglas de negocio con SBVR”. (. ). (1.4). Si el resultado de la formulación de una regla normalizada contiene un único operador modal (ejemplo Op o Pp), entonces este operador se omite y la restante fórmula de primer orden p es etiquetado como obligación o permiso respectivamente (en lugar de necesidad o posibilidad en el caso alético). La semántica informal detrás de las etiquetas es que es deber (permitido) para el caso en que p, para todos los estados futuros del modelo de hechos hasta que la regla se cancele o cambie. Desde la perspectiva de las normas de aplicación de etiquetados como obligación puede ser violada en algunos estados del modelo y el hecho de que en algún caso las medidas adecuadas se deben tomar para eliminar bien la violación o para imponer una sanción. Sin embargo, tales acciones se consideran fuera del ámbito de aplicación del SBVR y permanecen sin especificar. La idea de marcar una regla como permisible es también declarada, pero basándose en la etiqueta de obligación, puede ser considerada como una guía para ser respetada cuando se imponen nuevas restricciones de obligación. Definición 10. (OMG, 2008) Según la perspectiva de la teoría de modelos, un modelo M en SBVR “es una interpretación cuando cada formula no deóntica es verdadera, y el modelo se clasifica como un modelo permisible si p en cada formula deóntica (de la forma Op) es verdadera, en otro caso el modelo es prohibido (aunque sigue siendo un modelo)”. 1.1.3.3 Restricciones dinámicas Las restricciones dinámicas se aplican a las posibles transiciones entre estados de negocio. La restricción puede simplemente comparar un estado con otro (por ejemplo, los salarios nunca deberían disminuir), o puede comparar estados separados por un período determinado (por ejemplo, la factura debe de ser pagada dentro de los 30 días de haber sido expedida). La regla factura podría ser formalmente expresada en un lenguaje de alto nivel, suponiendo que el fact types Factura fue emitida en Fecha y Factura sea pagada en Fecha se incluyan en el esquema conceptual: Para cada factura, si la factura fue emitida en fecha1 entonces es obligatorio que esa factura sea pagada en fecha2 donde fecha2 < = fecha1 + 30 días.. Página 17.

(26) Capítulo 1: “Modelado de reglas de negocio con SBVR”. Esto podría ser normalizado hacia la siguiente formulación, moviendo el operador deóntico a la parte delantera: Es obligatorio que cada factura que fue emitida en fecha1 sea pagada en fecha2 donde fecha2 < = fecha1 + 30 días. Hay dos problemas aquí. En primer lugar, ¿de qué reglas dependimos en la trasformación de las reglas? Al parecer, requerimos de una regla de equivalencia como es (. ). Aunque esta fórmula es ilegal en algunas lógicas deónticas, parece. intuitivamente aceptable. En cualquier caso, el trabajo de trasformación preliminar de normalizar la formulación de una regla de negocio puede implicar algo más que los equivalentes Barcan o deónticos. En principio, este problema puede ser ignorado para fines de interoperabilidad, siempre y cuando el experto del dominio del negocio sea capaz de confirmar que la formulación final normalizada (quizás de forma manual por el modelador de la reglas del negocio) está de acuerdo con su semántica propuesta, es solo la formulación final normalizada la que se utiliza para el intercambio con otras herramientas de software. La segunda cuestión se refiere a la naturaleza dinámica de la regla. Mientras es evidente la forma de implementar esta regla en un sistema de bases de datos, capturar la semántica formal en una lógica adecuada (por ejemplo, una lógica temporal o dinámica) es una tarea más difícil. Un posibilidad es proporcionar un paquete temporal que puede ser importado en un modelo de dominio, con el fin de proporcionar una solución FOL (Halpin, 2005). Otra posibilidad es la adopción de una lógica modal temporal (por ejemplo, el tratamiento de un mundo posible como una secuencia de estados accesibles del modelo de hechos).. 1.2 Formalización semántica del SBVR Las formalizaciones semánticas expuesta en la página 45 de (OMG, 2008), no son expresiones ni declaraciones, son estructuras que componen significados. Hay dos tipos de formalizaciones semánticas, el primer tipo son formulaciones lógicas y proposiciones estructuradas, ambas son simples y complejas. Las especializaciones de este tipo están dadas por varias operaciones lógicas, cuantificadores, formulaciones atómicas basadas en fact types y otras formulaciones para propósitos especiales como objetificaciones y. Página 18.

(27) Capítulo 1: “Modelado de reglas de negocio con SBVR”. nominalizaciones. El segundo tipo son las proyecciones, estas formulan definiciones, agregaciones y preguntas. Una objetificación es una formulación lógica que habilita un estado o evento indicado proposicionalmente para ser el sujeto u objeto de otra proposición. Una formulación abarcadora puede relacionar un estado o evento indicado usando objetificación en puntos en el tiempo, periodos u otros estados o eventos (posiblemente también identificados usando objetificación) con respecto al tiempo (ejemplo, ocurrido antes o después). Las relaciones específicas de interés pueden ser definidas como fact types. El SBVR trata el tiempo en relación a los estados y eventos permitiendo relaciones temporales definidas genérica y ortogonalmente para muchos fact types cuyas extensiones cambian con el tiempo. Una nominalización proposicional es similar a la objetificación. Es un tipo de formulación lógica que estructura el significado representado por una mención de una declaración o proposición opuesta al uso de esta. Otros tipos similares de formulaciones estructuran significados representados por mención de conceptos, preguntas y respuestas. Además las reglas con cambios a menudo envuelven noun concept nominalizados, que son formulaciones especiales para que un concepto sea sujeto u objeto de una preposición, en muchos, de la misma manera en que una proposición nominalizada permite que una proposición sea sujeto u objeto. Las formalizaciones semánticas son recursivas, muchos tipos de las mismas embeben a otras formalizaciones semánticas. Las variables lógicas son introducidas por cuantificación y proyecciones como estas formulaciones embebidas pueden referenciar a instancias de los conceptos. Una variable lógica usada en una formulación es libre dentro de la misma si esta no se encuentra introducida en la formulación. Una formulación es cerrada si no hay variables libres en ella. Solo una formalización semántica cerrada puede formular un significado. La composición jerárquica de las formulaciones semánticas, detalla la composición de las regla, permitiendo que una regla sea expresada de diferentes vías pero tenga un significado único. Así como dos formulaciones semánticas pueden tener el mismo significado indicando que hay redundancia entre ellas y en otros casos contradicciones entre las mismas.. Página 19.

(28) Capítulo 1: “Modelado de reglas de negocio con SBVR”. A continuación se muestre un ejemplo de la formalización semántica de la regla: Es obligatorio que cada alquiler tenga a lo máximo tres choferes adicionales. La regla es una proposición significado de una formulación de obligación. Esta formulación de obligación embebe un cuantificador universal. El cuantificador universal introduce una primera variable. La primera variable varía sobre el concepto ‘alquiler’. El cuantificador universal se extiende sobre un cuantificador a-lo-máximo-n. El cuantificador a-lo-máximo-n tiene cardinalidad máxima 3. El cuantificador a-lo-máximo-n introduce una segunda variable. La segunda variable varía sobre el concepto ‘chofer adicional’. El cuantificador a-lo-máximo-n se extiende sobre una formulación atómica. La formulación atómica es basada en el fact type ‘alquiler tiene chofer adicional’. La formulación atómica tiene un rol obligatorio. El rol obligatorio es del rol ‘alquiler’ del fact type. El rol obligatorio une la primera variable. La formulación atómica tiene un segundo rol obligatorio. El segundo rol obligatorio es del rol ‘chofer adicional’ del fact type. El segundo rol obligatorio une la segunda variable.. 1.3 Ambigüedad de la semántica del SBVR Mientras que el fundamento lógico y definición de la semántica dado en el estándar puede servir para este propósito, la completa utilidad de esa formalización para el desarrollo de un sistema de modelado de reglas es discutible, puesto que se encuentran fallas en su definición (Solomakhin et al., 2010). 1.3.1 Tratamiento independiente de las modalidades El principal problema en la formalización del SBVR para reglas de negocio es que las reglas estructurales y operacionales son consideradas independientemente, sin tomar en cuenta posibles inconsistencias entre ellas. Por ejemplo, algunas reglas pueden ser. Página 20.

(29) Capítulo 1: “Modelado de reglas de negocio con SBVR”. declaradas necesidad con una formulación alética y al mismo tiempo la negación de la formulación lógica usada en la regla puede participar en alguna regla deóntica, consideremos este ejemplo: Es necesario respirar. Es permitido no respirar. Aunque la notificación de permisión no significa quitar ningún grado de libertad, este conjunto de reglas es intuitivamente incierta. Que sin embargo no siempre es el caso cuando tratamos con reglas con cuerpos contradictorios. Por ejemplo: Es obligatorio no fumar. Es posible fumar. Este conjunto de reglas es claramente consistente, ciertamente, es físicamente posible fumar pero puede ser prohibido fumar en áreas públicas. Además, la semántica basada en etiquetas, propuesta por el SBVR, no es capaz de capturar las dependencias y contradicciones entre las reglas de similar naturaleza. Sin embargo, la tarea de detectar posibles contradicciones e inconsistencias con el modelo es muy importante para el modelado del negocio. Si no hay procedimientos específicos para definir si el conjunto de reglas es consistente, es altamente probable que el modelo resultante sea inútil. 1.3.2 Incompatibilidad con la semántica de la lógica deóntica clásica También es de notar un serio problema con la formalización definida por el estándar como es la manera de tratar las reglas operacionales que discrepan con la semántica de la lógica deóntica existente. La fuente de ese conflicto es la afirmación (OMG, 2008), que para normalizar una regla deóntica usa la equivalencia (1.4): (. ). Puede ser observado que esta transformación contradice con la semántica de las reglas operacionales, esta no preserva la validad de una formulación dada con respecto a la semántica de la lógica deóntica tradicional.. Página 21.

(30) Capítulo 1: “Modelado de reglas de negocio con SBVR”. Asumamos que la trasformación de la regla propuesta es válida en alguna lógica deóntica clásica D*. Entonces, acorde con la semántica modal de Kripke de D*, la equivalencia (1.4) sería válida en la clase de marcos seriales (Meyer et al., 2007) y por lo tanto sería válida en cualquier modelo basado en un marco serial (Blackburn et al., 2001). Ahora asumamos el siguiente modelo basado en un marco serial representado en la siguiente figura:. ● → ●p → ●p → ●p,q → ●p,q → … Es obvio que la formula (1.4) no es satisfecha en el primer estado de este modelo: mientras p → Oq es verdadera, O(p → q) es falsa. La directa implicación de la equivalencia (1.4) no es válida en este modelo y tampoco en el de la clase de marcos seriales. (. Por lo tanto se muestra que la trasformación. ) no preserva la validad. de formulación de las reglas y como resultado el procedimiento de normalización para reglas deónticas definida en el estándar no puede ser aplicado. 1.3.3 Incompatibilidad con la semántica de la lógica deóntica estándar La lógica deóntica estándar (SDL) es una de las lógicas deónticas más prominentes y ampliamente usadas cuya semántica es adoptada con el objetivo de formalizar las notaciones de obligación y permisión. Sin embargo, el modelo teórico semántico introducido en el SBVR se vuelve contradictorio cuando adoptamos la semántica formal de la SDL. Asumamos el siguiente esquema conceptual S y su interpretación I que satisface p y refuta q en algún mundo accesible: ( (. ) ). ( ). (1.5) (1.6) (1.7) (1.8) (1.9). Página 22.

(31) Capítulo 1: “Modelado de reglas de negocio con SBVR”. Entonces, desde la perspectiva del modelo teórico del SBVR, la interpretación dada es clasificada como un modelo prohibido, porque cada formula no-deóntica es evaluada como verdadera, mientras la primera regla deóntica es violada. Sin embargo asumamos la semántica SDL, para obtener el siguiente resultado vía deducción natural: (. ). (. ( (. ). ). ). axioma SDL. (1.10). modus ponens de 1.5 y 1.10. (1.11). modus ponens de 1.11 y 1.7. (1.12). axioma SDL. (1.13). modus ponens de 1.12 y 1.13. (1.14). contradicción de 1.6 y 1.14. (1.15). Por tanto el esquema conceptual (1.5)-(1.7) es inconsistente, esto contradice la definición de un modelo prohibido3 dado por el estándar. 1.3.4 Ambigüedad del modelo semántico de SBVR Puesto que el modelo teórico dado por el estándar SBVR menciona solamente la formula deóntica obligación, puede ser observada que una ambigüedad o falacia de su semántica es causada cuando trata con fórmulas deónticas de la forma Pp que representa la notación de permisión. Asumamos que {. (. )} es un conjunto de reglas de algún esquema conceptual S, y. algún fact population I de S en el que se satisface p, entonces el fact population es clasificado como modelo permitido. Sin embargo el esquema conceptual S es inconsistente, contiene formulaciones contradictorias de reglas deónticas, como. (. ).. 1.4 Conclusiones parciales del capítulo En este capítulo se aborda el enfoque del SBVR para el modelado de reglas de negocio, mostrándose la estructura para las reglas de negocio, el modelo conceptual y la utilización. 3. Un modelo es una interpretación donde cada formula no-deóntica es evaluado como verdadera, y el modelo es clasificado como modelo permitido si p en cada formula deóntica (de la forma Op) es evaluada como verdadera, en otro caso el modelo es un modelo prohibido (aunque sigue siendo un modelo) (OMG, 2008).. Página 23.

(32) Capítulo 1: “Modelado de reglas de negocio con SBVR”. de ontologías para proveer un vocabulario común y sin ambigüedades para referirse a los términos en el área aplicada. Así como las formalizaciones semánticas para las reglas, base del formato de intercambio. También se describieron ambigüedades en el modelo semántico para reglas deónticas y aléticas.. Página 24.

(33) Capítulo 2: “Notación lineal ORM2 como soporte de validación para SBVR”. Capítulo 2: “Notación lineal ORM2 como soporte de validación para SBVR” La consistencia de un esquema, la consistencia de un object type y el hecho de que alguna restricción pueda estar presente en un esquema como consecuencia implícita, son propiedades típicas de un esquema conceptual, que una vez chequeado, mejora significativamente su calidad. La verificación automática de esas propiedades sobre un esquema depende estrictamente de las posibilidades de razonamiento e inferencia sobre estas, por medio de una semántica basada en la lógica, representación del esquema en sí. Con esta meta en mente, se presenta la notación linear ORM2 (Franconi et al., 2011) para cubrir el conjunto de formalizaciones lógicas propuesta por el SBVR.. 2.1 Notación lineal ORM2 Los componentes básicos que el sistema empieza modelando son los objetos. Un objeto está compuesto por una entidad y un valor (ejemplo, un número o un string), los objetos se relacionan entre ellos a través de predicados de cualquier aridad. Si un objeto e esta relacionado con otro f a través de un predicado p, se dice que los objetos e y f juegan un rol en el predicado p. El término rol es usado para referenciar la relación entre un objeto y un predicado, puesto que un objeto puede ser usado en múltiples predicados. Recapitulando la definición de la notación lineal ORM2 desarrollada en (Franconi et al., 2011), muestra que la signatura. de la notación lineal ORM2 esta compuesta por:. . un conjunto. símbolos entidad;. . un conjunto. de símbolos valor;. . un conjunto. de símbolos objeto donde. . un conjunto. de símbolos relación;. . un conjunto. de símbolos (atributo) rol;. . un conjunto. de símbolos dominio;. . un conjunto. de conjuntos pares disjuntos de valores;. . una función de extensión como una extensión. (). ;. asociando cada símbolo dominio. ;. Página 25.

(34) Capítulo 2: “Notación lineal ORM2 como soporte de validación para SBVR”. . una relación binaria par. conectando roles con relaciones. Tomando el. como el elemento atómico de la sintaxis, llamado rol localizado. Dado {. una relación. respecto a ; aridad( ) . } es el conjunto de roles localizados con |. para cada símbolo relación elemento en [. [. | es la aridad de la relación ; , una biyección. [. [. ]] mapea cada. para un elemento en la sucesión finita de números naturales. ]]. Se define. ⋃. . El mapeo. garantiza una correspondencia. entre roles y su posición en la relación, seleccionándose libremente entre una representación basada en atributos o posicional. A continuación se listan los principales tipos de restricciones y su especificación en la notación lineal ORM2: Conexión de rol:. Restricción de frecuencia: generaliza la restricción de singularidad, por consiguiente cada tupla ocurre un número de veces, en lugar de una única vez. ( ). (. (. { })) – relación que indica la frecuencia de ocurrencia de. un rol. Puede ser: externa (restricción de frecuencia que se le aplica como un único rol a diferentes relaciones), interna (restricción de frecuencia que se le aplica como un único rol a una única relación). La sintaxis soporta expresiones de rango (para una detallada introducción de las diferentes restricciones, ver página 272 de (Halpin et al., 2008). Restricción de rol obligatorio (mandatory role): si para cada interpretación del esquema conceptual, debe ser jugado para todas las instancias de su objeto que son mencionadas en la interpretación. ( ) Restricción de Subconjunto: puede ser aplicada sobre dos rangos de roles en dos predicados. La restricción especifica que la tupla en el rol del primer predicado tenga esa misma cantidad en el segundo predicado. Es importante que el tipo de rol del sub-. Página 26.

(35) Capítulo 2: “Notación lineal ORM2 como soporte de validación para SBVR”. predicado en una restricción de subconjunto tenga correspondencia con el del superpredicado. Restricción de Exclusión: puede ser usada para modelar una situación donde pueda ocurrir solo un valor en particular. R-SETH. ( ( ). cada. ( )). (. ), donde {. R-SETH,. (. ). es una biyección parcial donde, para } y. {. }. R-SETSub. representa restricciones de subconjunto y R-SETExc representa restricciones de exclusión. Restricción de Subtipo: O-SETH. , donde. {. } – relación binaria que representa jerarquía. de subtipo en los objetos. Restricción de cardinalidad de objetos: (. O-CARD. (. { })) – función parcial que define la cardinalidad de las. extensiones de un objeto (ejemplo, cada población de. incluye un número de. instancias que es restringida por estar un rango dado). Restricción de cardinalidad de roles: (. R-CARD. (. { })) – función parcial que define la cardinalidad de las. extensiones de una relación (ejemplo, cada población de. incluye un número de. instancias que es restringida por estar en un rango dado). Objetificación: es usado para objetificar un fact type como un objeto A.. Restricción de anillo: especifica las propiedades que una relación puede poseer. (. ), donde. {. }. Restricción de valor de un objeto: es usado para enumerar el rango de valores que una entidad puede tener. V-VAL :. (. ), para algún. Página 27.

(36) Capítulo 2: “Notación lineal ORM2 como soporte de validación para SBVR”. Restricción modal: (). (). (). ( ) – representan los operadores modales de necesidad, permisión,. obligación y permisión respectivamente, que son aplicables a todas las relaciones en (ejemplo,. ).. Restricciones derivadas: . Restricciones de singularidad ({. . }(. Restricción de valor de un rol: ( V-VAL(. . ), donde ). {. es un nuevo valor }. Restricción de igualdad: R-SETSub( R-SETSub(. . )). { {. }. ). } {. }. {. ). }. Restricción de o-exclusivo: ({. }. ). R-SETExc({. }{. }. ). R-SETExc({. }{. }. ),…,. R-SETExc({. }{. }. ). Dada la sintaxis de la notación lineal ORM2, en (Solomakhin, 2011) se definió un formato de entrada implementable, representación del conjunto de elementos de la signatura. que. se muestra en la Tabla 2.1.. 2.2 Codificación FOL para ORM2 El SBVR nos provee de una formalización lógica capaz de representar las reglas de negocio, por lo que nos apoyamos su semántica de FOL y basados en una signatura mostramos su equivalencia con la sintaxis lineal, como se muestra a continuación:. Página 28. ,.

(37) Capítulo 2: “Notación lineal ORM2 como soporte de validación para SBVR”. Tabla 2.1 Notación lineal ORM2. Sintaxis lineal ORM2 Conjunto entidad Conjunto. de. de. {. símbolos. de. [. {. [. símbolos. ] }. {. ] }. [ {. de símbolos rol. Conjunto dominio. Ejemplos. {. símbolos. de símbolos valor. Conjunto relación Conjunto. Formato de entrada. {. ] } [. }. {. ] }. {. }. } {. [. ] }. {. } }. Las entidades y valores empiezan con mayúscula, las relaciones, los roles y los dominios pueden empezar con cualquier tipo de letra, pueden contener letras, números y los siguientes símbolos: ‘_’ y ‘ ‘. El conjunto de roles, dominios, relaciones, entidades y valores deben ser disjuntos. LOC-ROLES: {. Relación binaria Biyección. [. [. ]]. LOC-ROLES-INDEX( LOC-ROLES-INDEX: {( )[ (. Página 29. [. ] } ) ) ]}. LOC-ROLES: { LOC-ROLES-INDEX(. } ).

(38) Capítulo 2: “Notación lineal ORM2 como soporte de validación para SBVR”. Sintaxis lineal ORM2. Formato de entrada (. (. (. ( ) { })). ). ({. ( ( ). ( )). R-SETh. ) ( { , donde. O-SETH {. (. [ ({ y o correspondiente a. ( ) R-SETH (. Ejemplos. , donde }. ] }( o. [. { {. }(. ({. ] }. ). ({. }. R-SETsub. ] } ] }. ) ] }. {. }. {. ( {. ). }. ) }. ]. [ O-SETh({ [ ]. ] }. ),. donde. O-SETtot(. {. }. O-CARD ( { })). (. O-CARD( o. ). (. ), donde y , correspondiente a. o O-CARD(. ). (. R-CARD ( { })). (. R-CARD( o. ). (. ), donde y , correspondiente a. o R-CARD(. ). (. (. )). ,. [ [ [ [. )), donde. ). ). Página 30. (. ) ) ). ).

(39) Capítulo 2: “Notación lineal ORM2 como soporte de validación para SBVR”. Sintaxis lineal ORM2 (. Formato de entrada (. ), donde. {. } (. V-Val : algún. Ejemplos ), donde. (. [. ), para V-VAL( ( {. ). ] ) )(. ](. ). }. V-VAL( V-VAL(. ) ). {[ {. ]} }. [ ] } V-VAL( ) { } V-VAL( ) { Value puede ser un entero, un float o una constante string encerrado entre ´´. Las restricciones de rangos son definidos solo para números. Las restricciones de rangos pueden ser inclusivas [ ] o exclusivas ( ). )) no Los rangos ilimitados (ejemplo, ( pueden ser inclusivos. Cuando los extremos no se expresan explícitamente son incluidos. xds:datatype es cualquier tipo de dato del esquema XML. (). (). (). (). {} {} respectivamente. Página 31. {}. {}. {. (. {. }. )}.

(40) Capítulo 2: “Notación lineal ORM2 como soporte de validación para SBVR”. . predicados unarios para entidades;. . predicados unarios para valores;. . predicados unarios para dominios;. . predicados n-arios para relaciones;. . un conjunto contable de constante. . un conjunto. ; {. de funciones,. }.. La codificación de FOL de la semántica ORM2 introducida anteriormente es la siguiente: ( ( ). (. ( ( ). ( )), para. ( ( ). ( ). ( ))), para. (2.1) (2.2). (. )), para todo (. ( ). ( ). (2.3). ). (2.4). El anterior conjunto de axiomas se necesita con el objetivo de forzar la interpretación de los símbolos en la base de conocimiento de FOL a que sea correcta. En particular (2.1) fuerza la interpretación de cada entidad a ser disjunta de la interpretación de los dominios; el axioma (2.2) muestra que objetos en la interpretación de un valor debe estar también en un dominio específico; el axioma (2.3) fuerza a la interpretación de un dominio a estar entre el conjunto de valores predefinidos por. ( );. mientras que el axioma (2.4) captura la. naturaleza inyectiva de cada función ID y el hecho de que tuplas de diferente longitud nunca coincidirán en el mismo identificador. Representación de una conexión de rol (. es. (. ( (. ). (. ). ). (. ).. Página 32. (. ) )),. su transformación equivalente.

(41) Capítulo 2: “Notación lineal ORM2 como soporte de validación para SBVR”. Representación de una restricción de frecuencia ̅[. ( ̅ ). ̅ (⋀ ̅. ̅[ ̅. ⋀(. ( ̅ ). ̅ (⋀. (. ). ). ⋀(. (. ⋀(. ). ). (. ))]. ). ⋀(. (. ))]. ). su transformación equivalente es ({. }(. cualquier. )) donde. para. .. Representación de una restricción de rol obligatorio [ ( ). ⋁. ̅ (. ( ̅) (. (. )). ). ⋁. ̅ (. ( ̅ ). (. (. ))]. ). ({. su transformación equivalente es. }. ).. Representación de una restricción de subtipo sobre relaciones, de tipo subconjunto ̅[. ̅ (⋀ ̅. ( ̅). ̅ (⋀ ̅. ( ̅ ). ⋀(. (. ). (. ⋀(. ). ( (. ). ). ⋀(. ). ⋀(. ). ⋀(. ). ⋀(. (. ))]. ). (. ). ( (. )). ). y de tipo exclusión ̅[. (. ̅. ̅. ̅ (⋀. ( ̅ ). ̅ (⋀. ( ̅). ⋀(. ⋀(. (. ). (. ). ( (. su transformación equivalente es R-SETH( donde {. {. },. ). (. ))]. ). (. ( (. ). ). ))). { {. {. } }. ). }, },. Página 33. es una biyección parcial para cualquier.

(42) Capítulo 2: “Notación lineal ORM2 como soporte de validación para SBVR”. {. R-SETH donde. (. ). } y. (. (. ssi. ). ). Representación de una restricción de jerarquía: ( ( ). de tipo parcial. ( ( ) ( ) ( ( ). de tipo total {. ̅̅̅̅̅̅,. ( )), para todo ( )). ( ). (. ̅̅̅̅̅̅,. ( ). ( )). ( ). ( ). ( y de tipo exclusiva. , para todo ( )). (. ( ). ( ). ( ). ( ) ( ). (. {. ( )) ( )). ( )). su transformación equivalente es O-SETH({. }. ) donde. {. }. ( ( )). Representación de una restricción de cardinalidad de objeto ( ( )), su transformación equivalente es O-CARD( ). (. ).. Representación de una restricción de cardinalidad de rol (. (. )(. (. )). ). su trasformación equivalente es R-CARD(. ). (. (. (. (. )). ). ).. ( ( ). Representación de una objetificación transformación equivalente es. )(. (. ̅( ( ̅). ( ̅). )), su. ).. Representación de una restricción de anillo Reflexiva. (. Irreflexiva Simétrica Asimétrica Antisimétrica. )(. ) (. (. (. ) (. ). ) ( (. ) (. (. (. )(. ) (. (. (. (. ). ). (. ). ). ) ( (. ) (. )(. (. )). ( )(. ) (. (. )). (. (. (. ( )(. ). (. (. Página 34. ). (. (. ). ) )) ) )). (. (. )). ( ). (. )). (. ) (. (. (. )). (. (. ). (. ( (. ) )). (. ) ). ( (. ) )) )). ).

(43) Capítulo 2: “Notación lineal ORM2 como soporte de validación para SBVR”. Reflexiva (. (. ) (. ). (. ). (. ) )). ). (. (. ) (. ). (. ) (. )(. (. (. ). (. )). (. (. ). (. )). ) (. ). (. ) (. )(. (. (. ). (. )). (. (. ). (. )). Irreflexiva (. ) (. (. (. ). ) )). (. (. Su transformación equivalente es. ) donde. {. }.. Representación de una restricción de valor sobre un objeto (. )), su transformación equivalente es V-VAL( ). ( ( ). {. (. ). }.. Representación de una restricción de igualdad ̅[ ̅. ̅. ̅ (⋀. ̅ (⋀. ( ̅ ). ( ̅). ⋀(. ⋀(. (. (. ( (. ). ). ). ). ⋀(. ). ⋀(. (. ))]. ). (. ( (. ). ). )). su transformación es derivada (ver transformaciones derivadas).. 2.3 Trasformación del formato SBVR hacia ORM2 Basados en el conjunto de formalizaciones semánticas del SBVR se propone la trasformación hacia la notación lineal ORM2 (Solomakhin, 2011) soportada sobre una semántica FOL propuesta por primera vez en (Halpin, 1989), después revisada y extendida en varios trabajos. La transformación asignará notaciones de acuerdo los elementos mostrados en las formalizaciones semánticas de las reglas, basándonos en algunos fragmentos se mostrara detalles importantes a tener en cuenta en la misma. Las variables se utilizan como elementos auxiliares para facilitar la salida a la notación lineal, para saber a que regla se hace referencia aparte del nombre de la relación utilizaremos un número (#), así sabemos. Página 35.

(44) Capítulo 2: “Notación lineal ORM2 como soporte de validación para SBVR”. en caso de inconsistencias en que regla se encuentra. En caso de repetirse una relación en la misma reglas para diferenciarlas después de # utilizaremos _# para hacer diferencias entre ellas. A continuación mostramos las transformaciones: : Variable varía sobre concepto variable varía sobre el concepto ‘. La. ’.. En este caso se debe asegurar que se tengan todos los conceptos a los que se hace referencia en las reglas, se hará referencia a la cardinalidad de la variable con card, la cual puede variar en dependencia de la regla y su localización en ella; este fragmento muestra la ’ a la. asignación del. .. : Variable varía sobre fact type restringida por una objetificación La. variable varía sobre el fact type ‘. La. variable es restringida por una objetificación.. La objetificación enlaza a la. ’.. variable.. En este fragmento la asignación es hecha a una objetificación, (. ). : Variable restringida por una formulación de agregación La. variable es restringida por una formulación de. agregación. La formulación de agregación enlaza a la. variable.. La formulación de agregación considera una proyección. La proyección es en la. variable.. La proyección es restringida por una formulación atómica. La formulación atómica es basada en el fact type ‘. ’.. Como se muestra la agregación no es más que una objetificación de la formulación atómica en la que interviene la variable sobre la que se proyecta, (. ). Página 36.

Figure

Figura 1.1 Reglas en SBVR (Solomakhin, 2011)
Tabla 1.1 Cuantificadores
Tabla 1.2 Modalidades básicas
Figura 3.1 ORM2 to OWL2 Traslator
+5

Referencias

Documento similar