Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porLino Poveda Modificado hace 10 años
1
Validación de propiedades de Workflow Alumno: Fernando Villar Director: Dr. Germán Regis Universidad Nacional de Río Cuarto
2
Nociones Generales Motivación Fundamentos Modelos YAWL Especificaciones de negocio Verificación de propiedades Demostración de uso Conclusión Trabajo Futuro
3
Motivación ¿Cuales son los beneficios del modelado de negocio? Permite entender y organizar dichos procesos. Permite mejorar su eficiencia y el control del mismo. ¿Para que analizarlos? Para garantizar el cumplimiento de restricciones. ¿Para que especificar las propiedades? Para lograr el análisis automático.
4
Modelos YAWL Poderoso lenguaje de modelado de Workflows. Basado en patrones de Workflow. Construido por el formalismo de Redes de Petri. Importante motor gráfico para el modelado de procesos de negocio. Un lenguaje como resultado a especificaciones FSP.
5
Modelos YAWL Simple TaskComposite Task Multiple Task Composite-Multiple Task Input ConditionCondition Output Condition
6
Modelos YAWL Las regiones de cancelación permiten hacer invalidas otras tareas o flujos que ejecuten estas
7
Propiedades de los Workflows YAWL provee el análisis de algunas propiedades: Detección de Deadlock Sincronización de Workflows Soundness
8
D C A Propiedades de los Workflows Consideremos las siguientes tareas A, B,C y D B Consideremos las siguientes preguntas: ¿Puede A ser ejecutada antes que B? ¿Pueden A y B ser ejecutadas simultáneamente? ¿Pueden las ejecuciones de las trazas entre A-B y C-D solaparse?
9
Propiedades de Workflows Podríamos especificar este tipo de propiedades usando: Usando Logica Temporal Lineal con Fluentes (FLTL) Bajo el formalismo Sistema de Transición de estados (LTS) Analizarlas automáticamente por medio de Model Checking
10
Es un formalismo apropiado para la verificación y especificación de propiedades sobre sistemas reactivos. Es una extensión de la lógica proposicional orientado a razonar sobre una secuencia infinita de estado. El tiempo es lineal, cada instante de tiempo tiene un único sucesor. Una propiedad es una formula lógica temporal que describe un conjunto de secuencias infinitas que la hacen verdadera. until( U ) Lógica Temporal Lineal Un propiedad puede tener los operadores temporales next ( X ) eventually ( F ) always ( G )
11
0 Lógica Temporal Lineal con Fluentes Contiene lo necesario para describir propiedades sobre sistemas basados en eventos. Permite describir estados abstractos llamados “Fluentes” Estos fluentes tienen un conjunto de eventos en los que se activa, otros en los que permanece desactivado y un valor por defecto que puede ser opcional. On= ({ l1.on, l2.on }.{ l2.off, l1.off }) 2 1 3 l1.on l2.on l2.off l1.off
12
Sistemas de Transición de Estados Es un tipo de maquina abstracta utilizada para el estudio de la computación para modelar el comportamiento de sistemas o procesos basados en eventos. Consta de un conjunto de estados y transiciones entre ellos. Estas a su vez estan etiquetadas con valores de un conjunto dado. Las transiciones pueden contener un conjunto de valores por lo cual puede tener un comportamiento no- deterministico.
13
FSP Son un calculo de procesos que permiten describir y razonar sobre sistemas concurrentes. Estas descripciones pueden ser representadas por el uso de un LTS. Una especificación en FSP contiene dos tipos de definiciones de procesos: primitivas o compuestas. P = ( a -> b -> END ). P = ( a -> Q ), Q = ( b -> P ). P = ( a -> Q | b -> R ). Prefijo de acciones: Recursión: Elección: ||P = ( Q || R ). Composición paralela: Un proceso primitivo esta expresado por event (->), recursión y disyunción. Un proceso compuesto permite la ejecución de mas de un proceso en paralelo o en secuencial. ||P = ( Q ; R ). Composición Secuencial:
14
LTS - FSP MAKE = ( make -> ready -> MAKE).USE= ( ready -> use -> MAKE). || MAKE_USE = ( MAKE || USE ). makereadymake use
15
LTSA La verificación de propiedades se realiza mediante model checking de manera automática mediante LTSA (Labelled Transition System Analyzer). Permite verificar propiedades sobre especificaciones FSP de sistemas concurrentes. Posee compatibilidad con la Lógica Temporal de Tiempo Lineal con fluentes. Permite componer los procesos y verificar la presencia de deadlock. LTSA arroja un contraejemplo para las propiedades que sean invalidas.
16
Traducción de YAWL a FSP La herramienta yawl2fsp realiza la traducción YNET TASK CONDITI ON YNET = i_cond -> o_cond -> YNET. TASK = start -> end -> TASK. CONDITION (IN=2,OUT=2) = STATE[0], STATE[i:0..IN] = (when(i STATE[i+1] | when(i>0) out[j:1..OUT]- >STATE[i-1]). CONDITION (IN=2,OUT=2) = STATE[0], STATE[i:0..IN] = (when(i STATE[i+1] | when(i>0) out[j:1..OUT]- >STATE[i-1]).
17
Traducción de YAWL a FSP AND Join OR Join XOR Join AND_JOIN_COMPONENT(I=1)=(in[I]->out- >AND_JOIN_COMPONENT). || AND_JOIN(N=2) = (forall[i:1..N] AND_JOIN_COMPONENT(i)). AND_JOIN_COMPONENT(I=1)=(in[I]->out- >AND_JOIN_COMPONENT). || AND_JOIN(N=2) = (forall[i:1..N] AND_JOIN_COMPONENT(i)). XOR_JOIN(N=2)= (in[I] -> out -> XOR_JOIN). OR_JOIN(N=2) = OR_JOIN_DEF[0], OR_JOIN_DEF[b:0..1] = ( in[1..N] -> OR_JOIN_DEF[1] | when (b!=0) out ->OR_JOIN ). OR_JOIN(N=2) = OR_JOIN_DEF[0], OR_JOIN_DEF[b:0..1] = ( in[1..N] -> OR_JOIN_DEF[1] | when (b!=0) out ->OR_JOIN ).
18
Fluent Logic Workflow Analyzer Yawl2fsp LTSA P = ( a -> Q) ||S = (P || Q) P = ( a -> Q) ||S = (P || Q) (T1 -> A) Propiedad Modelo YAWL Especificación FSP
19
Conclusiones FLWA contribuye al análisis de los procesos de negocios. Combina las funcionalidades de yawl2fsp y LTSA como model checker de propiedades. El framework desarrollado permite la definición de propiedades sobre workflows mediante un editor gráfico y la definición de fluentes. Uso y definición de templates como complemento a la definición de propiedades. Los resultados son representados gráficamente. En caso de contra-ejemplo las trazas son representadas en el modelo.
20
Trabajo Futuros Mejoras gráficas, como la representación de los modelos y la definición automática de templates. Agente de configuración para la definición de comandos que faciliten el uso de fluentes y/o propiedades. Optimizar el proceso de detección de las traza de ejecución que invalidad una propiedad. Incluir las modificaciones realizadas en los modelos en el salvado de archivos.
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.