What is the difference between multiple start events and eventbased gateways?
When should each of these be used?
The difference is that in the EventBased Gateways the sequence flow that is activated next
depends on which event occurs. In Multiple EventBased Gateway when one of the event
occurs, the other events stop “listening” for events and the flow proceed in the flow. In the
Multiple Start Event Node if a new event arrives a new instance of the process is created
and it never stops listening. Even if EventBased Gateways can be used to start a processes
it is advised not to because it is confusing and just use them as ordinary gateways.
The difference is that in a eventbased gateways the token is waiting for an event, and once
it had been triggered the gateway stop listening.
The start event is always listening for that event and once triggered creates a new instance
of the process! We use them in different contexts, If we have a process that can be triggered
by different events we use multiple starts events, while if during a process execution we
have to wait for different events in order to proceed, we use eventbased gateways and the
gateway will be “listening” only when a token reach it.
“An activity can have two or more different start events as input, as shown in F
one of them occurs, a new instance is created and the token flows. Notice that the start event “listens”
to events only when there is no instance active. Once the in stance is active, start events do not wait
for events to arrive in that instance (a different instance will be generated if another such event
arrives). This pair of start events is therefore analo gous to a multiple start event.” p. 67
What is the purpose of start events in BPMN and in process modelling in general?
Why is it important to model start events accurately?
The allow us to clearly model when or under what condition a process instance will start. It
can be associated to a trigger (such as the arrival of a message or at a certain time) or it can
be started when someone in the organization decides to.
What is the difference between error and terminate end events?
Both error and terminate events terminate all activities. But with the Error Event an error is
thrown and it can be catched only by an error intermediate event or by a boundary catching
What is an ad hoc subprocess? When is it useful?
Ad hoc subprocesses are a collection of activities without a prescribed order or flow. Ad hoc
subprocesses provide a more flexible way to specify ordering among activities, or, rather,
they allow to avoid specifying ordering among activities. They can be in parallel or sequential
mode. They allow to avoid specifying order between activities. They are useful when we
don't want to specify an order constraint.
one works like this: at the start, all activities without input flows are enabled.
In a sequential
subprocess, we have the same flexibility of choice but we can activate only
one activity at a time.
What is the difference between a parallel multiinstance and a parallel ad hoc
A parallel multiinstance activity executes in parallel multiple instances of the same activity.
Is An ad hoc subprocess can execute in parallel different activities.
What is the difference between a multiinstance sequential and a a multiinstance
A multiinstance sequential task execute multiple instances of the same activity one after the
other while the parallel one execute all of them at the same time, in parallel.
When should we use an event subprocess instead of simply using event nodes?
We should use an event subprocess when we want to reduce complexity of the diagram and
maintain it all at the same level of abstraction.
Event subprocess can be used also when the interested event can be triggered during the
execution of the overall process.
These subprocesses are not part of the normal flow, but they are activated when the specific
event is triggered.
The event subprocesses are the dotted boxes that are not part of the flow :). They are useful
for capturing specific events without interrupting the normal flow of the process. These
events can happen at any time during the process, so if you tried to model the same thing
with event nodes, you would have to listen for events at every step (e.g. with boundary
When should we use send and receive tasks instead of send and receive event
We should use send and receive tasks instead of event nodes when the action to be
performed is not just to send or receive a message but it requires also work to be done.
Which is the difference between public and private processes? what is the relation
A private process describes how a process is run and what tasks is made of from the
internal point of view of the organization. A public processes is a view of the private process
from the perspective of an external participant and it defines whatever the other participants
need to know to interact with the service.
What does a task in a choreography represent?
A task in choreography is a message exchange pattern. It can be oneway, requestreply or
multiparty message exchange. It represents the interactions in terms of information
exchange between two entities.
Can we use an xor gateway in a choreography, and if we can, which are the rules we
need to follow?
In a choreography we can use XOR gateway only if all participants that initiate actions after
the gateway, are able to evaluate the gateway. If they are not they must implement an
eventbased gateway and be ready to alternatives.
What is the purpose and intended usage of choreographies?
Choreographies are used to describe the flow of interactions and coordination between
participants and define the sequence and conditions of the exchange of messages.
Choreographies are used for topdown design of a service delivered in collaboration by
multiple participants. With the choreography we are able to derive the public processes of
What is the difference between a regular subprocess and a transaction subprocess?
What is an ACID transaction and what are the ACID properties?
An ACID transaction is a logical unit of execution, a set of data operation that must be
executed as a whole. ACID stands for Atomicity (the operations must be executed all of
them or none of them), Consistency (the database must be in a correct state after the
execution), Isolation (updated must not be visible before committed), Durability (if the
changes are committed they must not be lost because of subsequent failure).
Why ACIDity is sometimes i) not achievable and ii) not desirable in BPM?
What is two phase commit and when it is used?
2phase commit is a protocol for achieving ACIDity among multiple participants where both
parties first agree to attempt the transaction, then all must agree to either go forward with the
entire unit of work or not.
Key performance metrics:
● Flow time (T) (or throughput time): Total time spent by flow unit in a process from
start to end. Measured in units of time (minutes, seconds..). Reducing flow time
+1 anno fa
I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher tito1992 di informazioni apprese con la frequenza delle lezioni di Laboratory of business process management e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Trento - Unitn o del prof Casati Fabio.
Acquista con carta o conto PayPal
Scarica il file tutte le volte che vuoi
Paga con un conto PayPal per usufruire della garanzia Soddisfatto o rimborsato