# Event-driven process chain

Una Cadena de Procesos Impulsada por Eventos es un tipo de diagrama de flujo usado para el Modelado de Procesos de Negocio Una Cadena de Procesos Impulsada por Eventos puede ser usada para configurar una implementación de un Sistema de planificación de recursos empresariales (ERP) y para la mejora de un Proceso de Negocio.
El método de la Cadena de Proceso impulsado por Eventos se desarrolló en el marco de la Arquitectura de Sistemas de Información Integrados (en inglés Architecture of Integrated Information Systems, ARIS) por August-Wilhelm Scheer en el Institut für Wirtschaftsinformatik en la Universität des Saarlandes a principios de 1990.

## Descripción General

Las empresas utilizan los diagramas de Cadena de Procesos impulsados por Eventos para diseñar flujos de trabajo de procesos de negocio, inicialmente en conjunto con el modelado en SAP R/3, pero ahora más ampliamente. Es utilizado por muchas empresas para el modelado, análisis y rediseño de procesos de negocio. El método de la Cadena de Processos Impulsado por Eventos se desarrolló en el marco de la Arquitectura de Sistemas de Información Integrados (ARIS). Como tal, conforma el núcleo de la técnica para el modelado en ARIS, que sirve para unir los diferentes puntos de vista en la así llamada vista de control. Para citar una publicación de 2006 sobre las Cadenas de Proceso Impulsada por Eventos:
    Una Cadena de Procesos Impulsada por Eventos (EPC) es una gráfica ordenada de Eventos y Funciones. Proporciona una variedad de conectores que permiten la ejecución alternativa y paralela de los procesos. Además, se especifica el uso de operadores lógicos, como el OR, AND y XOR. Una de las principales fortalezas del EPC es su simplicidad y fácil de entendimiento de la notación. Esto hace EPC una técnica ampliamente aceptable para describir los procesos de negocio.
La afirmación de que las Cadenas Proceso impulsado por Eventos son gráficos ordenados se encuentra también en grafos dirigidos para cuales no se ofrece un ordenamiento de nodo explícito. No hay restricciones existentes en la posible estructura de las Cadenas de Procesos impulsados por Eventos, pero las estructuras no triviales, que implican paralelismo tienen una poco definida semántica de ejecución; a este respecto se asemejan a los diagramas de actividades UML.
Varios artículos científicos se dedican a proporcionar una semántica de ejecución bien definida para Cadenas de Proceso Impulsadas por Eventos generales. Un problema particular es que las Cadenas de Proceso Impulsadas por Eventos requieren una semántica no local, es decir, el comportamiento de ejecución de un nodo en particular, dentro de una Cadena de Procesos Impulsada por Eventos, puede depender del estado de las otras partes de EPC.

## Elementos de una Cadena de Procesos Impulsada por Eventos (CPE)
### Evento

* Los Eventos son elementos pasivos en una Cadena de Procesos impulsada por Eventos (CPE).
* Describen bajo cuales circunstancias una función o un procesos trabaja o cual es el resultado de una función o proceso.
* Ejemplos de eventos son requerimientos capturados, material en stock, etc.
* En el gráfico EPC un evento está representado con un hexágono.
* En general, un diagrama EPC debe iniciar y terminar con un evento.

### Función

* Son elementos activos en una Cadena de Procesos Impulsada por Eventos.
* Modelan las tareas o actividades dentro de la empresa.
* Describen las transformaciones desde un estado inicial a un estado resultante
* En el caso de que diferentes estados resultantes puedan ocurrir, la selección del respectivo estado resultante puede ser modelado explícitamente como una función de decisión usando conectores lógicos.
* Las funciones pueden ser refinadas en otro diagrama CPE. En este caso se denomina función jerárquica.
* Ejemplos de funciones son Capturar Requerimientos, Verificar material en stock, etc
* En un gráfico CPE una función se representa como un rectángulo redondeado.

### Dueño de Proceso

* El Dueño del Proceso es el responsable de una función (por ejemplo, un empleado de la reserva se hace responsable de los viajes de reserva).
* Es por lo general parte de una Unidad Organizativa (por ejemplo, un empleado de la reserva pertenece al departamento de reservas).
* Se representa como un cuadrado con una línea vertical.

### Unidad Organizativa

* Determina quien, dentro de la estructura de una compañía, es responsable de una función específica.
* Ejemplos son Departamento de Ventas, Departamento de Compras.
* Se representa como una elipse con una línea vertical.

### Información, material, u objeto de recursos (Términos Técnicos)

* En la CPE, la información, material o recursos objetos representan objetos en el mundo real, por ejemplo, objetos de negocios, entidades, etc., que pueden ser los datos de entrada que sirven como base para una función, o datos de salida producidos por una función.
* Algunos ejemplos son material, orden, etc.
* En el gráfico CPE se representa como rectángulo.

### Conector Lógico

* En la diagramación por CPE las relaciones lógicas entre los elementos en el flujo de control, esto es, los eventos y funciones se describen mediante conectores lógicos.
* Con la ayuda de conectores lógicos es posible dividir el flujo de control de un flujo en dos o más flujos y para sincronizar el flujo de control desde dos o más flujos a un solo flujo.

### Relaciones Lógicas

    Hay tres tipos de relaciones lógicas definidas en un Cadena de Procesos impulsado por Eventos (CPE):
* Ramificación/Combinación (Conector XOR):
   * La ramificación corresponde a la toma de decisión de un camino a elegir entre varios flujos de control.
   * Una ramificación puede tener un flujo de control de entrada y dos o más flujos de control salientes. Cuando se cumple la condición, una ramificación activa exactamente sólo uno de los flujos de control salientes y desactiva los otros.
   * La contrapartida de una ramificación es una fusión o combinación.
   * Una combinación de puede tener dos o más flujos de entrada y un flujo de control de salida.
   * Una combinación sincroniza alternativas activadas y desactivadas.
   * Luego el control se pasa al siguiente elemento después de la combinación.
   * Una rama en el diagrama CPE está representado por un XOR de apertura, mientras que una combinación se representa como un conector XOR de cierre.
* Bifurcación/Unión (Conector AND):
   * Una unión corresponden a la activación de todas las rutas en el flujo de control al mismo tiempo.
   * Una bifurcación puede tener un flujo de control de entrada y dos o más flujos de control salientes.
   * Cuando se cumple la condición, una bifurcación activa todos los flujos de control de salida en paralelo.
   * Una unión puede tener dos o más flujos de control de entrada y un flujo de control de salida.
   * Una unión sincroniza todos los flujos de control entrantes activados.
   * La concurrencia se puede lograr por cierto paralelismo o por la concurrencia Virtual lograda por el intercalado.
   * Una bifurcación en el EPC está representado por una abertura 'Y' ('AND'), mientras que una unión se representa también con un conector 'Y' ('AND').
* OR (Conector O) :
   * Una relación 'OR' corresponde a la activación de una o más rutas entre los flujos de control.
   * El conector de una abertura 'OR' pueden tener un flujo de control de entrada y dos o más flujos de control de salida.
   * Cuando se cumple la condición, una abertura 'OR' conector se activa uno o más flujos de control y desactiva el resto de ellos.
   * Cuando se cierra un flujo de control, nuevamente se utiliza un conector de cierre 'OR'.
   * Cuando se activa, al menos, uno de los flujos de control de entrada, el conector de cierre 'OR' pasarán el control al siguiente elemento después de ella.

### Flujo de Control

   * Un flujo de control conecta eventos con funciones, rutas o caminos de proceso, o conectores lógicos, creando una secuencia cronológica y las interdependencias lógicas entre ellos.
   * Un flujo de control se representa como una flecha discontinua.

### Flujo de Información

   * Los flujos de información muestran la conexión entre funciones y la entrada o salida de datos, en la que la función lee los cambios o los escribe.

### Asignación de Unidad Organizativa

   * Muestran la conexión entre una Unidad Organizativa y la Función de la cual es responsable.

### Ruta de proceso

   * Caminos o rutas de proceso sirven de ayuda para la navegación en el EPC.
   * Ellos muestran la conexión desde o a otros procesos.
   * El recorrido del proceso se representa como un símbolo compuesto, consistente de un símbolo función superpuesta a un símbolo de evento. :* Para emplear el símbolo la ruta de proceso en un diagrama CPE, un símbolo está conectado al símbolo de ruta de proceso, lo que indica que el proceso esquematizado incorpora la totalidad de un segundo proceso que por simplicidad esquemática, está representado por un único símbolo.

## Herramientas

Hay una serie de herramientas para crear diagramas de CPE:
* ARIS Conjunto de herramientas de IDS Scheer AG, (Ahora adquirida por Software AG),
* Herramienta de modelado libre ARIS Express por IDS Scheer AG,
* BIC Platform de GBTEC
* ADONIS de BOC Group
* Mavim Rules de Mavim BV,
* Business Process Visual ARCHITECT de Visual Paradigm,
* Zenya Software,
* Visio, Microsoft Corp.,
* Semtalk, Semtation GmbH,
* Bonapart, Pikos GmbH.
Algunos, pero no todos estas herramientas soportan el diagramado EPC Markup language (EPML). También existen herramientas que generan diagramas de CPE desde datos operativos, como los registros (logs) de SAP. Los diagramas CPE utilizan símbolos de varios tipos para mostrar la estructura de flujo de control (secuencia de decisiones, funciones, eventos y otros elementos) de un proceso de negocio.

## Metamodelado de Cadena de Procesos Impulsada por Eventos

Aunque un proceso real puede incluir una serie de etapas hasta que termina finalmente, las actividades principales siguen siendo similares. Un Evento desencadena una Función; y una Función dará lugar a un Evento. Mientras tanto, un Evento puede implicar uno o más procesos para cumplir, pero un Proceso es único para un Evento, lo mismo va para el Proceso y la Ruta del Proceso.
En cuanto a la función, sus datos podrán ser incluidos en uno o varios recursos de información, mientras que la Unidad Organizativa sólo es responsable de una función específica.