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.