Amina ANNANE, Nathalie Aussenac and Mouna Kamel
BBO is a business process ontology. The core element of BBO is a formalization of a BPMN 2.0 fragment (namely Chapter 10 of BPMN 2.0 specification). BPMN 2.0 is state-of-the-art meta-model of business processes.
Copyright © 2019 MELODI @ Toulouse Institute of Computer Science Research
BBO
BPMNbasedOntology
1.0.0
If an Activity A dependsOn an Activity B, A can not start before completing B.
dependsOn
Determines which combination of incoming tokens will be synchronized for
activation of the Gateway.
has_activationCondition
[IRIT]denotes the activity related to the source element
has_activity
For a Start Event:
This Event “catches” the compensation for an Event Sub-Process. No further
information is REQUIRED. The Event Sub-Process will provide the Id necessary
to match the Compensation Event with the Event that threw the compensation,
or the compensation will have been a broadcast.
For an End Event:
The Activity to be compensated MAY be supplied. If an Activity is not supplied,
then the compensation is broadcast to all completed Activities in the current Sub-
Process (if present), or the entire Process instance (if at the global level).
For an Intermediate Event within normal flow:
The Activity to be compensated MAY be supplied. If an Activity is not supplied,
then the compensation is broadcast to all completed Activities in the current Sub-
Process (if present), or the entire Process instance (if at the global level). This
“throws” the compensation.
For an Intermediate Event attached to the boundary of an Activity:
This Event “catches” the compensation. No further information is REQUIRED. The
Activity the Event is attached to will provide the Id necessary to match the
Compensation Event with the Event that threw the compensation, or the
compensation will have been a broadcast.
has_activityRef
This references the Intermediate Events that are attached to the
boundary of the Activity.
has_boundaryEventRef
has_callableElement
The element to be called, which will be either a Process or a
GlobalTask.
has_calledElement
This attribute defines a boolean Expression that when evaluated to true, cancels the remaining Activity instances and produces a token.
has_completionCondition
[IRIT] references the ComplexGateway which is concerned with the Expression
has_complexGateway
This relation has two source concepts. The definition is related to the source concept: (1) conditionalEventDefinition: The Expression might be underspecified and provided in the form of natural language. For executable Processes (isExecutable = true), if the trigger is Conditional, then a FormalExpression MUST be entered. (2) complexBehaviorDefinition: This attribute defines a boolean Expression that when evaluated to true, cancels the remaining Activity instances and produces a token.
has_condition
An optional boolean Expression that acts as a gating condition. A token will only
be placed on this Sequence Flow if this conditionExpression evaluates to
true.
has_conditionExpression
[IRIT] this relation references the FlowElementContainer that includes the FlowElement
has_container
The Sequence Flow that will receive a token when none of the conditionExpressions on other outgoing Sequence Flows evaluate to true. The default Sequence Flow should not have a conditionExpression. Any such Expression SHALL be ignored.
has_default
for an Operation instance: specifies errors that the Operation may return. An Operation MAY refer to zero or more Error elements.
for an ErrorEventDefinition instance: If the trigger is an Error, then an Error payload MAY be provided.
has_errorRef
If the trigger is an Escalation, then an Escalation payload MAY be provided.
has_escalationRef
Defines the event EventDefinitions that are triggers expected for a catch Event. These EventDefinitions are only valid inside the current Event.
• If there is no EventDefinition defined, then this is considered a catch None Event and the Event will not have an internal marker (see Figure 10.91).
• If there is more than one EventDefinition defined, this is considered a catch Multiple Event and the Event will have the pentagon internal marker (see Figure 10.90).
This is an ordered set.
has_eventDefinition
[IRIT] specifies the exclusive gateway referenced by the default sequence flow
has_exclusiveGateway
The Expression that evaluates the value used to bind the
ResourceParameter. (ResourceParameterBinding)
has_expression
This association specifies the particular flow elements contained in a
FlowElementContainer. Flow elements are Events, Gateways, Sequence
Flows, Activities, Data Objects, Data Associations, and Choreography
Activities.
has_flowElements
[IRIT] specifies the inclusive gateway referenced by the default sequence flow
has_inclusiveGateway
identifies the incoming Sequence Flow of the FlowNode.
has_incoming
A reference to the InputSets defined by the InputOutputSpecification. Every InputOutputSpecification MUST define at least one InputSet.
has_inputSet
The InputOutputBinding defines a combination of one InputSet and one OutputSet in order to bind this to an operation defined in an interface.
has_ioBinding
The InputOutputSpecification defines the inputs and outputs and the InputSets and OutputSets for the Activity. See page 211 for more information on the InputOutputSpecification.
has_ioSpecification
An Activity MAY be performed once or MAY be repeated. If repeated,
the Activity MUST have loopCharacteristics that define the repetition
criteria (if the isExecutable attribute of the Process is set to
true).
has_loopCharacteristics
A boolean Expression that controls the loop. The Activity will only loop as long as this condition is true. The looping behavior MAY be underspecified, meaning that the modeler can simply document the condition, in which case the loop cannot be formally executed.
has_loopCondition
The Message MUST be supplied (if the isExecutable attribute of the Process is set to true).
has_messageRef
has_noneBehaviorEventRef
The EventDefinition which is thrown when behavior is set to one and the first internal Activity instance has completed.
has_oneBehaviorEventRef
This attribute specifies the operation that is invoked
has_operationRef
identifies the outgoing Sequence Flow of the FlowNode.
has_outgoing
A reference to the OutputSets defined by the InputOutputSpecification. Every InputOutputSpecification MUST define at least one OutputSet.
has_outputSet
Reference to the parameter defined by the Resource.
has_parameterRef
This relation allows to specifiy the prefix (centi, mili, etc.) of a given unit of measure.
has_prefix
the process assigned to the resource role
has_process
Modeler-defined properties MAY be added to a Process. These properties are contained within the Process. All Tasks and Sub-Processes SHALL have access to these properties.
has_property
This defines the Parameter bindings used for the
Resource assignment (see below). Is only applicable if a
resourceRef is specified.
has_resourceParameterBindings
This model association specifies the definition of the parameters needed at runtime to resolve the Resource.
has_resourceParameters
[IRIT] specifies the SequenceFlow of the FlowNode
has_sequenceFlow
[IRIT] specifies the Signal of the SignalEventDefinition
has_signalRef
Used to reference the corresponding 'catch' or 'target' LinkEventDefinition, when
this LinkEventDefinition represents a 'throw' or 'source' LinkEventDefinition.
The FlowNode that the Sequence Flow is connecting from.
For a Process: Of the types of FlowNode, only Activities, Gateways, and Events can be the source. However, Activities that are Event Sub-Processes are not allowed to be a source.
For a Choreography: Of the types of FlowNode, only Choreography Activities, Gateways, and Events can be the source.
has_sourceRef
The Interfaces describing the external behavior provided by this element.
has_supportedInterfaceRefs
Used to reference the corresponding 'throw' or 'source' LinkEventDefinition,
when this LinkEventDefinition represents a 'catch' or 'target' LinkEventDefinition.
The FlowNode that the Sequence Flow is connecting to.
For a Process: Of the types of FlowNode, only Activities, Gateways, and Events can be the target. However, Activities that are Event Sub-Processes are not allowed to be a target.
For a Choreography: Of the types of FlowNode, only Choreography Activities, Gateways, and Events can be the target.
has_targetRef
If the trigger is a Timer, then a timeCycle MAY be entered. Timer attributes are mutually exclusive and if any of the other Timer attributes is set, timeCycle MUST NOT be set (if the isExecutable attribute of the Process is set to true). The return type of the attribute timeCycle MUST conform to the ISO-8601 format for recurring time interval representations.
has_timeCycle
If the trigger is a Timer, then a timeDate MAY be entered. Timer attributes are mutually exclusive and if any of the other Timer attributes is set, timeDate MUST NOT be set (if the isExecutable attribute of the Process is set to true). The return type of the attribute timeDate MUST conform to the ISO-8601 format for date and time representations.
has_timeDate
If the trigger is a Timer, then a timeDuration MAY be entered. Timer attributes are mutually exclusive and if any of the other Timer attributes is set, timeDuration MUST NOT be set (if the isExecutable attribute of the Process is set to true).
The return type of the attribute timeDuration MUST conform to the ISO-8601 format for time interval representations.
has_timeDuration
Denotes the Activity that boundary Event is attached to.
attachedToRef
Modelers can declare that they intend all executions or performances
of one Process to also be valid for another Process. This means they
expect all the executions or performances of the first Processes to also
follow the steps laid out in the second Process.
supports
Allows to specifiy where the activity or the process will take place
takesPlaceAt
The body of the Expression.
body
This attribute is used only if ordering is parallel. It determines whether running instances are cancelled when the completionCondition becomes true.
cancelRemainingInstances
This attribute defines the number of tokens that MUST be generated from the Activity. This number of tokens will be sent done any outgoing Sequence Flow (assuming any Sequence Flow conditions are satisfied).
Note that any value for the attribute that is greater than 1 is an advanced type of modeling and should be used with caution.
completionQuantity
For an End Event:
If the result is an Error, then the errorCode MUST be supplied (if the processType attribute of the Process is set to executable) This “throws” the Error.
For an Intermediate Event within normal flow:
If the trigger is an Error, then the errorCode MUST be entered (if the processType attribute of the Process is set to executable). This “throws” the Error.
For an Intermediate Event attached to the boundary of an Activity:
If the trigger is an Error, then the errorCode MAY be entered. This Event “catches” the Error. If there is no errorCode, then any error SHALL trigger the Event. If there is an errorCode, then only an Error that matches the errorCode SHALL trigger the Event.
errorCode
For an End Event:
If the Result is an Escalation, then the escalationCode MUST be supplied (if the processType attribute of the Process is set to executable). This “throws” the Escalation.
For an Intermediate Event within normal flow: If the trigger is an Escalation, then the escalationCode MUST be entered (if the processType attribute of the Process is set to executable). This “throws” the Escalation. For an Intermediate Event attached to the boundary of an Activity: If the trigger is an Escalation, then the escalationCode MAY be entered. This Event “catches” the Escalation. If there is no escalationCode, then any Escalation SHALL trigger the Event. If there is an escalationCode, then only an Escalation that matches the escalationCode SHALL trigger the Event.
escalationCode
This attribute is used to uniquely identify BPMN elements. The id is REQUIRED if this element is referenced or intended to be referenced by something else. If the element is not currently referenced and is never intended to be referenced, the id MAY be omitted.
id
This attribute specifies the technology that will be used to send and receive the Messages. Valid values are ##unspecified for leaving the implementation technology open, ##WebService for the Web service technology or a URI identifying any other technology or coordination protocol. A Web service is the default technology.
implementation
When true, receipt of one of the Events will instantiate the Process instance.
instantiate
A boolean value specifying whether interactions, such as sending and receiving Messages and Events, not modeled in the Process can occur when the Process is executed or performed. If the value is true, they MAY NOT occur. If the value is false, they MAY occur.
isClosed
An optional Boolean value specifying whether the Process is executable.
An executable Process is a private Process that has been modeled for the purpose of being executed according to the semantics of Chapter 14 (see page 426). Of course, during the development cycle of the Process, there will be stages where the Process does not have enough detail to be “executable.”
A non-executable Process is a private Process that has been modeled for the purpose of documenting Process behavior at a modeler-defined level of detail. Thus, information needed for execution, such as formal condition expressions are typically not included in a non-executable Process.
For public Processes, no value has the same semantics as if the value were false. The value MAY not be true for public Processes.
isExecutable
A flag that identifies whether this Activity is intended for the purposes of compensation.
If false, then this Activity executes as a result of normal execution flow.
If true, this Activity is only activated when a Compensation Event is detected and initiated under Compensation Event visibility scope (see page 281 for more information on scopes).
isForCompensation
An optional boolean value specifying whether Activities or Choreography Activities not in the model containing the Sequence Flow can occur between the elements connected by the Sequence Flow. If the value is true, they MAY NOT occur. If the value is false, they MAY occur. Also see the isClosed attribute on Process, Choreography, and Collaboration. When the attribute has no value, the
default semantics depends on the kind of model containing Sequence Flows:
• For non-executable Processes (public Processes and non-executable private Processes) and Choreographies no value has the same semantics as if the value were false.
• For an executable Processes no value has the same semantics as if the value were true.
• For executable Processes, the attribute MUST NOT be false.
isImmediate
Specifies, if a parameter is optional or mandatory.
isRequired
This attribute is a flag that controls whether the Activity instances will execute sequentially or in parallel.
isSequential
Overrides the Expression language specified in the Definitions. The language MUST be specified in a URI format.
language
Serves as a cap on the number of iterations.
loopMaximum
The method is an attribute that defines the Transaction method used to commit or cancel a Transaction. For executable Processes, it SHOULD be set to a technology specific URI, e.g., http://schemas.xmlsoap.org/ws/2004/10/wsat for WSAtomicTransaction, or http://docs.oasis-open.org/ws-tx/wsba/2006/06/AtomicOutcome for WS-BusinessActivity.
method
The descriptive name of the element.
name
This attribute is only relevant when the catch Event has more than EventDefinition (Multiple). If this value is true, then all of the types of triggers that are listed in the catch Event MUST be triggered before the Process is instantiated.
parallelMultiple
The modeler MAY include a script that can be run when the Task is performed. If a script is not included, then the Task will act as the equivalent of an Abstract Task.
script
Defines the format of the script. This attribute value MUST be specified with a mime-type format. And it MUST be specified if a script is provided.
scriptFormat
scriptLanguage
This attribute defines the number of tokens that MUST arrive before the Activity can begin. Note that any value for the attribute that is greater than 1 is an advanced type of modeling and should be used with caution.
startQuantity
Flag that controls whether the loop condition is evaluated at the beginning (testBefore = true) or at the end (testBefore = false) of the loop iteration.
testBefore
For a throw Compensation Event, this flag determines whether the throw Intermediate Event waits for the triggered compensation to complete (the default), or just triggers the compensation and immediately continues (the BPMN 1.2 behavior).
waitForCompletion
1
1
1
1
1
Work that a company or organization performs using business processes. An activity can be atomic or non-atomic (compound). The types of activities that are a part of a Process Model are: Process, Sub-Process, and Task.
Activity
1
An Ad-Hoc Sub-Process is a specialized type of Sub-Process that is a group of Activities that have no REQUIRED sequence relationships. A set of Activities can be defined for the Process, but the sequence and number of performances for the Activities is determined by the performers of the Activities.
AdHocSubProcess
Person or a Software that performs an activity
Agent
All: no Event is ever thrown, a token is produced after completion of all instances.
Any thrown Events can be caught by boundary Events on the Multi-Instance Activity.
1
A Business Rule Task provides a mechanism for the Process to provide input to a Business Rules Engine and to get the output of calculations that the Business Rules Engine might provide. The InputOutputSpecification of the Task (see page 211) will allow the Process to send data to and receive data from the Business Rules Engine.
BusinessRuleTask
1
A Call Activity identifies a point in the Process where a global Process or a Global Task is used. The Call Activity acts as a ‘wrapper’ for the invocation of a global Process or Global Task within the execution. The activation of a call Activity results in the transfer of control to the called global Process or Global Task.
CallActivity
1
1
CallableElement is the abstract super class of all Activities that have been defined outside of a Process or Choreography but which can be called (or reused), by a Call Activity, from within a Process or Choreography. It MAY reference Interfaces that define the service operations that it provides. The BPMN elements that can be called by Call Activities (i.e., are CallableElements) are: Process and GlobalTask (see Figure 10.43).
CallableElement
1
Cancel Events are only used in the context of modeling Transaction Sub-Processes (see page 178 for more details on Transactions). There are two variations: a catch Intermediate Event and an End Event.
CancelEventDefinition
Events that catch a trigger. All Start Events and some Intermediate Events are catching Events.
CatchEvent
1
/
Cell
1
Compensation Events are used in the context of triggering or handling compensation (see page 302 for more details on compensation). There are four variations: a Start Event, both a catch and throw Intermediate Event, and an End Event.
CompensateEventDefinition
1
1
1
1
This element controls when and which Events are thrown in case behavior of the Multi-Instance Activity is set to complex.
ComplexBehaviorDefinition
1
1
The Complex Gateway can be used to model complex synchronization behavior. An Expression activationCondition is used to describe the precise behavior. For example, this Expression could specify that tokens on three out of five incoming Sequence Flows are needed to activate the Gateway. What tokens are produced by the Gateway is determined by conditions on the outgoing Sequence Flows as in the split behavior of the Inclusive Gateway. If tokens arrive later on the two remaining Sequence Flows, those tokens cause a reset of the Gateway and new token can be produced on the outgoing Sequence Flows. To determine whether it needs to wait for additional tokens before it can reset, the Gateway uses the synchronization semantics of the Inclusive Gateway.
ComplexGateway
Complex: the complexBehaviorDefinitions are consulted to determine if and which Events to throw.
Any thrown Events can be caught by boundary Events on the Multi-Instance Activity.
/
Component
Computer
1
/
ConditionExpression
1
1
/
ConditionalEventDefinition
/
ConsumableResource
2
1
/
DataResource
/
Database
1
/
Device
2
1
/
DocumentResource
As the name implies, the End Event indicates where a Process will end. In terms of Sequence Flows, the End Event ends the flow of the Process, and thus, will not have any outgoing Sequence Flows—no Sequence Flow can connect from an End Event.
EndEvent
/
Enterprise
Type of technical documentation containing the design information of a material resource.
EquipmentDraw
1
An Error represents the content of an Error Event or the Fault of a failed Operation. An ItemDefinition is used to specify the structure of the Error. An Error is generated when there is a critical problem in the processing of an Activity or when the execution of an Operation failed.
Error
1
1
/
ErrorEventDefinition
1
An Escalation identifies a business situation that a Process might need to react to. An ItemDefinition is used to specify the structure of the Escalation.
Escalation
1
1
/
EscalationEventDefinition
An Event is something that “happens” during the course of a Process. These Events affect the flow of the Process and usually have a cause or an impact and in general require or allow for a reaction. The term “event” is general enough to cover many things in a Process. The start of an Activity, the end of an Activity, the change of state of a document, a Message that arrives, etc., all could be considered Events.
Event
2
The Event-Based Gateway represents a branching point in the Process where the alternative paths that follow the Gateway are based on Events that occur, rather than the evaluation of Expressions using Process data (as with an Exclusive or Inclusive Gateway). A specific Event, usually the receipt of a Message, determines the path that will be taken. Basically, the decision is made by another Participant, based on data that is not visible to Process, thus, requiring the use of the Event-Based Gateway.
EventBasedGateway
1
Event Definitions refers to the triggers of Catch Events (Start and receive Intermediate Events) and the Results of Throw Events (End Events and send Intermediate Events). The types of Event Definitions are: CancelEventDefinition, CompensationEventDefinition, ConditionalEventDefinition ErrorEventDefinition, EscalationEventDefinition, MessageEventDefinitio, LinkEventDefinition, SignalEventDefinition, TerminateEventDefinition, an TimerEventDefinition (see Table 10.93). A None Event is determined by an Event that does not specify an
Event Definition. A Multiple Event is determined by an Event that specifies more than one Event Definition. The different types of Events (Start, End, and Intermediate) utilize a subset of the available types of Event Definitions.
EventDefinition
1
EventBasedSubProcess
The StartEvent of an EventBasedSubProcess
EventSubProcessStartEvent
1
A diverging Exclusive Gateway (Decision) is used to create alternative paths within a Process flow. This is basically the “diversion point in the road” for a Process. For a given instance of the Process, only one of the paths can be taken.
ExclusiveGateway
ExecutableBusinessProcess
/
ExecutableScript
1
The Expression class is used to specify an Expression using natural-language text. These Expressions are not executable. The natural language text is captured using the documentation attribute, inherited from BaseElement.
Expression
1
/
Factory
1
1
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 151), Choreography Activities (see page 321) Gateways (see page 287), and Events (see page 233), Data Objects (see page 205), Data Associations (see page 221), and Sequence Flows (see page 97).
FlowElement
/
FlowElementsContainer
The FlowNode element is used to provide a single element as the source and target Sequence Flow associations (see Figure 8.35) instead of the individual associations of the elements that can connect to Sequence Flows (see the section above). Only the Gateway, Activity, Choreography Activity, and Event elements can connect to Sequence Flows and thus, these elements are the only ones that are sub-classes of FlowNode.
FlowNode
1
The FormalExpression class is used to specify an executable Expression using a specified Expression language. A natural-language description of the Expression can also be specified, in addition to the formal specification.
FormalExpression
2
2
Gateways are used to control how Sequence Flows interact as they converge and diverge within a Process. If the flow does not need to be controlled, then a Gateway is not needed. The term “Gateway” implies that there is a gating mechanism that either allows or disallows passage through the Gateway--that is, as tokens arrive at a Gateway, they can be merged together on input and/or split apart on output as the Gateway mechanisms are invoked.
Gateway
/
GlobalBusinessRuleTask
/
GlobalManualTask
/
GlobalScriptTask
A Global Task is a reusable, atomic Task definition that can be called from within any Process by a Call Activity.
GlobalTask
/
GlobalUserTask
2
1
The Group class represents a collection of individual agents (and may itself play the role of a Agent, ie. something that can perform actions). [Definition extracted from FOAF Vocabulary Specification 0.99]
Group
Human agents contributing to the execution of business processes.
HumanResource
A sub-type of throw Event is the ImplicitThrowEvent. This is a non-graphical Event that is used for Multi-Instance Activities (see page 191).
ImplicitThrowEvent
1
A diverging Inclusive Gateway (Inclusive Decision) can be used to create alternative but also parallel paths within a Process flow. Unlike the Exclusive Gateway, all condition Expressions are evaluated. The true evaluation of one condition Expression does not exclude the evaluation of other condition Expressions. All Sequence Flows with a true evaluation will be traversed by a token. Since each path is considered to be independent, all combinations of the paths MAY be taken, from zero to all. However, it should be designed so that at least one path is taken.
InclusiveGateway
1
1
1
1
When a CallableElement is exposed as a Service, it has to define one or more InputOutputBinding elements. An InputOutputBinding element binds one Input and one Output of the InputOutputSpecification to an Operation of a Service Interface.
InputOutputBinding
1
1
1
/
InputOutputSpecification
1
1
An InputSet is a collection of Resource elements that together define a valid set of Resources for an InputOutputSpecification. An InputOutputSpecification MUST have at least one InputSet element. An InputSet MAY reference zero or more Resource elements. A single Resource MAY be associated with multiple InputSet elements, but it MUST always be referenced by at least one InputSet.
InputSet
1
1
An interface defines a set of operations that are implemented by Services.
Interface
A Message Intermediate Event can be used to either send a Message or receive a Message. When used to “catch” the Message,
then the Event marker MUST be unfilled (see the lower figure on the right).
IntermediateCatchEvent
The Intermediate Event indicates where something happens (an Event) somewhere between the start and end of a Process. It will affect the flow of the Process, but will not start or (directly) terminate the process.
IntermediateEvent
A Message Intermediate Event can be used to either send a Message or receive a Message.
IntermediateThrowEvent
the Activity attached to this event should be cancelled
InterruptingEventSubProcessStartEvent
1
Job
1
1
1
1
A Link Event is a mechanism for connecting two sections of a Process. Link Events can be used to create looping situations or to avoid long Sequence Flow lines. The use of Link Events is limited to a single Process level (i.e., they cannot link a parent Process with a Sub-Process).
LinkEventDefinition
1
Activities MAY be repeated sequentially, essentially behaving like a loop. The presence of LoopCharacteristics signifies that the Activity has looping behavior. LoopCharacteristics is an abstract class. Concrete subclasses define specific kinds of looping behavior.
LoopCharacteristics
A Manual Task is a Task that is expected to be performed without the aid of any business process execution engine or any application. An example of this could be a telephone technician installing a telephone at a customer location.
ManualTask
/
ManufacturingFacility
a physical resource
MaterialResource
1
A Message represents the content of a communication between two Participants. In BPMN 2.0, a Message is a graphical decorator (it was a supporting element in BPMN 1.2). An ItemDefinition is used to specify the Message structure.
Message
1
1
/
MessageEventDefinition
2
2
1
1
1
1
1
1
1
1
The MultiInstanceLoopCharacteristics class allows for creation of a desired number of Activity instances. The instances MAY execute in parallel or MAY be sequential. Either an Expression is used to specify or calculate the desired number of instances or a data driven setup can be used. In that case a data input can be specified, which is able to handle a collection of data. The number of items in the collection determines the number of Activity instances. This data input can be produced by an input Data Association. The modeler can also configure this loop to control the tokens produced.
MultiInstanceLoopCharacteristics
2
NonExecutableBusinessProcess
the Activity attached to this event should not be cancelled
InterruptingEventSubProcessStartEvent
None: the EventDefinition which is associated through the noneEvent association will be thrown for each instance completing.
Any thrown Events can be caught by boundary Events on the Multi-Instance Activity.
One: the EventDefinition referenced through the oneEvent association will be thrown upon the first instance completing.
Any thrown Events can be caught by boundary Events on the Multi-Instance Activity.
1
1
1
An Operation defines Messages that are consumed and, optionally, produced when the Operation is called. It can also define zero or more errors that are returned when operation fails. The Operation inherits the attributes and model associations of BaseElement
Operation
1
1
An OutputSet is a collection of Resource elements that together can be produced as output from an Activity or Event. An InputOutputSpecification element MUST define at least OutputSet element. An OutputSet MAY reference zero or more Resource elements. A single Resource output MAY be associated with multiple OutputSet elements, but it MUST always be referenced by at least one OutputSet.
OutputSet
all the Activities of the Sub-Process can be performed in parallel
ParallelAdHocSubProcess
A Parallel Gateway is used to synchronize (combine) parallel flows and to create parallel flows.
ParallelGateway
all of the types of EventDefinition that are listed in the Event MUST be triggered.
ParallelMultipleEvent
A specific characteristic of an object that may have different values
Parameter
ParameterExpectedValue
ParameterValue
1
1
1
An abstract class that binds a parameter to its value, and eventually its expected value.
ParameterValueBinding
Human individual
Person
A process that is internal to a specific organization and is the type of process that has been generally called a workflow or BPM process.
PrivateProcess
1
A sequence or flow of Activities in an organization with the objective of carrying out work. In BPMN, a Process is depicted as a graph of Flow Elements, which are a set of Activities, Events, Gateways, and Sequence Flow that adhere to a finite execution semantics.
Process
1
1
Modeler-defined properties MAY be added to a Process. These properties are contained within the Process. All Tasks and Sub-Processes SHALL have access to these properties.
Property
PublicProcess
parameters that have only qualitative values
QualitativeParameter
1
parameters that have only quantitative values
QuantitativeParameter
1
1
A Receive Task is a simple Task that is designed to wait for a Message to arrive from an external Participant (relative to the Process). Once the Message has been received, the Task is completed.
ReceiveTask
1
Rendering
1
The Resource class is used to specify resources that can be referenced by Activities. These Resources can be Human Resources as well as any other resource assigned to Activities during Process execution time. The definition of a Resource is “abstract,” because it only defines the Resource, without detailing how e.g., actual user IDs are associated at runtime. Multiple Activities can utilize the same Resource.
Resource
An abstract class that groups a set of resources
ResourceCollection
1
1
A parameter related to a specific resource, only one resource
ResourceParameter
ResourceState
Role
RootElement is the abstract super class for all BPMN elements that are contained within Definitions. When contained within Definitions, these elements have their own defined life-cycle and are not deleted with the deletion of other elements. Examples of concrete RootElements include Collaboration, Process, and Choreography. Depending on their use, RootElements can be referenced by multiple other elements (i.e., they can be reused). Some RootElements MAY be contained within other elements instead of Definitions. This is done to avoid the maintenance overhead of an independent life-cycle. For example, an EventDefinition would be contained in a Process since it is used only there. In this case the EventDefinition would be dependent on the tool life-cycle of
the Process.
RootElement
/
Scheme
1
1
A Script Task is executed by a business process engine. The modeler or implementer defines a script in a language that the engine can interpret. When the Task is ready to start, the engine will execute the script. When the script is completed, the Task will also be completed.
ScriptTask
1
1
A Send Task is a simple Task that is designed to send a Message to an external Participant (relative to the Process). Once the Message has been sent, the Task is completed.
SendTask
1
1
1
1
1
A connecting object that shows the order in which activities are performed in a Process and is represented with a solid graphical line. Each Flow has only one source and only one target. A Sequence Flow can cross the boundaries between Lanes of a Pool but cannot cross the boundaries of a Pool.
SequenceFlow
A source Gateway MUST NOT be of type Parallel or Event (for a conditional sequence flow) (p.97)
We have added this restriction to the SequenceFlow class rather than the ConditionalSequenceFlow class to state that it is inconsistent to have a SequenceFlow which is at the same time Conditional and has parallel or eventbased gateway source. Otherwise, it would be possible to have such a SequenceFlow classified as a NormalSequenceFlow.
only one Activity can be performed at a time
SequentialAdHocSubProcess
1
A Service Task is a Task that uses some sort of service, which could be a Web service or an automated application.
ServiceTask
1
/
Shop
1
A BPMN Signal is similar to a signal flare that shot into the sky for anyone who might be interested to notice and then react. Thus, there is a source of the Signal, but no specific intended target.
Signal
1
1
/
SignalEventDefinition
1
A software used by an agent to perform a process, or a software agent that executes specific tasks.
SoftwareResource
/
SparePart
1
1
The StandardLoopCharacteristics class defines looping behavior based on a boolean condition. The Activity will loop as long as the boolean condition is true. The condition is evaluated for every loop iteration, and MAY be evaluated at the beginning or at the end of the iteration. In addition, a numeric cap can be optionally specified. The number of iterations MAY NOT exceed this cap.
StandardLoopCharacteristics
As the name implies, the Start Event indicates where a particular Process will start. In terms of Sequence Flows, the Start Event starts the flow of the Process, and thus, will not have any incoming Sequence Flows—no Sequence Flow can connect to a Start Event.
flow of the Process and does not have any incoming Sequence Flow, but can have a Trigger. The Start Event is displayed as a circle, drawn with a single thin line.
StartEvent
1
/
Station
A Process that is included within another Process.
SubProcess
SubProcessStartEvent
An atomic activity that is included within a Process. A Task is used when the work in the Process is not broken down to a finer level of Process Model detail. Generally, an end-user, an application, or both will perform the Task. A Task object shares the same shape as the Sub-Process, which is a rectangle that has rounded corners.
Task
Specific type of document containing technical information about material or software resources such as the user manual.
TechnicalDocument
/
Telecommand
1
/
TerminateEventDefinition
1
Events that throw a Result. All End Events and some Intermediate Events are throwing Events that MAY eventually be caught by another Event. Typically the trigger carries information out of the scope where the throw Event occurred into the scope of the catching Events. The throwing of a trigger MAY be either implicit as defined by this standard or an extension to it or explicit by a throw Event
ThrowEvent
An expression that specifies a duration, a specific date, or a cycle
TimeExpression
1
TimerEvent
1
1
1
/
TimerEventDefinition
/
Tool
A Sub-Process that represents a set of coordinated activities carried out by independent, loosely-coupled systems in accordance with a contractually defined business relationship. This coordination leads to an agreed, consistent, and verifiable outcome across all participants.
Transaction
UnderspecifiedExpression
1
1
UnitOfMeasure
A user guide intended to give assistance to people using a particular system. Most user guides contain both a written guide and associated images. In the case of computer applications, it is usual to include screenshots of the human-machine interface(s), and hardware manuals often include clear, simplified diagrams.
UserGuide
UserManual
A User Task is a typical “workflow” Task where a human performer performs the Task with the assistance of a software application and is scheduled through a task list manager of some sort.
UserTask
A document that describes a business process (or a work procedure)
WorkProcedureDocument