4.2 Data Analysis
4.2.3 Cognitive Knowledge: Cultural Competence
El lenguaje SBVR ha sido definido por el grupo dedicado al estudio de las reglas de negocio llamado Business Rules Team, BRT (BRG,2009). Es una respuesta a la solicitud de propuestas (Request For Proposals, RFP) realizada por el Object Management Group (OMG) y denominada Business Semantics for Business Rules (BSBR).
SBVR es un vocabulario o, más bien, un conjunto de sub‐vocabularios, formados por una serie de entradas terminológicas. Cada una de estas entradas incluye una definición, junto con otras especificaciones como notas y ejemplos. A menudo, las entradas incluyen también reglas (necesidades) para el elemento en concreto que se está definiendo.
SBVR está diseñado para ajustarse a la capa de modelo de negocio de la arquitectura MDA (ver apartado II.5.3) como se muestra en la Figura II‐ 24. Esta ubicación de SBVR en la arquitectura tiene dos implicaciones:
Introduciendo Semántica en un Proceso de Desarrollo Software a través de Reglas de Negocio
Se centra en reglas de negocio y en vocabularios de negocio, especialmente en aquellos relevantes para ser utilizados junto con las reglas. Es también necesario desarrollar otros aspectos del modelo de negocio, incluyendo procesos de negocio y la estructura de la organización, pero estos aspectos los abordará OMG en otras iniciativas.
Los modelos de negocio, incluyendo aquellos que soporta SBVR, describen el negocio y no los sistemas de información que los soportan.
Figura II- 24. SBVR en el marco de la arquitectura MDA (tomada de (OMG,2008))
En la arquitectura MDA, los sistemas de información se especifican empleando los modelos independientes de la plataforma (PIM) y los específicos de la plataforma (PSM), entre los que debe existir una correspondencia. Esta transformación entre modelos queda fuera del ámbito de SBVR. Eso sí, OMG se asegurará de que los metamodelos para los diferentes aspectos del modelo de negocio constituyan un todo coherente.
II.4.2.3.1. Aspectos clave de SBVR
En este apartado se van a definir un conjunto de conceptos fundamentales para la comprensión de SBVR. Semántica El primero de ellos es la semántica, que se define como "el significado o relación entre significados de un signo o un conjunto de signos". En SBVR estos signos pueden tener cualquier forma: palabras, frases, códigos, números, iconos, sonidos, etc. SBVR incluye dos vocabularios especializados: El "Vocabulario para Describir Vocabularios de Negocio", que contempla todo tipo de términos y significados (otros significados aparte de los de las reglas de negocio)
El "Vocabulario para Describir Reglas de Negocio", que se centra en la especificación del significado de las reglas de negocio y se construye sobre el vocabulario anterior. transformación SBVR Reglas de Negocio Vocabu lario Conceptos Modelo Específico de la Plataforma (PSM) Modelo Independiente de la Plataforma (PIM) Otros aspectos del modelado de negocio ‐ procesos, estructura de la organización, etc.
SBVR
Modelo de Negocio Model‐Driven Architecture (MDA)
Introduciendo Semántica en un Proceso de Desarrollo Software a través de Reglas de Negocio
Ambos vocabularios han sido separados, de manera que el "Vocabulario para Describir Vocabularios de Negocio" pueda ser utilizado de forma independiente, por ejemplo, como base para vocabularios de procesos de negocios o roles organizativos. Vocabulario de Negocio El vocabulario de negocio contiene todos los términos especializados y definiciones de conceptos que una organización o comunidad determinada utiliza en sus comunicaciones habladas y escritas en su operativa diaria.
El "Vocabulario para Describir Vocabularios de Negocio" se basa en los estándares ISO sobre terminología:
ISO 1087‐1(2000) "Terminology work ‐ Vocabulary ‐ Theory and application" ISO 704 (2000) "Terminology work ‐ Principles and Methods"
ISO 860 (1996) "Terminology work ‐ Harmonization of concepts and terms"
Estos estándares han sido utilizados durante décadas para dar soporte a vocabularios multilingües en tareas de traducción. SBVR es el resultado de la integración de estos estándares ISO, lógicas formales, lingüística y experiencia práctica a partir de expertos con amplia dedicación al campo de las reglas y vocabularios de negocio. Estos expertos tienen más de diez años de experiencia en el desarrollo y aplicación de las técnicas incluidas en el estándar SBVR.
Existen otros estándares ISO empleados para representar conceptos como códigos de países, fechas y horas, códigos para monedas, direcciones, los cuales serán adoptados en vocabularios basados en SBVR como caso práctico, pero no han sido incluidos en la especificación.
Un vocabulario basado en SBVR potencia, de distintas maneras, la semántica de los glosarios de términos de negocio habituales y sus definiciones. Para ello proporciona:
1. Una potente capacidad de categorización jerárquica y multidimensional para organizar conceptos de generales a más específicos como los empleados por los bibliotecarios e informáticos para indexar documentos. Estas jerarquías son normalmente conocidas como taxonomías o esquemas de categorización. Se incluyen también facilidades para definir categorías.
2. Las capacidades asociadas a los tesauros, incluyendo sinónimos, abreviaturas, 'vea también', vocabularios múltiples para un conjunto de significados en distintos idiomas, etc.
3. La posibilidad de especificar definiciones (tanto en intensión como en extensión) de una manera formal y no ambigua en función de otras definiciones presentes en el vocabulario de negocio, como resultado de la aplicación de lógica formal o de otras reglas lingüísticas. 4. La capacidad para definir conexiones entre conceptos que resulten de interés para la
organización. Estas conexiones proporcionan la estructura semántica desde el punto de vista de negocio, necesaria para encontrar información sobre tales relaciones en los documentos de texto y bases de datos relacionales, así como proporcionar la posibilidad de especificar reglas de negocio de una manera formal y sin ambigüedades. La función en el estándar ISO/IEC 13250:2000 "Topic Maps" se incluye en los vocabularios de negocio basados en SBVR.
5. Un conjunto de plantillas semánticas para facilitar la captura de la semántica completa para cada concepto y también para las conexiones entre conceptos que puedan resultar de interés para la comunidad propietaria del vocabulario de negocio.
Introduciendo Semántica en un Proceso de Desarrollo Software a través de Reglas de Negocio
6. Una base para la identificación y/o definición de entidades individuales, eventos y estado, las relaciones entre ellos y su relación con el tiempo para documentos de texto y minería de datos.
7. La base para herramientas que den soporte a la visualización y 'navegación' a través del vocabulario de negocio basado en su significado desde el punto de vista del negocio.
8. La gestión y propiedad compartida por parte de la comunidad de los vocabularios de negocio y reglas de negocio de cada miembro.
9. La base para integrar vocabularios de negocio creados separadamente, utilizando la capacidad de 'análisis de características' de ISO 1087‐1 e ISO 860. Cuando se integran vocabularios de negocio independientes, las reglas de negocio basadas en ellos se modifican para reflejar los cambios introducidos por la unión de vocabularios.
10. La capacidad de minimizar el número de definiciones que necesita crear una organización mediante características pragmáticas y potentes para la adopción de vocabulario. El enfoque de SBVR promueve (a) la incorporación de vocabularios externos previamente desarrollados y (b) la comunicación entre los miembros de diferentes comunidades.
11. La capacidad de dar soporte a la especificación del significado de todo tipo de reglas de negocio de manera exhaustiva.
Regla de Negocio
Se define como "una regla que está bajo la jurisdicción del negocio". La expresión "bajo la jurisdicción del negocio" debe interpretarse como que el negocio puede definir, revisar y eliminar reglas de negocio según sea necesario. Por ejemplo, la ley de la gravedad no es, obviamente, una regla de negocio. Igual que sucede con las reglas matemáticas.
La cuestión fundamental en la definición de 'regla de negocio' es el significado de 'regla'. Se ha prestado una consideración cuidadosa a la diversidad de interpretaciones reales del concepto de 'regla', incluyendo varios diccionarios de referencia y publicaciones anteriores en el campo de las reglas de negocio. Mayor consideración se ha dado a la interpretación que hace la gente del concepto de 'regla' en la vida diaria, no sólo dentro de actividades relacionadas con los negocios, sino también fuera de ellas. Por ejemplo, se han tenido en cuenta libros con normas para deportes profesionales.
Claramente, el término 'regla' tiene el sentido de 'guía de conducta o acción', tanto en la vida diaria como en el ámbito de los negocios. Desde un punto de vista u otro, este sentido del concepto de 'regla' puede encontrarse en la mayoría, si no en todos, los diccionarios de referencia.
Si se examina la cuestión en mayor detalle, resulta obvio que si las reglas se van a emplear como guías de conducta o acción, deben proporcionar también los criterios precisos para juzgar y guiar la conducta o acción. En otras palabras, en el contexto de las reglas de negocio (y probablemente también en la mayoría de los dominios), las reglas se emplean como conjuntos de criterios para tomar decisiones. La interpretación que SBVR da al concepto de regla abarca el sentido de 'conjunto de criterios' que contemplan la mayoría de los diccionarios de referencia.
Este punto es de vital importancia para todos aquellos profesionales dedicados a la creación de modelos de negocio. En la ingeniería de procesos de negocio, por ejemplo, el significado más extendido para el concepto 'regla de negocio' es como criterios para los puntos de decisión ('bifurcaciones') en modelos de procesos de negocio. Estos puntos de decisión son, habitualmente, sencillos (por ejemplo, '¿cuál es el nivel de un cliente, oro, plata o bronce?') Aunque hay casos en los
Introduciendo Semántica en un Proceso de Desarrollo Software a través de Reglas de Negocio
que esos puntos de decisión van acompañados de criterios realmente complejos (por ejemplo, ¿debe pagarse la reclamación del seguro, debe denegarse o debe considerarse como probablemente fraudulenta?) Para estas situaciones complejas, la aplicación de técnicas de inferencia especiales puede ser de gran ayuda (por ejemplo, herramientas que den soporte a 'reglas de producción'). Reglas y Lógica formal
Uno de los aspectos esenciales a tener en cuenta en el tratamiento que SBVR da al concepto de regla es su consistencia con la lógica formal. Expertos en esta área indican que el mejor tratamiento que puede hacerse para la interpretación de reglas debería incluir restricciones de necesidad y obligatoriedad. Así, en SBVR, una regla es 'un elemento de orientación que introduce una obligación o una necesidad'. Las dos categorías de reglas fundamentales, las mismas que se han descrito en el apartado II.2.1.2, reglas estructurales (que expresan necesidades) y reglas operativas (que expresan obligaciones). Reglas, Tipos de Hechos y Conceptos expresados a través de Términos De manera informal, un 'tipo de hecho' es una asociación entre dos o más conceptos. En SBVR, las reglas se construyen siempre aplicando condiciones de necesidad u obligatoriedad sobre tipos de hecho. Por ejemplo, la regla "Un contrato de alquiler no debe tener más de 3 conductores adicionales" se basa en el tipo de hecho "El contrato de alquiler tiene un conductor adicional". De esta forma, SBVR asume un principio básico del Enfoque de Reglas de Negocio que establece que "las reglas de negocio deben construirse sobre tipos de hecho y los tipos de hecho se construyen a partir de conceptos expresados por términos". Esta idea está bien documentada en las publicaciones de los mayores expertos de la industria de los últimos 10 años.
Una consecuencia importante del enfoque de SBVR es que los conceptos (incluyendo los tipos de hecho) son diferentes de las reglas. Esto permite que el soporte dado por SBVR a los conceptos (incluyendo tipos de hecho) pueda ser empleado, opcionalmente, para la construcción de vocabularios de negocio.
Todas las reglas de negocio deben ser 'procesables', es decir, susceptibles de ser validadas. Esto significa que una persona que conozca una regla de negocio pueda observar una situación relevante (incluyendo su propio comportamiento) y decidir directamente si el negocio está cumpliendo o no con la regla. Esto presupone, por supuesto, que el vocabulario de negocio sobre el que se define la regla ha sido bien desarrollado y se ha dado acceso al mismo de manera adecuada. Esto indica la importancia del vocabulario de negocio para dar soporte a las reglas de negocio. Conviene notar que las reglas de negocio sean 'procesables' no quiere decir que sean siempre automatizables. Muchas reglas de negocio, especialmente las operativas, no pueden ser automatizadas por los sistemas de información. Esta distinción no es importante para SBVR, que se centra en reglas sólo desde el punto de vista del negocio, sin tener en cuenta si las reglas pueden ser automatizables. Sin embargo, es importante en la definición de la transformación del modelo de negocio al nivel PIM de MDA. En concreto, aquellas reglas de negocio que no sean automatizables necesitarán ser implementadas como actividades del usuario, soportadas por manuales de procedimiento o libros de reglas.
Intercambio Semántico
El metamodelo SBVR está diseñado para proporcionar interfaces de datos estandarizados e intercambios de datos estandarizados entre herramientas que recogen, organizan, analizan y utilizan
Introduciendo Semántica en un Proceso de Desarrollo Software a través de Reglas de Negocio
reglas y vocabularios de negocio, así como herramientas que relacionan vocabularios y reglas de negocio a otros modelos e implementaciones. El metamodelo SBVR podrá ser soportado por múltiples herramientas de diferentes fabricantes que proporcionan validación, análisis, alineación, combinación y composición de reglas de negocio (incluyendo herramientas que permiten incluir explicaciones sobre los motivos por los que ciertas reglas se consideran en conflicto o solapadas con otras) y para el intercambio de vocabularios y reglas de negocio junto con su semántica.
Una característica importante del metamodelo SBVR es la forma en que ha sido creado. Comienza con los Vocabularios SBVR acompañado de un conjunto de reglas que permite transformar el vocabulario a MOF (Meta‐data Object Facility) / XMI (Xml Metadata Interchange), lenguajes estándar para la representación de modelos.
El metamodelo SBVR resultante se dirige, no a gente de negocio, sino a ingenieros de software encargados de construir herramientas para la gente de negocio. Además, SBVR puede incluirse o extenderse a modelos que consideran diferentes dominios de negocio. Que el metamodelo SBVR sea generado con intervención manual garantiza que representa de forma precisa los conceptos de los vocabularios SBVR.
El grupo BRT (BRG,2009) está muy interesado en la interoperabilidad entre las herramientas de modelado y en la integración de muchos tipos de modelos. Estos modelos abarcan desde los que se centran en la misión y la visión de negocio a los que definen vocabulario, reglas y procesos de negocio pasando por modelos de componentes y bases de datos o modelos de despliegue y administración de sistemas. El metamodelo SBVR proporciona los requisitos básicos de integración y trazabilidad y es consistente con los objetivos de la comunidad de representación del conocimiento.
II.4.2.3.2. Descripción informal del metamodelo SBVR
El metamodelo SBVR puede dividirse en 5 elementos principales, como se indica en la Figura II‐ 25, que son: ComunidadLa base del vocabulario de negocio es la comunidad. En el nivel de negocio, las comunidades de primordial importancia son las empresas para las que se están estableciendo y expresando las reglas de negocio. Sin embargo, otras comunidades (la industria en la que opera una empresa, empresas colaboradoras, grupos de estandarización, autoridades reguladoras, etc.) deben ser también reconocidas.
Un aspecto importante de la comunidad es que las sub‐comunidades que la componen pueden necesitar acceso a los significados compartidos (empezando por los conceptos fundamentales) que pueden estar recogidos en diferentes vocabularios, desde jerga especializada a correspondencias en diferentes idiomas. En SBVR estas sub‐comunidades se denominan "comunidades de habla".
Conceptos Compartidos
Una comunidad tiene un conjunto de significados compartidos, comprendiendo conceptos (que incluyen tipos de hecho) y reglas de negocio. Lo que se comparte es el significado, no la forma de expresarlo. Así, para poder intercambiar, discutir y validar significados compartidos, deben haber sido previamente expresados de alguna forma. SBVR separa el significado de negocio de cualquier forma de expresión específica. La estructura del conjunto de significados compartidos (es decir, qué
Introduciendo Semántica en un Proceso de Desarrollo Software a través de Reglas de Negocio
conceptos juegan qué roles en los hechos, qué hechos constituyen la base qué reglas, etc.) se define a través de la asociación de conceptos abstractos, tipos de hecho y reglas de negocio, y no asociando sentencias en un lenguaje determinado. Formulación Lógica La formulación lógica proporciona una sintaxis formal, abstracta e independiente del lenguaje para la captura de la semántica de un conjunto de significados compartidos. Permite emplear múltiples formas de representación, como: expresiones basadas en nombres y verbos, lectura de asociaciones en ambas direcciones.
La formulación lógica proporciona dos características esenciales para SBVR. La primera es la asociación de un conjunto de significados compartidos a los vocabularios empleados por las comunidades. La segunda consiste en la correspondencia con el estándar XMI, que permite el intercambio de conceptos, hechos y reglas de negocio entre herramientas que soportan SBVR.
Figura II- 25. Principales elementos del metamodelo SBVR (figura tomada de (OMG,2008))
Representación de Negocio
Los conceptos y reglas de negocio presentes en un conjunto de significados compartidos necesitarán ser representados en vocabularios aceptados y utilizables por las comunidades de habla que comparten esos significados. Estos vocabularios pueden estar en diferentes idiomas, en lenguajes artificiales como UML o en subconjuntos especializados de determinados idiomas, como los empleados por ingenieros o abogados, por ejemplo. Comunidad Las sub‐comunidades pueden emplear idiomas distintos y vocabularios especializados Significados compartidos Conceptos. Tipos de Hecho y Reglas de Negocio Formulación Lógica Formulación abstracta de la semántica Lógica Formal Lógica de Predicados de primer orden con algunas (limitadas) extensiones Representación de Negocio Expresión del conocimiento central en Vocabularios de Negocio estructurado como expresado como utiliza comparte soporta soporta
Introduciendo Semántica en un Proceso de Desarrollo Software a través de Reglas de Negocio
SBVR permite la asignación entre significados de negocio y lenguajes específicos mediante la asociación de elementos del conjunto de significados compartidos con representantes de dichos significados, p. e. términos como 'cliente', 'coche', 'sucursal' para conceptos y símbolos factuales (a menudo sintagmas verbales) como 'alquila', 'está ubicado en' para tipos de hecho. Las formulaciones lógicas proporcionan estructura, y los representantes de significados se incluyen en las formulaciones lógicas para proporcionar una expresión.
SBVR permite la incorporación de nuevos contenidos a partir de fuentes externas, como estándares y grupos industriales. Por ejemplo, el propio SBVR adopta algunas de las definiciones básicas de los estándares ISO para terminología y vocabulario.
Lógica Formal
SBVR tiene un fundamento teórico sólido, basado en la lógica formal, que permite tanto la formulación lógica como las estructuras de conjuntos de significados compartidos. La base es la lógica de predicados de primer orden.