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

Slides:



Advertisements
Presentaciones similares
BizAgi - Business Agility
Advertisements

DISEÑO DE TRANSFERENCIA ENTRE REGISTROS
U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.
Justificación y Descripción del Dominio de Conocimiento de una Ontología para la Formalización y Automatización de Escenarios Educativos A. Rius, M.A.
UML DCU -DS Alvaro Garrido V..
Diagrama de estado Alumnos: Hernández Darwin ( )
DIAGRAMA DE ACTIVIDAD Roberto Certain Leonardo Molina.
Rocío Contreras Águila Primer Semestre 2010
PROF. ING. JULIO CESAR CANO RAMIREZ
Computación PROGRAMACIÓN.
Arquitectura de software dirigida por modelos (Model-Driven Architecture) Liliana Favre UNCPBA 2006.
INSTITUTO TECNOLOGICO DE MINATITLAN
Metodologías OMT Republica bolivariana de Venezuela
A Theory of Action for MultiAgent Planning Michael Georgeff.
Técnico en programación de Software
UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERIA DIVISIÓN DE INGENIERÍA ELÉCTRICA COMPUTACIÓN PARA INGENIEROS NOTA IMPORTANTE: Para complementar.
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
DESCRIPCION DEL PROBLEMA
Programas Son una serie o secuencia de instrucciones entendibles por los ordenadores que permiten la realización de las acciones o tareas para las que.
Análisis y Diseño O.O. Click to add notes Preguntas del diseño :
DIAGRAMA DE COMPONENTES INTEGRANTES Córdova Vásquez Giovanny Escobar Alvares Calixto Gomez Quinteros Adelaida Pinto Flores Yarmila.
Sistemas Distribuidos “Técnicas de Especificación Formal”
Lógica Temporal. Tablas semánticas.
METODOLOGIA DE LA PROGRAMACION
Unified Modeling Language (Lenguaje de Modelamiento unificado)
Teoría de Conjuntos Prof. Carlos Coronel R..
Explorar y conocer la técnica de Verificación De Modelos (Model Checking) con la finalidad de poder validar los Modelos de Casos de Uso y así poder ampliar.
Facultad de Ingeniería Manufactura Integrada Por Computador II
Sistemas a Eventos Discretos
UML – Lenguaje de Modelado Unificado
Máquinas de estados finitos
Jorge Villalobos Jorge Arias Darío Correal
LEDA Un Lenguaje para la Especificación y Validación de Arquitecturas de Software Carlos Canal Velasco Depto. de Lenguajes y Ciencias de la Computación.
Arquitectura de una aplicación
Sistema de Información
Sistemas Concurrentes: programación concurrente
Contenido: 1- Que es el .Net Framework 2- Arquitectura en .Net
Herramientas del Análisis Estructurado
UML 2.0 Integrantes: Diana Carolina Valencia M. Jhon Fernando Lopez T. Carlos Alberto Castillo.
Universidad Central de Venezuela Facultad de Ciencias Postgrado en Ciencias de la Computación Sistemas Distribuidos Albany Márquez.
Unidad 1: FUNDAMENTOS DE COMPUTACIÓN Y PSEUDOLENGUAJE
Ingeniería de software
- 1 - Sistema Embebidos: Propiedades de los Lenguajes y SDL Agustín J. González 1s06 Se ha tomado como base el material generado por Peter Marwedel de.
INSTITUTO TECNOLOGICO DE MINATITLAN ASIGNATURA: FUNDAMENTOS DE PROGRAMACION DOCENTE: JOSE ANGEL TOLEDO ALVAREZ ALUMNA: ALEJANDRA OSORIO ARVISU SEMESTRE:
J. García Martín 22/06/ SISTEMAS DE TIEMPO REAL Especificación formal de sistemas. Statecharts.
Representación de Algoritmos
VISIÓN GENERAL DE LA IS Con independencia del modelo de proceso hay tres fases genéricas: Fase de definición Fase de desarrollo Fase de mantenimiento Cada.
El modelo de análisis tiene como objetivo generar una arquitectura de objetos que sirva como base para el diseño posterior del sistema. Dependiendo del.
Objetivo Mostrar los fundamentos de la programación a través de ejemplos y prácticas utilizadas cotidianamente en el desarrollo de aplicaciones.
PROGRAMACION ORIENTADA A OBJETOS
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) TRADUCTORES Y ANALIZADOR LEXICOGRÁFICO.
UML 2.0 Diagramas de Comportamiento
Ingeniería de Requisitos
Roles de Open UP.
Elaboración de algoritmos usando lógica de programación
Facultad de Ingeniería Manufactura Integrada Por Computador II.
PROCESOS DE NEGOCIO Y TECNICAS PARA MODELADO DE PROCESOS
Unified Modeling Language (Lenguaje de Modelamiento unificado)
UNIDAD 2: “Características del Modelado UML” CONTENDIDO Elaborado por: Ingeniero Harold Cabrera Meza Actualizado por: Ingeniero Nilson Albeiro Ferreira.
TIPOS DE DATOS ABSTRACTOS
PARADIGMA Es un marco de referencia que impone reglas sobre cómo se deben hacer las cosas. CONCEPTO DE PARADIGMA DE PROGRAMACION colección de modelos conceptuales.
MODELAMIENTO VISUAL Y UML
Fundamentos de Programación Unidad I Conceptos Básicos.
BPMN COMO HERRAMIENTA DE MODELADO DE NEGOCIO PARA LA CREACIÓN DE MODELOS CONCEPTUALES Integrantes Horenstein, Nicolás Gómez, Federico IDJEI 52.
Para cada uno de los atributos, indicaremos su campo de descripción. Cuando un campo no dispone de este (como el.
Entregables del Proyecto
Flujos de Trabajo Fundamentales Proceso Unificado de Desarrollo de Software.
INTEGRACION DE UN ESPECIALISTA TEMPORAL EN UNA HERRAMIENTA DE DESARROLLO DE SISTEMAS BASADOS EN CONOCIMIENTO I. del Aguila, S. Túnez, A. Bosch, M. Torres.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
Transcripción de la presentación:

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 TaskComposite Task Multiple Task Composite-Multiple Task Input ConditionCondition 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

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?

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

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 )

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 }) l1.on l2.on l2.off 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 no- deterministico.

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:

LTS - FSP MAKE = ( make -> ready -> MAKE).USE= ( ready -> use -> MAKE). || MAKE_USE = ( MAKE || USE ). makereadymake 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 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]).

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 ).

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

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.