La Red de Conocimientos Pedagógicos - Currículum vitae - kamunda-dmn

kamunda-dmn

? DMN (Modelo y notación de decisiones (DMN)) es un estándar de gestión de decisiones empresariales.

? Actualmente, el motor DMN de Camunda es compatible con el estándar DMN1.3, que incluye tablas de decisión, expresiones de texto de decisión, diagramas de requisitos de decisión y sensación (lenguaje de expresión bastante amigable).

Tabla de decisiones: Especifique la lógica de decisión como una tabla.

Expresión literal de decisión: especifica la lógica de decisión como una expresión.

Diagrama de Requisitos de Decisión: Modelado de decisiones interdependientes.

Feel (lenguaje de expresión bastante amigable): el lenguaje de expresión predeterminado de DMN.

? La tabla de decisiones representa una lógica de decisión y puede describirse mediante la tabla en DMN1.3. Contiene entradas, salidas y reglas.

? La tabla de decisiones está representada en xml por el elemento de la tabla de decisiones en el elemento de decisión:

? El nombre de la decisión describe la lógica de decisión proporcionada por esta tabla de decisiones. Se establece como atributo de nombre en el elemento de decisión.

? El nombre de la tabla de decisiones describe la lógica de decisión proporcionada por la tabla de decisiones. Se establece como atributo de nombre en el elemento de decisión.

? El ID de decisión es un identificador técnico. Se establece en el atributo id del elemento de decisión. Al implementar decisiones en la plataforma camunda BPM, cada decisión debe tener una identificación única. El motor utiliza id como clave de decisión para las definiciones de decisiones de implementación.

? Una tabla de decisiones tiene una o más entradas, también llamadas cláusulas de entrada. La cláusula de entrada define el número (id), la etiqueta (etiqueta), la expresión (expresión) y el tipo de entrada de la tabla de decisiones (tipo).

? Las entradas se pueden editar haciendo doble clic en el encabezado de cada columna de la tabla de decisiones.

? La cláusula de entrada en xml está representada por el elemento de entrada en la tabla de decisiones:

El número de entrada es el identificador único de la entrada de la tabla de decisiones.

La etiqueta de entrada es una breve descripción de la entrada.

La expresión de entrada especifica cómo generar el valor de la cláusula de entrada. Esta es una expresión que será analizada por el motor DMN. Generalmente es tan simple como hacer referencia a una referencia variable que es visible en tiempo de ejecución.

Cuando el motor DMN analiza la expresión de entrada, el resultado se convertirá al tipo especificado. Los tipos admitidos se pueden encontrar en la guía del usuario. NOTA: El tipo no es obligatorio, pero se recomienda configurarlo ya que nos ayuda a comprender los posibles valores de entrada y proporciona una validación de tipo seguro.

El lenguaje de expresión puede especificar el idioma de la expresión de entrada. Si no se especifica, se utilizará el lenguaje de expresión global en el elemento de definición. Si no se establece ningún idioma de expresión global, el idioma de expresión JUEL se utiliza de forma predeterminada.

Cuando se analiza una expresión de entrada y se devuelve el valor analizado, el valor se almacena en una variable cuyo nombre es el nombre de la variable de entrada. Este nombre de variable también puede utilizar expresiones.

? Una tabla de decisiones puede tener una o más salidas, también llamadas cláusulas de salida. La cláusula de salida define el número (id), etiqueta (etiqueta), nombre (nombre) y tipo de salida de la tabla de decisiones.

? Las cláusulas de entrada en xml están representadas por elementos de salida en tablas de decisiones.

El número de salida es el número único de la salida de la tabla de decisiones, que es utilizado por la plataforma camunda para asociar la salida histórica de las decisiones ejecutadas.

Una breve descripción del resultado al generar etiquetas. Las etiquetas de resultados no son obligatorias, pero se recomiendan ya que nos ayudan a comprender las decisiones.

El nombre de salida se refiere al valor de salida del resultado de la ejecución de la tabla de decisiones. Si una tabla de decisiones tiene varias salidas, todas las salidas deben tener nombres únicos.

Cuando el motor DMN ejecuta el elemento de salida, el resultado de la ejecución se convierte a este tipo especificado. Consulte la guía del usuario para conocer los tipos admitidos. El tipo no es obligatorio, pero se recomienda ya que proporciona valores de salida con seguridad de tipos.

Además, este tipo también se puede utilizar para convertir el valor de salida a otro tipo, como convertir el 80% de los tipos de cadenas a números de punto flotante. Para obtener más información, consulte Tipos de datos definidos por el usuario.

? Una tabla de decisiones puede tener varias reglas. Cada regla contiene múltiples entradas y salidas. Las entradas son las condiciones y las salidas son los resultados de las reglas.

Si se cumplen todas las entradas, entonces se cumple la regla y la decisión incluye el resultado de la regla.

? En xml, las reglas están representadas por el elemento regla en el elemento decisionTable:

Una regla puede tener uno o más elementos de entrada, y este elemento de entrada es la condición de esta regla. Cada entrada contiene una expresión dentro del elemento de texto que se evaluará como verdadera si se cumple la entrada.

Si una entrada no es relevante para esta regla y la expresión está vacía, entonces la expresión siempre se cumple, es decir, se resuelve como verdadera.

Si utiliza el lenguaje de expresiones FEEL, los elementos de entrada vacíos se representan con - y otras expresiones están vacías.

expressionLanguage se puede especificar utilizando el atributo expresiónlanguage. Consulte la guía del usuario para conocer los lenguajes de expresión admitidos. Si no se establece ningún idioma de expresión, se utilizará el idioma de expresión global establecido en la definición. Si no se establece el idioma de expresión global, se utilizará el idioma de expresión sensorial predeterminado.

Una regla puede tener múltiples entradas de salida, que son los resultados de la regla. Cada entrada de salida contiene una expresión dentro de un elemento de texto.

Si la entrada de salida está vacía, la salida se ignora y no forma parte del resultado de la tabla de decisiones.

Ver expresión de entrada.

Ver la descripción de la entrada de salida.

? La política de aciertos de una tabla de decisiones especifica qué resultados de la tabla de decisiones.

? hitPolicy se establece en el atributo hitpolicy del elemento decisionTable. Si no se establece, el valor predeterminado es la estrategia de único impacto.

La política de aciertos especifica cuántas reglas de la tabla de decisiones se pueden cumplir y qué reglas cumplidas se incluirán en los resultados de la tabla de decisiones. La estrategia única, cualquiera y de primer golpe siempre devuelve una regla más satisfactoria. El orden de las reglas y la estrategia de aciertos de la colección devolverán múltiples reglas satisfechas.

Solo se puede cumplir una regla o no se puede cumplir ninguna regla. El resultado de la tabla de decisiones contiene los elementos de salida que satisfacen las reglas.

Si se cumplen varias reglas, se infringe la política de visita única.

Se pueden cumplir varias reglas y luego todas las reglas satisfechas deben tener el mismo resultado. El resultado de esta tabla de decisiones solo contendrá una salida que se ajuste a la regla.

Si se cumplen varias reglas y se producen resultados diferentes, se infringe la política de visitas.

Esta es la mesa de toma de decisiones para pedir permiso. Si solicita esta licencia, o el solicitante se encuentra en periodo de prueba, la solicitud será rechazada. En caso contrario, se aprueba la solicitud.

Puede satisfacer múltiples reglas. El resultado de la tabla de decisiones contiene solo el primer resultado que satisface la regla.

Ver tabla de decisiones publicitarias arriba. Respecto a decidir qué anuncio mostrar según la edad actual del usuario. Por ejemplo, la edad actual del usuario es 19 años. Todos los resultados coinciden, pero como esta estrategia de clic es la estrategia de primer clic, se mostrará el anuncio de automóvil.

Puede satisfacer múltiples reglas. La tabla de decisiones contiene todas las salidas que coinciden con las reglas, ordenadas según el orden de las reglas en la tabla de decisiones.

Observando la decisión anterior sobre publicidad, digamos que tenemos un usuario que tiene 19 años. Se cumplen todas las reglas, por lo que todos los resultados se incluirán en la tabla de decisiones en el orden de las reglas. Se puede utilizar para indicar la prioridad de los anuncios mostrados.

Se cumplen múltiples resultados. La tabla de decisiones contiene todas las salidas que satisfacen las condiciones en cualquier orden.

Para esta estrategia de visitas, la lista de salida está desordenada. Entonces, si la edad es 19 años, el anuncio puede ser arbitrario.

Además, configurar políticas de visitas le permite especificar agregadores. Si se especifica un agregador, el resultado de la tabla de decisiones contendrá solo una entrada de salida. El agregador generará esta entrada de salida a partir de todas las entradas que coincidan con las reglas. Tenga en cuenta que la estrategia de aciertos establecida utiliza un agregador y la tabla de decisiones solo puede tener un resultado.

El agregador de suma suma el resultado de todas las reglas cumplidas.

Esta tabla de decisión se puede utilizar para totalizar el bono de un empleado, por ejemplo, el empleado ha trabajado en la empresa durante 3,5 años. Entonces se cumplirán las reglas primera, segunda y tercera, y el resultado de esta tabla de decisión es 600, la suma de todas las salidas.

El agregador de valores mínimos se puede utilizar para devolver todos los valores de salida mínimos que satisfacen una regla.

Mire el ejemplo de seguro de automóvil a continuación. Si un coche no ha sufrido ningún accidente durante muchos años, el coste del seguro debería ser menor.

Por ejemplo, si el valor de entrada es 3,5 años, el resultado debería ser 98,83. Aunque la primera, segunda y tercera reglas coinciden, la tercera regla tiene el valor de salida más pequeño.

El agregador de valor máximo se puede utilizar para devolver todos los valores de salida máximos que satisfacen una regla.

Este cuadro de decisiones representa decisiones sobre la cantidad de dinero de bolsillo para un niño. Dependiendo de la edad del niño, la cantidad de dinero de bolsillo aumenta. Por ejemplo, si ingresa un 9, la primera y la segunda regla coincidirán y el resultado de la segunda regla es mayor que el resultado de la primera regla, entonces el resultado de esta decisión es 5. Un niño de 9 años recibirá 5 dólares de dinero de bolsillo.

El agregador de recuento devuelve el número de condiciones cumplidas.

Por ejemplo, en la tabla de decisiones de bonificación anterior, si usa el agregador de recuento y el valor de entrada es 4, que satisface la primera, segunda y tercera reglas, entonces el resultado de esta tabla de decisiones es 3. , lo que significa que la decisión se tomará después de 4 años. El resultado de la tabla son 3 bonificaciones salariales.

La expresión literal de decisión indica que la lógica de decisión se puede describir como una expresión en DMN1.3. Consta de una expresión literal y una variable.

En XML, una expresión textual de decisión se puede representar mediante el elemento literalExpression en el elemento de decisión:

El nombre describe la lógica de decisión proporcionada por la expresión literal. Se establece en el atributo de nombre del elemento de decisión:

Este número es el número técnico de la decisión y se establece en el atributo de identificación del elemento de decisión.

Cuando se implementa en la plataforma BPM de camunda, cada decisión debe tener un número individual. El motor utiliza este número como clave para la decisión al implementar la definición de decisión.

Esta expresión literal especifica cómo se genera el valor de decisión. Esta es una expresión que será ejecutada por el motor DMN. Se puede utilizar para realizar cálculos complejos para llamar a beans que proporcionan lógica de decisión o para combinar valores para generar las decisiones requeridas.

La expresión se establece en el elemento text del elemento literalExpression de xml.

Puedes especificar su idioma de expresión a través del atributo expresiónLanguage de literalExpression. Consulte la guía del usuario para conocer los lenguajes de expresión admitidos.

Si no se establece ningún idioma de expresión, se utilizará el idioma de expresión global establecido en el elemento de definiciones.

Si no se establece ningún idioma de expresión global, se utilizará el idioma de expresión predeterminado JUEL. Consulte la guía del usuario para obtener más detalles.

La expresión literal debe constar de una variable, y los atributos de nombre y tipo se especifican como resultado de la decisión. Las variables se declaran en el elemento variable del elemento de decisión.

Los nombres de variables se utilizan para hacer referencia a los resultados de determinación de expresiones literales. Se especifica en xml usando el atributo de nombre:

En el elemento variable, el atributo typeRef se puede usar para especificar el tipo de resultado de la decisión. Una vez ejecutada la expresión de decisión, el resultado se convierte al tipo especificado. Consulte la guía del usuario para conocer los tipos admitidos.

Tenga en cuenta que este tipo no es obligatorio pero sí recomendado. El tipo debería proporcionar resultados de expresión con seguridad de tipos.

El Diagrama de Requisitos de Decisión (DRG) simula un dominio de decisión y muestra los elementos más importantes y sus dependencias. Los elementos del modelado son decisiones, datos de entrada y fuentes de conocimiento.

La representación visual de un DRG se denomina Diagrama de Requisitos de Decisión (DRD).

En XML, un DRG está representado por un elemento de definición.

Un diagrama de requisitos de decisión puede tener una o más decisiones. Las decisiones tienen nombres y números. La lógica de decisión debe estar en una tabla de decisión o expresión de decisión.

El elemento de decisión que define la decisión en el elemento representa:

Una decisión puede tener una o más decisiones de las que depende. Por ejemplo, en la imagen de arriba, la decisión de beber depende de la decisión de comer.

La decisión necesaria está representada por el elemento requireDecision en el elemento informationRequirement. Tiene un atributo href y un valor que comienza con #, que es el número de la decisión necesaria (el id de la decisión dependiente).

Los datos de entrada representan la información de entrada para una o más decisiones.

Nota: Los datos de entrada no tienen semántica de ejecución y serán ignorados por el motor Camunda DMN.

Está representado por el elemento inputData en el elemento definiciones:

La fuente de conocimiento representa la autoridad para tomar decisiones.

Nota: Las fuentes de conocimiento no tienen semántica de ejecución y serán ignoradas por el motor Camunda DMN.

Está representado por el elemento KnowledgeSource en el elemento de definiciones:

DMN proporciona un lenguaje de expresión que es lo suficientemente amigable como para usarse como expresiones en tablas de decisiones de ejecución.

El motor Camunda DMN admite entradas de información sensorial. El término de sentimiento expresado en el término de entrada es una prueba unaria simple. Estas pruebas unarias simples comparan el valor de entrada con una expresión y devuelven verdadero si se cumple la prueba, falso en caso contrario. Las expresiones pueden contener diferentes elementos descritos en esta sección.

Comparar (Comparar):

La prueba unaria simple de FEEL admite las siguientes operaciones de comparación. Tenga en cuenta que la operación igual está vacía, no =. Además, ¡eso no significa que la operación no funcionará! = no significa que la operación requiera una negación lógica.

Rango:

Algunos tipos de datos sensoriales, como los tipos de números y fechas, pueden probar si un valor determinado pertenece a un rango. El rango incluye el valor inicial y el valor final. También debe especificar si los valores inicial y final están incluidos en el rango.

Disyunción:

Una prueba unaria simple puede especificar una expresión de unión. Esta expresión de unión puede ser una comparación o un rango. Una prueba es verdadera cuando al menos una expresión es verdadera.

Negación lógica:

La prueba unaria simple de FEEL se puede negar usando la función not. Esto significa que si la expresión contenida devuelve verdadero, la prueba devolverá falso. Tenga en cuenta que solo se permite un operador negativo como primer operador y puede contener un operador de disyunción.

Nombres calificados:

Las pruebas de expresión unaria aparentemente simples pueden acceder a variables y propiedades de objetos especificando nombres.

Funciones de fecha:

La prueba unaria de sensación simple proporciona funciones para crear valores de tipo de tiempo. El motor Camunda DMN admite las siguientes funciones de fecha: