La verificación de conformidad del proceso empresarial (también conocida como verificación de conformidad para abreviar) es una familia de técnicas de minería de procesos para comparar un modelo de proceso con un registro de eventos del mismo proceso. [1] Se utiliza para verificar si la ejecución real de un proceso empresarial , tal como se registra en el registro de eventos, se ajusta al modelo y viceversa.
Por ejemplo, puede existir un modelo de proceso que indique que los pedidos de compra de más de un millón de euros requieren dos comprobaciones. El análisis del registro de eventos mostrará si esta regla se cumple o no.
Otro ejemplo es la verificación del principio de los “ cuatro ojos”, que establece que determinadas actividades no deben ser ejecutadas por una misma persona. Al escanear el registro de eventos utilizando un modelo que especifique estos requisitos, se pueden descubrir posibles casos de fraude . Por lo tanto, la verificación de conformidad puede utilizarse para detectar, localizar y explicar desviaciones, y para medir la gravedad de estas desviaciones. [2]
Las técnicas de verificación de conformidad toman como entrada un modelo de proceso y un registro de eventos y devuelven un conjunto de diferencias entre el comportamiento capturado en el modelo de proceso y el comportamiento capturado en el registro de eventos. Estas diferencias pueden representarse visualmente (por ejemplo, superpuestas sobre el modelo de proceso) o textualmente como listas de declaraciones en lenguaje natural (por ejemplo, la actividad x se ejecuta varias veces en el registro, pero esto no está permitido según el modelo). Algunas técnicas también pueden producir medidas normalizadas (entre 0 y 1) que indican en qué medida coinciden el modelo de proceso y el registro de eventos.
La interpretación de la no conformidad depende del propósito del modelo:
El propósito de la verificación de conformidad es identificar dos tipos de discrepancias:
En términos generales, existen tres familias de técnicas para detectar un comportamiento de registro inadecuado: reproducción, alineación de seguimiento y alineación de comportamiento.
En las técnicas de reproducción , [3] cada traza se reproduce en el modelo de proceso, un evento a la vez. Cuando se detecta un error de reproducción, se informa y se realiza una corrección local para reanudar el procedimiento de reproducción. La corrección local puede ser, por ejemplo, omitir/ignorar una tarea en el modelo de proceso o omitir/ignorar un evento en el registro.
Una limitación general de los métodos de reproducción es que la recuperación de errores se realiza localmente cada vez que se encuentra un error. Por lo tanto, estos métodos podrían no identificar la cantidad mínima de errores que pueden explicar el comportamiento no ajustado del registro. Esta limitación se soluciona mediante técnicas de alineación de trazas . [4] Estas últimas técnicas identifican, para cada traza en el registro, la traza correspondiente más cercana que puede analizar el modelo. Las técnicas de alineación de trazas también calculan una alineación que muestra los puntos de divergencia entre estas dos trazas. El resultado es un conjunto de pares de trazas alineadas. Cada par muestra una traza en el registro que no coincide exactamente con una traza en el modelo, junto con la(s) traza(s) correspondiente(s) más cercana(s) producida(s) por el modelo.
Las técnicas de alineación de trazas no manejan explícitamente las tareas concurrentes ni el comportamiento cíclico (repetición de tareas). Si, por ejemplo, cuatro tareas pueden ocurrir solo en un orden fijo en el modelo de proceso (por ejemplo, [A, B, C, D]), pero pueden ocurrir simultáneamente en el registro (es decir, en cualquier orden), esta diferencia no se puede detectar directamente mediante la alineación de trazas, porque no se puede observar a nivel de trazas individuales.
Otros métodos para identificar comportamientos adicionales se basan en eventos negativos. [5] Estos métodos comienzan mejorando los rastros en el registro insertando eventos falsos (negativos) en todos o algunos rastros del registro. Un evento negativo se inserta después de un prefijo dado de un rastro si este evento nunca se observa precedido por ese prefijo en ningún lugar del registro.
Por ejemplo, si el evento C nunca se observa después del prefijo AB, entonces C se puede insertar como un evento negativo después de AB. A partir de entonces, el registro mejorado con eventos negativos se reproduce en el modelo de proceso. Si el modelo de proceso puede reproducir los eventos negativos, significa que hay un comportamiento capturado en el modelo de proceso que no está capturado en el registro (ya que los eventos negativos corresponden a un comportamiento que nunca se observa en el registro).
Las matrices de huellas muestran la dependencia causal de dos actividades en un registro de eventos, por ejemplo, si en un registro de eventos, la actividad a es seguida por la actividad b en todos los rastros, pero la actividad b nunca es seguida por b. [6] Para este tipo de dependencia, se declara una lista de relaciones de ordenamiento :
Sea L un registro de eventos asociado a la lista A de todas las actividades. Sean a, b dos actividades en A.
Para un modelo de proceso, también se puede derivar una matriz de este tipo sobre las secuencias de ejecución mediante la técnica de play-out. Por lo tanto, en función de las matrices de huellas, se puede deducir que si un registro de eventos se ajusta a un modelo de proceso considerado, las dos matrices de huellas que representan el registro y el modelo son idénticas, es decir, los comportamientos registrados en el modelo (en este caso, la dependencia causal) aparecen al menos una vez en el registro de eventos.
Ejemplo : Sea L : {<a, b>, <a, c, d> } y un modelo M de L . Supongamos que las dos matrices son las siguientes:
Podemos observar que, en la matriz de huellas del modelo M, se permite que se produzca el patrón (a, d), por lo que provoca una desviación en comparación con el registro de eventos. La adecuación entre el registro de eventos y el modelo se calcula de la siguiente manera:
En este ejemplo, la aptitud es .
La repetición basada en tokens es una técnica que utiliza 4 contadores (tokens producidos, tokens consumidos, tokens faltantes y tokens restantes) para calcular la aptitud de un rastro de observación basado en un modelo de proceso dado en notación de red de Petri. [7] Estos 4 contadores registran el estado de los tokens cuando se reproduce un rastro en la red de Petri. Cuando un token es producido por una transición, los tokens producidos se incrementan en 1. Cuando un token se consume para activar una transición, los tokens consumidos se incrementan en 1. Cuando falta un token para activar una transición, los tokens faltantes se incrementan en 1. Los tokens restantes registran el total de tokens restantes después de que se completa el rastro. El rastro se ajusta al modelo de proceso si y solo si no faltan tokens durante la repetición y no quedan tokens al final.
La aptitud entre un registro de eventos y un modelo de proceso se calcula de la siguiente manera:
donde m es el número de tokens faltantes, c es el número de tokens consumidos, r es el número de tokens restantes, p es el número de tokens producidos.
Aunque la técnica de repetición de tokens es eficiente y fácil de entender, el enfoque está diseñado para la notación de red de Petri y no considera la ruta adecuada generada por el modelo para los casos no aptos. Se introdujeron las alineaciones para resolver las limitaciones y se considera una técnica de verificación de conformidad altamente precisa y se puede aplicar para cualquier notación de modelado de procesos. [8] La idea es que el algoritmo realice una búsqueda exhaustiva para encontrar la alineación óptima entre la traza observada y el modelo de proceso. Por lo tanto, se garantiza que se encuentre la ejecución del modelo más relacionada en comparación con la traza.