Validación de propiedades de Workflow Alumno: Fernando Villar Director: Dr. Germán Regis Universidad Nacional de Río Cuarto.

Download Report

Transcript Validación de propiedades de Workflow Alumno: Fernando Villar Director: Dr. Germán Regis Universidad Nacional de Río Cuarto.

Validación de propiedades de Workflow
Alumno: Fernando Villar
Director: Dr. Germán Regis
Universidad Nacional de Río Cuarto
Nociones Generales
 Motivación
 Fundamentos
 Modelos YAWL
 Especificaciones de negocio
 Verificación de propiedades
 Demostración de uso
 Conclusión
 Trabajo Futuro
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.
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.
Modelos YAWL
Simple Task
Composite-Multiple
Task Multiple Task
Input Composite
Condition TaskCondition
Output Condition
Modelos YAWL
Las regiones de cancelación permiten hacer
invalidas otras tareas o flujos que ejecuten
estas
Propiedades de los Workflows
YAWL provee el análisis de algunas propiedades:
Detección de Deadlock
Sincronización de Workflows
Soundness
Propiedades de los Workflows
Consideremos las siguientes tareas A, B ,C y D
A
B
C
D
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?
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
Lógica Temporal Lineal
 Es
formalismo
apropiado
para
la verificación
y
Unun
propiedad
puede
tener los
operadores
temporales
especificación de propiedades sobre sistemas reactivos.
 Es una extensión de la lógica proposicional orientado a
 next ( X )
razonar
sobre una secuencia infinita de estado.
 El tiempo es lineal, cada instante de tiempo tiene un
 eventually ( F )
único sucesor.
 Una propiedad es una formula lógica temporal que
 always( G )
describe
un conjunto de secuencias infinitas que la
hacen verdadera.
 until( U )
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.
l1.on
On= ({ l1.on , l2.on }.{ l2.off , l1.off })
1
0
l2.on
l2.off
2
3
l1.off
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 nodeterministico.
FSP
 Una
especificación
en FSP que
contiene
dos describir
tipos dey
Son un
calculo de procesos
permiten
razonar sobredesistemas
concurrentes.
definiciones
procesos:
primitivas o compuestas.
 Estas descripciones pueden ser representadas por el uso de
 Un
proceso compuesto
primitivo esta
permite
expresado
la ejecución
por event
de(->),
mas de un
un LTS.
recursiónenyparalelo
proceso
disyunción.
o en secuencial.
Prefijo
de acciones:
Composición
paralela:
P = (||P
a ->
= (bQ
->||END
R ). ).
Composición
Recursión: Secuencial:
P = (||P
a ->=Q
(Q
), ;QR=).( b -> P ).
Elección:
P = ( a -> Q | b -> R ).
LTS - FSP
MAKE = ( make -> ready -> MAKE).
USE= ( ready -> use -> MAKE).
|| MAKE_USE = ( MAKE || USE ).
make
use
ready
make
use
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.
Traducción de YAWL a FSP
 La herramienta yawl2fsp realiza la traducción
YNET
TASK
CONDITION
YNET = i_cond -> o_cond -> YNET.
TASK = start -> end -> TASK.
CONDITION (IN=2,OUT=2) = STATE[0],
STATE[i:0..IN] =
(when(i<IN) in[i:1..IN]->STATE[i+1] |
when(i>0) out[j:1..OUT]->STATE[i-1]).
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)).
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 ).
XOR_JOIN(N=2)= (in[I] -> out -> XOR_JOIN).
Fluent Logic Workflow Analyzer
(T1 ->
Propiedad
Modelo YAWL
Yawl2fsp
P = ( a -> Q)
||S = (P || Q)
Especificación FSP
LTSA
A)
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.
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.