BPMN COMO HERRAMIENTA DE MODELADO DE NEGOCIO PARA LA CREACIÓN DE MODELOS CONCEPTUALES.



Documentos relacionados
Management(BPM) Gestión de Proceso de negocio con BPM. Universidad Inca Garcilaso de la Vega

Gestión de Procesos de Negocios BPM

Elementos requeridos para crearlos (ejemplo: el compilador)

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

PERSYS Tel. (81) Página 0

BPMN Business Process Modeling Notation

Transformación de modelos en el proceso de obtención de Modelos Conceptuales partiendo de BPMN

Gerencia de Procesos de Negocio (Business Process Management, BPM). Lic. Patricia Palacios Zuleta

Guía Metodológica para el diseño de procesos de negocio

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).

BPMN vs UML. Los Requerimientos y el Modelo del Negocio. Autor: Norberto Figuerola

GeneXus BPM Suite X. Última actualización: 01 de Setiembre de 2008

PROCESOS SOFTWARE. Según esta estrategia, todo proceso debe planificarse, implantarse y evaluarse, para luego actuar sobre él.

Actividades para mejoras. Actividades donde se evalúa constantemente todo el proceso del proyecto para evitar errores y eficientar los procesos.

Tópicos Avanzados de Análisis y Diseño INGENIERIA DE SOFTWARE ING. MA. MARGARITA LABASTIDA ROLDÁN

"Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

Desarrollo de aplicaciones para la sociedad de la información Bloque II- Dominios de aplicaciones sociales Tema 3- Gestión de procesos de negocio

BPM en la práctica Transitando del BPA al BPM con una metodología probada. Diego Karbuski - Diciembre 2012

BPMN básico. Clase Modelos de Procesos. Javier Bermudez

Unidad 1. Fundamentos en Gestión de Riesgos

Trabajo de Grado Análisis comparativo de Lenguajes Notacionales para Modelado de Procesos

BPMN BPMN BPMN. BPD Objetos de flujo - Actividades. BPD (Business Process Diagram) Notación de modelado de procesos de negocio BPD

Describir una metodología sistemática de análisis de los procesos organizacionales y cómo estos pueden ser apoyados por las TI.

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

CMMI (Capability Maturity Model Integrated)

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere.

M.T.I. Arturo López Saldiña

Business Process Management(BPM)

Entidad Formadora: Plan Local De Formación Convocatoria 2010

Metodología Orientada a Objetos Clave Maestría en Sistemas Computacionales

Capítulo 5. Cliente-Servidor.

Modelando procesos. Introducción al modelamiento de procesos y BPM

Capítulo VI. Diagramas de Entidad Relación

IWG-101: Introducción a la Ingeniería. Departamento de Informática, UTFSM 1

El Proceso Unificado de Desarrollo de Software

Modelamiento de Procesos con BPMN

Orientación acerca de los requisitos de documentación de la Norma ISO 9001:2000

La Necesidad de Modelar. Diseño de Software Avanzado Departamento de Informática

Mesa de Ayuda Interna

Propuesta de Proyecto Final Para optar al grado de Magíster en Tecnologías de la Información

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.1 UML: Introducción

Aplicación del BPM al desarrollo de sistemas computacionales

Metodología básica de gestión de proyectos. Octubre de 2003

Objetos educativos y estandarización en e-learning: Experiencias en el sistema <e-aula>

Ingeniería de Software

CONSTRUCCIÓN DEL PROCESO MESA DE AYUDA INTERNA. BizAgi Process Modeler

Planeación del Proyecto de Software:

UNIVERSIDAD DE SALAMANCA

Integración de AuraPortal con SAP

Administración por Procesos contra Funciones

Administración del conocimiento y aprendizaje organizacional.

Enginyeria del Software III

SOFTWARE & SYSTEMS PROCESS ENGINEERING METAMODEL SPECIFICATION V.20 SPEM 2.0

Mejores prácticas para el éxito de un sistema de información. Uno de los problemas de información dentro de las empresas es contar con datos

Workflows? Sí, cuántos quiere?

Patrones de software y refactorización de código

Traducción del. Our ref:

SÍNTESIS Y PERSPECTIVAS

CAPITULO 4. Requerimientos, Análisis y Diseño. El presente capítulo explica los pasos que se realizaron antes de implementar

El impacto del relevamiento y modelado de procesos en la implantación de sistemas informáticos

Las Relaciones Públicas en el Marketing social

CONCLUISIONES Y RECOMENDACIONES

OMG UML 2.0 Marcando un hito en el desarrollo de software Resumen Keywords Historia del Surgimiento

Antecedentes de GT Consultores

Master en Gestion de la Calidad

Procesos Críticos en el Desarrollo de Software

Ventajas del software del SIGOB para las instituciones

CAPÍTULO 3 Servidor de Modelo de Usuario

Sistema PYMES Ventas e Inventarios H&S

Centro de Investigación y Desarrollo en Ingeniería en Sistemas de Información (CIDISI)

Oracle vs Oracle por Rodolfo Yglesias Setiembre 2008

Introducción. Metadatos

Proceso Unificado de Rational PROCESO UNIFICADO DE RATIONAL (RUP) El proceso de desarrollo de software tiene cuatro roles importantes:

2.1 Clasificación de los sistemas de Producción.


Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

GUIA SOBRE LOS REQUISITOS DE LA DOCUMENTACION DE ISO 9000:2000

PRU. Fundamento Institucional. Objetivos. Alcance

Microsoft SQL Server Conceptos.

CONSTRUCCIÓN DEL PROCESO TRANSACCIONAL Bizagi Process Modeler

Hacer Realidad BPM en su Organización ADOPTAR BPM A PARTIR DE UN PROYECTO O NECESIDAD DE AUTOMATIZACIÓN

EL PROCESO DE BENCHMARKING


<Generador de exámenes> Visión preliminar

Guías _SGO. Gestione administradores, usuarios y grupos de su empresa. Sistema de Gestión Online

PROCESO DE DESARROLLO ORGANIZACIONAL MINISTERIO DE SALUD DE COSTA RICA

3. GESTIÓN DE CONFIGURACIÓN DE SOFTWARE

Procesos de Negocios

CAPITULO I. Introducción. En la actualidad, las empresas están tomando un papel activo en cuanto al uso de sistemas y

Empresa Financiera Herramientas de SW Servicios

Testing ágil en las Empresas de Software del. Cluster TIC Villa María

Curso Certificación Internacional BPM Para Profesionales Nivel Intermedio

Objetivos. Requisitos y funcionalidades SiGIC

AUTOMATIZACION DE PROCESOS DE DESARROLLO DE SOFTWARE DEFINIDOS CON SPEM

Planificación en Team Foundation Server 2010

Planificación de Sistemas de Información

Planificación de Sistemas de Información

Términos definiciones

SISTEMAS DE INFORMACIÓN I TEORÍA

Transcripción:

BPMN COMO HERRAMIENTA DE MODELADO DE NEGOCIO PARA LA CREACIÓN DE MODELOS CONCEPTUALES. Gomez, Federico - Horenstein Nicolás e-mail: {federicogomez.ar, nicolashorenstein}@gmail.com Departamento Ingeniería en Sistemas de Información Facultad Regional Córdoba Universidad Tecnológica Nacional Maestro M. Lopez esq. Cruz Roja Argentina Ciudad Universitaria - Córdoba Capita Palabras claves: Requerimientos, Negocio, XML, UML,XPDL, Modelo Conceptual, BPMN Resumen. Dentro del contexto de la Investigación Validación de Requerimientos a través de Modelos Conceptuales se ha establecido un marco de investigación para determinar las capacidades de la notación BPMN en cuanto al modelado de procesos de negocio y sus resultados como entrada para la creación de modelos conceptuales para la validación de requerimientos de software. Se presta principal atención al estándar XPDL como resultado del modelo de negocio con BPMN.

1 INTRODUCCION La investigación Validación de Requerimientos a través de Modelos Conceptuales tiene como objetivo implementar una herramienta que permita gestionar y validar requerimientos de software, la cual permitirá definir los límites del sistema de información al momento de formular el Modelo conceptual con la determinación de los requerimientos, permitiendo controlar y optimizar los procesos, y además proveer al grupo de desarrollo una base concreta para la estimación del tiempo y costo del desarrollo de sistemas de software, permitiendo así conocer el estado del proyecto y el impacto de los cambios en caso de ser requeridos. Para la creación de esta herramienta se han establecido las siguientes fases: Modelado conceptual de los requerimientos: En primer lugar, se debe registrar en la herramienta de soporte el esquema conceptual especificado que se desea validar, partiendo del modelado del negocio. Luego se deberá traducir el esquema resultante, a través de la selección que resulte más conveniente, a uno de los formatos existentes, y traducirlo a XML (Lenguaje de Etiquetado Extensible) y/o UML (Lenguaje Unificado de Modelado), según sea necesario dependiendo de la vista que se necesite visualizar de acuerdo a las necesidades de la etapa en que se encuentre el desarrollo del modelado. Análisis del Modelo Conceptual: En base al modelo conceptual obtenido en la etapa anterior, se procederá a realizar el análisis de los distintos atributos de los requerimientos detectando ciclos o bucles que puedan derivar en inconsistencias o errores subyacentes en la especificación de los mismos, la inconsistencia a través de abstracciones con máquinas de estados, en donde resulten estados no conexos, como así también verificar la trazabilidad entre las especificaciones y el modelo conceptual. Validación del Modelo Conceptual: A partir del modelo conceptual, es necesario realizar la validación de los requerimientos representados en él para conocer el grado de cumplimiento de los mismos en base a las necesidades de los usuarios. Resultados del análisis y validación: Una vez realizados el análisis y la validación del modelo conceptual, el sistema brindará como salida los resultados obtenidos que servirán de retroalimentación para correcciones y/o mejoras (en el caso que sean necesarias). Puntualmente el presente trabajo de investigación se centra en la primera fase Modelado Conceptual de los Requerimientos del nombrado proyecto, y analiza al lenguaje de modelado grafico BPMN como herramienta para la confección de modelos de procesos de negocio que registrará las actividades de cada proceso y que en el futuro servirán para determinar los requisitos del sistema. Se analizarán los diferentes programas que soportan el lenguaje BPMN y las capacidades de importación de la información de los diagramas en diferentes lenguajes. Se hará principal hincapié en la capacidad de estos programas de exportar la información a lenguaje XML ya que se considera un lenguaje de gran popularidad, potente y de fácil uso. Se analizará la estructura de los archivos XML exportados de los programas analizados para considerarlos como entradas para la creación de modelos matemáticos. 2 BPMN Como se menciona en [1], Business Process Modeling Notation o BPMN, en español Notación para el Modelado de Procesos de Negocio, es una notación gráfica estandarizada que permite el modelado de procesos de negocio, en un formato de flujo de trabajo (workflow). BPMN fue inicialmente desarrollada por la organización Business Process Management Initiative (BPMI), y es actualmente mantenida por el OMG (Object Management Group), después de la fusión de las dos organizaciones en el año 2005. Su versión actual, a abril de 2011, es la 2.0.

2.1 Procesos Como se detalla [2], existe una gran cantidad de definiciones de Procesos de Negocio. De hecho, la noción de un Proceso de Negocio es una noción abstracta en el mejor de los casos. Frecuentemente, si se les pide a las personas con conocimiento o relación con este tema una definición, es sorprendente la variedad de respuestas que e reciben: Una secuencia de actividades realizadas sobre una o más entradas para entregar una salida. Un conjunto de actividades sistemáticas que llevan un evento de negocio a un resultado exitoso. Una determinada cantidad de roles colaborando e interactuado para lograr una meta. Una colección organizada de comportamientos de negocio que satisface un propósito empresarial definido, actuando de acuerdo a los objetivos específicos. Simplemente cómo las cosas se hacen aquí. La actual definición de Wikipedia es, Un proceso de negocio o método de negocio es una colección de tareas interrelacionadas, que persiguen una meta en particular. En BPMN, un proceso representa lo que una organización realiza (su trabajo) para lograr cumplir su propósito u objetivo. Dentro de una organización, hay muchos tipos de Procesos en términos de cuál es su propósito y como son realzados. La mayoría de los Procesos requieren algún tipo de entrada, utilizar y/o consumir recursos, y producir algún tipo de salida. Algunos procesos son formales, repetibles, bien estructurados, y hasta pueden estar automatizados. Usualmente se refiere a estos procesos como Procedimientos. Otros procesos son informales, muy flexibles, impredecibles y difíciles de definir o repetir. Usualmente se refiere a estos procesos como Practicas. 2.2 Modelado de proceso en BPMN En BPMN, los Procesos de Negocio involucran la captura de una secuencia ordenada de las actividades e información de apoyo. Modelar un Proceso de Negocio implica representar cómo una empresa realiza sus objetivos centrales; los objetivos por si mismo son importantes, pero por el momento no son capturados por la notación. Con BPMN, solo los procesos son modelados. En el modelado de BPMN, se pueden percibir distintos niveles de modelado de procesos: Mapas de Procesos: Simples diagramas de flujo de las actividades; un diagrama de flujo sin más detalles que el nombre de las actividades y tal vez la condiciones de decisión más generales. Descripción de Procesos: Proporcionan información más extensa del proceso, como las personas involucradas en llevarlo a cabo (roles), los datos, información, etc. Modelo de Proceso: Diagramas de flujo detallados, con suficiente información como para poder analizar el proceso y simularlo. Además, esta clase de modelo más detallado permite ejecutar directamente el modelo o bien importarlo a herramientas que puedan ejecutar ese proceso. BPMN cubre todas estas clases de modelos y soporta cada nivel de detalle. Como tal, BPMN es una notación basada en diagramas de flujo para definir procesos de negocio, desde lo más simples hasta los más complejos y sofisticados para dar soporte a la ejecución de procesos. BPMN es capaz de representar una gran cantidad de niveles de detalle y diferentes tipos de diagramas para diferentes propósitos. 2.3 Objetivos de BPMN Cuando se comenzó el desarrollo de BPMN había, y todavía hay, una amplia gama de notaciones de modelado de procesos, distribuidas utilizando diferentes herramientas, y utilizadas dentro de una gran variedad de metodologías. Lo interesante de BPMN era la gran cantidad de proveedores que se reunieron con el objetivo

común de consolidar los principios subyacentes del modelado de procesos. Su meta era llegar a un acuerdo sobre una única notación (en cuanto a la representación) la cual pueda ser adoptada por otras herramientas y personas. Por lo tanto, BPMN no era un gran ejercicio académico, sino más bien una solución práctica tanto para los proveedores de herramientas de modelado como para los usuarios de herramientas de modelado. El razonamiento fue que este enfoque ayudaría a los usuarios finales dándoles una notación simple y acordada. Esto permitiría capacitación consistente, utilizando cualquier número de herramientas. Las compañías no deberían re capacitar cada vez que se compre una nueva herramienta o se contrate nuevo personal que haya sido capacitado en otras herramientas y notaciones. En resumen, hizo que el aprendizaje sea transferible. Otro objetivo de BPMN era que proporcionaría un mecanismo para generar procesos ejecutables, inicialmente BPML (Business Process Modeling Language, Lenguaje para el Modelado de Procesos de Negocio) posterior mente sustituido por BPEL (Business Process Execution Language). Por lo tanto, BPMN provee un mapeo valido entre los diagramas BPMN a BPEL, de manera que un motor pueda ejecutar el proceso. Esto no significa que todo modelo de proceso BPMN es ejecutable, pero para aquellos procesos destinados a la ejecución, BPMN proporciona los mecanismos para pesar del diseño original hasta la ejecución. Esta trazabilidad fue parte de la meta original para el desarrollo de BPMN. BPMN tenía dos objetivos contradictorios: proporcionar una manera fácil de utilizar la notación de modelado de procesos, accesible a laos usuarios empresariales; y proporcionar facilidades para traducir los modelos a una forma ejecutable tal como BPEL. 2.4 Conclusiones sobre BPMN Como concluye [3], a día de hoy es un hecho que cada día están teniendo más importancia los procesos de negocio y por extensión las herramientas que nos sirven para modelar, simular, supervisar y gestionar ese tipo de procesos. Todo parece indicar que la OMG se está decantando por BPMN, no sólo como concesión a la organización absorbida sino también por otras razones expuestas en[4]: BPMN es capaz de expresar más patrones [5] que los diagramas de actividad [6], es decir, es más expresivo. BPMN es gráficamente más rico, con menos símbolos fundamentales, pero con más variaciones de estos, lo que facilita su comprensión por parte de gente no experta. BPMN tiene el apoyo de la WfMC, una de las organizaciones más importantes en el campo del workflow que además de miembro de la propia OMG ha modificado una de sus especificaciones XPDL (que posteriormente es descrita en esta memoria) para dar cobertura total a BPMN. BPMN puede transformarse directamente en BPEL, un lenguaje de orquestación de servicios web que se está consolidando como un estándar. 3 XPDL Qué es XPDL? Como explica [2], XPDL (XML Process Definition Language) es un lenguaje de la WfMC (Workflow Management Coallition) que es Una organización sin ánimo de lucro para desarrolladores, analistas, consultores e investigadores en el campo de la gestión de procesos de negocio. Fue fundada en 1993 y actualmente es miembro de la OMG siendo uno de los participantes que más han influido sobre la especificación de UML 2.0. Para la WfMC deben existir 5 interfaces funcionales en un proceso o servicio de workflow: Definición de procesos e importación/exportación de los mismos. Interoperabilidad entre distintos sistemas de workflow. Interacción con otros tipos de aplicaciones.

Interacción con los interfaces de escritorio de los usuarios. Sistema para monitorizar los procesos que nos proporcione una serie de métricas que nos faciliten la gestión de los mismos. La versión más reciente de XPDL es la 2.0 y mantiene compatibilidad total con las versiones anteriores. Según los propios creadores de XPDL, dejando muy claro el propósito de su especificación, las especificaciones XPDL y BPMN afrontan el mismo problema de modelado desde diferentes perspectivas. XPDL proporciona un formato de fichero XML para ser intercambiado entre aplicaciones. BPMN proporciona una notación gráfica para facilitar la comunicación humana entre usuarios de negocio y usuarios técnicos. Y precisamente esta última versión surge para dotar a XPDL de los elementos de BPMN 1.0 que no poseía XPDL 1.0. 3.1 El metamodelo XPDL Para llevar a cabo lo que se propone con XPDL la WfMC define un metamodelo para XPDL que cubre: Las entidades de más alto nivel en el dominio de la definición de procesos. Atributos de procesos. Agrupaciones de diferentes procesos en modelos relacionados. Definiciones de datos comunes que puedan ser usados en variedad de modelos. Para todos estos aspectos tenemos dos meta-modelos principales: El metamodelo Package, que se encarga de las agrupaciones de procesos, del intercambio de mensajes entre estos y de las diferentes características que poseen los mismos. El metamodelo Process que describe las principales entidades que componen un proceso así como los atributos de éstas. 3.2 Entidades básicas de los metamodelos De las entidades que conforman los dos metamodelos vamos a describir brevemente las de más alto nivel, que son precisamente las que tienen relación directa con los elementos de la notación gráfica BPMN: Pool: Contenedor de actividades y transiciones entre ellas. Lane: Entidad que nos va a permitir subdividir un Pool; típicamente en relación a los roles participantes. Process Definition: Proporciona información contextual que se aplica a una serie de entidades a lo largo de un proceso. Actividad: Trabajo dentro de un proceso que será desempeñado por una combinación de recursos humanos y computacionales. Task: Unidades de trabajo que componen una actividad. Event: Cualquier suceso que ocurre mientras se está ejecutando un proceso y que normalmente afecta al flujo del mismo. Transition: Paso de una actividad a otra cuando se cumplen determinadas condiciones. Participant: El que realiza una serie de actividades, ya sea un elemento humano o un elemento computacional. Relevant Data: Los datos que son creados y usados por una instancia de un proceso durante su ejecución. Application: Elementos computacionales que nos van permitir automatizar, total o parcialmente, una o varias actividades. Artifact: Elementos del proceso que no pertenecen al conjunto de elementos básicos (actividades, secuencia, flujo de mensajes) y que se relacionan con objetos del flujo (flow objetcs) mediante asociaciones. Pueden ser (siguiendo la notación BPMN), un Data Object, una Annotation o un Group. Message Flow: Flujo de mensajes entre dos participantes y/o procesos que están preparados para enviar y recibir información. Association: Para asociar un Artifact con un objeto de flujo (Object Flow) y para mostrar

las actividades que se usan para compensar otra actividad. System and Enviromental data: Datos que son mantenidos por el sistema de workflow o el sistema de entorno local y que son accedidos por las actividades para ser usados de la misma manera que los Relevant Data. 3.3 Herramientas XPDL Existen multitud de herramientas que nos permiten trabajar con XPDL, las reconocidas por la propia WfMC son las siguientes: ADVANTYS. Amazonas Workflow. BOC ADONIS 3.7. Brein BV offers InProces CapeVisions CARNOT Process Engine CHALEX BPM Framework The Cubetto Toolset Enhydra Shark Enhydra JaWE Finantix Studio (FXS) Fuego Fujitsu Interstage HOGA.PL IDS Scheer Integic e.power WorkManager Builder tool Interstage Business Process Manager Studio ITP-Commerce Jenz & Partner GmbH Flow Designer, Eclaire Group Metoda S.p.A Tell-Eureka s OfficeObjects WorkFlow Open Business Engine Oracle9i Warehouse Builder 9.2 Projekty Bankowe Polsoft TIBCOR Software Process Suite TIBCO Business Studio. Together Workflow Editor Vignette Process Workflow Modeler ZAPLET 3 PROCESS BUILDER 3.4 Conclusiones sobre XPDL XPDL es una notación para definir e intercambiar modelos de procesos de negocio. A su vez, XPDL puede ser considerado como la notación textual de BPMN, o al revés, BPMN la notación gráfica de XPDL. Eso al menos para la versión de XPDL 2.0 que, como ya dijimos antes, se modificó precisamente para reflejar todos y cada uno de los elementos de BPMN. Por lo tanto XPDL y BPMN son un binomio a tener muy en cuenta dentro de campo del modelado de procesos de negocio, un campo que cada vez está adquiriendo más importancia para darle efectividad a esta pareja, y siempre que mantengan compatibilidad, lo ideal sería encontrar una herramienta que nos permita usar ambas especificaciones de la siguiente manera: Usar BPMN para modelar de manera gráfica los modelos de procesos de negocio (lo cuál es más amigable tanto para los ingenieros como para los clientes). XPDL para guardar los modelos e intercambiarlos entre las diferentes aplicaciones. 4 CONCLUSION DEL TRABAJO Por lo trabajado anteriormente arribamos a la conclusión que BPMN es una herramienta muy simple y útil para el modelado de los procesos de negocio, y compitiendo directamente con los diagramas de actividad (UML), presenta ventajas por su simpleza tanto en gráficos, como en la adaptabilidad a las necesidades del usuario. Además, si se lo relaciona con XPDL, forman una pareja ideal para la exportación e importación de los modelos entre diversas herramientas. Dentro del marco de investigación Validación de Requerimientos a través de Modelos Conceptuales que da origen a este análisis e investigación, se concluye que la utilización de BPMN y XPDL generan una salida perfecta para nuevas herramientas de validación, verificación y creación de otros modelos matemáticos.

5 REFERENCIAS [1] Wikipedia, La Enciclopedia libre, Business Process Modeling Notation, http://es.wikipedia.org/wiki/business_process_ Modeling_Notation [2] Stephen A. White, PHD, Dereck Wiers, BPMN Guía de Referencia y Modelado [3] JUAN DIEGO PÉREZ, Notaciones y lenguajes de procesos. Una vision global. [4] J.D. Pérez A. Durán A. Ruiz. Por quá omg ha elegido BPMN para modelar procesos de negocio si ya existe uml? Technical report, Universidad de Sevilla, 2007. [5] Petia Wohed Wil van der Aalst Marlons Dumas Arthur Hofstede Nick Russell. Pattern-base analysis of bpmn. Technical report, Department of Technology. Management Eindhoven University of Technology, 2005. [6] Petia Wohed Wil van der Aalst Marlon Dumas Arthur Hofstede Nick Russel. Patter-based analysis of uml activity diagrams. Technical report, Department of Technology Management Eindhoven University of Technology, 2004.