BPMN busca crear un mecanismo simple y comprensible para crear modelos de procesos, y al mismo tiempo poder manejar la complejidad inherente a estos procesos.
BPMN organiza los elementos de la notación en un conjunto pequeño de categorías, y dentro de éstas agrega variaciones para describir escenarios complejos, sin cambiar drásticamente la apariencia básica del diagrama.
Hay cinco categorías de elementos:
- Calles
- Objetos de Flujo
- Datos
- Artefactos
- Conectores
Calles
Las Calles agrupan los elementos que describen un Proceso de Negocio (Colaboración):
- Piscina
- Un Proceso de Negocio es un conjunto de Procesos que colaboran.
- Cada Proceso es realizado por un Participante.
- En un diagrama, la Piscina representa al Participante y contiene su Proceso.
- Carril
- Partición dentro de una Piscina, se extiende a lo largo de ésta.
- Representa al rol o sistema que realiza las actividades que contiene.
IMAGEN CON ICONOS DE LAS PISCINAS Y CARRILES.
VIDEO CON UN PROCESO DE NEGOCIO, DONDE SE VAN RESALTANDO LAS PISCINAS Y CARRILES.
Objetos de Flujo
Los Objetos de Flujo definen el comportamiento de un proceso.
Hay tres Objetos de Flujo:
- Actividad
- Describe el trabajo que se realiza en un Proceso.
- Se representa con un rectángulo de esquinas redondeadas.
- Hay dos tipos de Actividades: Tareas y Subprocesos.
- Evento
- Es algo que “ocurre” durante el curso de un Proceso.
- Se representa con un círculo.
- Tiene Posición (inicio, comienzo, fin), Tipo (Mensaje, Condicional, etc.), y Modo (captura, lanzamiento, interrupción).
- Compuerta
- Controla la divergencia y la convergencia de los Flujos dentro de un Proceso.
- Se representa con un diamante.
- Tiene Configuración (convergente, divergente), y Tipo (Exclusiva, Paralela, etc.).
IMAGEN CON ICONOS DE ACTIVIDADES, EVENTOS Y COMPUERTAS.
VIDEO CON UN PROCESO, DONDE SE VAN RESALTANDO ACTIVIDADES, EVENTOS Y COMPUERTAS.
Datos
Los Datos representan los ítems (físicos o datos) que las Actividades, Eventos y Procesos producen y/o consumen.
Hay cinco elementos de Datos:
- Objeto de Datos
- Describe los ítems (físicos o datos) que son producidos y consumidos por Actividades y/o Eventos dentro de un Proceso.
- Se representa con una hoja de papel.
- Entrada de Datos
- Describe ítems (físicos o datos) que entran a un Proceso y son consumidos por Actividades y/o Eventos dentro del Proceso.
- Se representa con una hoja de papel con una flecha clara.
- Salida de Datos
- Describe ítems (físicos o datos) que son producidos por Actividades y/o Eventos dentro del Proceso y que salen del Proceso.
- Se representa con con una hoja de papel con una flecha oscura.
- Almacén de Datos
- Describe el contenedor de dato que permite que las Actividades y/o Eventos recuperen o actualicen datos almacenados que persisten más allá del alcance del Proceso.
- Se representa con un cilindro tridimensional.
- Mensaje
- Describe el contenido (ítems - físicos y datos) de una comunicación entre dos Procesos.
- Se representa con sobre de carta.
IMAGEN CON ICONOS DE OBJETOS DE DATOS, ALMACENES DE DATOS Y MENSAJES.
VIDEO CON UN PROCESO, DONDE SE VAN RESALTANDO OBJETOS DE DATOS, ALMACENES DE DATOS Y MENSAJES.
Artefactos
Los Artefactos se utilizan para proporcionar información adicional sobre el Proceso.
Hay dos artefactos estandarizados, pero los modeladores o las herramientas de modelado pueden agregar tantos artefactos como sea necesario.
- Grupo
- Agrupa un conjunto de elementos gráficos que están dentro de la misma categoría.
- Se representa con un cuadro alrededor del conjunto de objetos de la categoría.
- Anotación Textual
- Es un mecanismo para que el modelador proporcione información de texto adicional para el lector de un diagrama BPMN.
- Se representa con un rectángulo abierto conectado al elemento gráfico que documenta.
IMAGEN CON ICONOS DE GRUPO Y ANOTACION.
VIDEO CON UN PROCESO, DONDE SE VAN RESALTANDO DE GRUPOS Y ANOTACIONES.
Conectores
Los distintos elementos (Calles, Objetos de Flujo, Datos y Artefactos) se conectan entre sí o con otra información.
Hay cuatro Conectores:
- Flujo de Secuencia
- Muestra el orden en que ocurren las Actividades, los Eventos y las Compuertas en un Proceso.
- Se representa con un línea sólida con punta de flecha.
- Nunca cruza los límites de una Piscina.
- Flujo de Mensaje
- Muestra el envío/recepción de Mensajes entre los Procesos de dos Participantes.
- Se representa con una línea segmentada con un cículo abierto en su inicio y una punta de flecha abierta en su final.
- Siempre comienza en una Piscina y termina en otra Piscina.
- Asociación de Datos
- Relaciona los Datos (Objetos de Datos, Entradas y Salidas de Datos y Almacenes) con las Actividades y Eventos que los consumen o producen.
- Se representa con una flecha de línea punteada.
- Nunca cruza los límites de una Piscina.
- Asociación
- Une una Anotación Textual con el elemento que documenta.
- Se representa con una flecha de línea punteada.
IMAGEN CON ICONOS DE CONECTORES.
VIDEO CON UN PROCESO, DONDE SE VAN RESALTANDO CONECTORES.
Especificación BPMN
There are four ways of connecting the Flow Objects to each other or other information. There are four Connecting Objects:
- Sequence Flow
- Message Flow
- Association
- Data Association
- Group
- Text Annotation
Data is represented with five elements:
- Data Object
- Data Input
- Data Output
- Data Store
- Message
Data Objects provide information about what Activities require to be performed and/or what they produce (see page 204), Data Objects can represent a singular object or a collection of objects. Data Input and Data Output provide the same information for Processes.
A Message is used to depict the contents of a communication between two Participants (as defined by a business PartnerRole or a business PartnerEntity—see on page 91).
Flow Objects are the main graphical elements to define the behavior of a Business Process. There are three Flow Objects:
- Event
- Activity
- Gateway
An Activity is a generic term for work that company performs (see page 149) in a Process. An Activity can be atomic or nonatomic (compound). The types of Activities that are a part of a Process Model are: Sub-Process and Task, which are rounded rectangles.
Event An Event is something that “happens” during the course of a Process (see page 235) or a Choreography (see page 339). These Events affect the flow of the model and usually have a cause (trigger) or an impact (result). Events are circles with open centers to allow internal markers to differentiate different triggers or results. There are three types of Events, based on when they affect the flow: Start, Intermediate, and End.
There are two ways of grouping the primary modeling elements through “Swimlanes:”
- Pool
- Lane
A Pool is the graphical representation of a Participant in a Collaboration (see page 113). It also acts as a “swimlane” and a graphical container for partitioning a set of Activities from other Pools, usually in the context of B2B situations. A Pool MAY have internal details, in the form of the Process that will be executed. Or a Pool MAY have no internal details, i.e., it can be a “black box.”
A Lane is a sub-partition within a Process, sometimes within a Pool, and will extend the entire length of the Process, either vertically or horizontally (see on page 304). Lanes are used to organize and categorize Activities.(p27) A Lane is a sub-partition within a Pool and will extend the entire length of the Pool, either vertically or horizontally (see on page 304). Lanes are used to organize and categorize Activities. (p37)
It should be emphasized that one of the drivers for the development of BPMN is to create a simple and understandable mechanism for creating Business Process models, while at the same time being able to handle the complexity inherent to Business Processes. The approach taken to handle these two conflicting requirements was to organize the graphical aspects of the notation into specific categories.
This provides a small set of notation categories so that the reader of a BPMN diagram can easily recognize the basic types of elements and understand the diagram. Within the basic categories of elements, additional variation and information can be added to support the requirements for complexity without dramatically changing the basic look and feel of the diagram. The five basic categories of elements are:
- Flow Objects
- Data
- Connecting Objects
- Swimlanes
- Artifacts
Flow Element
FlowElement is the abstract super class for all elements that can appear in a Process flow, which are FlowNodes (see page 99, which consist of Activities (see page 149), Choreography Activities (see page 319) Gateways (see page 285), and Events (see page 231), Data Objects (see page 204), Data Associations (see page 220), and Sequence Flows (see page 97).
Flow Elements Container
FlowElementsContainer is an abstract super class for BPMN diagrams (or views) and defines the superset of elements that are contained in those diagrams. Basically, a FlowElementsContainer contains FlowElements, which are Events (see page 231), Gateways (see page 285), Sequence Flows (see page 97), Activities (see page 149), and Choreography Activities (see page 319).
There are four (4) types of FlowElementsContainers (see Figure 8.23): Process, Sub-Process, Choreography, and Sub-Choreography.
Flow elements are Events, Gateways, Sequence Flows, Activities, Data Objects, Data Associations, and Choreography Activities.
Note that:
- Choreography Activities MUST NOT be included as a flowElement for a Process.
- Activities, Data Associations, and Data Objects MUST NOT be included as a flowElement for a Choreography.
Scopes
A scope describes the context in which execution of an Activity happens. This consists of the set of:
- Data Objects available (including DataInput and DataOutput)
- Events available for catching or throwing triggers
- Conversations going on in that scope
In general, a scope contains exactly one main flow of Activities which is started, when the scope gets activated. Viceversa, all Activities are enclosed by a scope. Scopes are hierarchically nested.
Scopes can have several scope instances at runtime. They are also hierarchically nested according to their generation. In a scope instance several tokens can be active.
Scope instances in turn have a lifecycle containing among others the states:
- Activated
- In execution
- Completed
- In Compensation
- Compensation
- In Error
- In Cancellation
- Cancelled
BPMN has the following model elements with scope characteristics:
- Choreography
- Pool
- Sub-Process
- Task
- Activity
- Multi-instances body
Scopes are used to define the semantics of:
- Visibility of Data Objects (including DataInput and DataOutput)
- Event resolution
- Starting/stopping of token execution
The Data Objects, Events, and correlation keys described by a scope can be explicitly modeled or implicitly defined.
Non-operational elements
Implementations MAY extend the semantics of non-operational elements to make them executable, but this is considered to be an optional extension to BPMN. Non-operational elements MAY be ignored by implementations conforming to BPMN Process Execution Conformance type. The following elements are nonoperational:
- Manual Task
- Abstract Task
- DataState
- IORules
- Ad-Hoc Process
- ItemDefinitions with an itemKind of Physical
- the inputSetWithWhileExecuting attribute of DataInput
- the outputSetWithWhileExecuting attribute of DataOutput
- the isClosed attribute of Process
- the isImmediate attribute of Sequence Flow