EXERCISES 4
Exercise 4.1 Identify suitable sub-processes in the process for assessing
loan applications modeled in Exercise 3.5.
Hint Use the building blocks that you created throughout Exercises 3.1–
3.4.
Solution 4.1
Exercise 4.2 Identify suitable sub-processes in the business process of
Exercise 1.7. Among these sub-processes, identify those that are specific
to this business process versus those that can potentially be shared with
other business processes of the same company.
Solution 4.2 Possible sub-processes are “Request purchase”, “Issue
purchase order”, “Receive goods” and “Handle invoice”. Of these, “Handle
invoice” could be shared with other procure-to-pay processes of the same
company, e.g. with that described in Example 1.1 for BuildIT. The first
three sub-processes are internal to this procure-to-pay process, because
they are specific to the enterprise system that supports this process.
Exercise 4.3
1. Identify the entry and exit points that delimit the unstructured cycles in
the process models shown in Solution 3.4 and in Exercise 3.9. What are
the repetition blocks?
2. Model the business process of Solution 3.4 using a loop activity.
Solution 4.3
1. In Exercise 3.9 the repetition block goes from activity “Record claim” to
activity “Review claim rejection”. The entry point to the cycle is the input
arc of activity “Record claim”; the exit points are arcs “claim to be
accepted” and “claim rejection accepted”, the former being inside the
repetition block.
2. In Solution 3.4 the repetition block is made up of activities “Check
application form completeness”, “Return application back to applicant”
and “Receive updated application”. The entry point to the cycle is the
outgoing arc of the XORsplit, while the exit point is the arc “form
complete” which is inside the repetition block. To model this cycle with a
loop activity, we need to repeat activity “Check application form
completeness” outside the loop activity, as shown below.
In this case using a loop activity is still advantageous, since we reduce the
size
of the original model if we collapse the sub-process.
Exercise 4.4 Model the following process fragment.
After a car accident, a statement is sought from two witnesses out of the
five that were present, in order to lodge the insurance claim. As soon as
the first two statements are received, the claim can be lodged with the
insurance company without waiting for the other statements.
Solution 4.4
Exercise 4.5 Model the following process snippet.
A typical army recruitment process starts by shortlisting all candidates’
applications. Those shortlisted are then called to sit the following tests:
drug and alcohol, eye, color vision, hearing, blood, urine, weight,
fingerprinting and doctor examination. The color vision can only be done
after the eye test, while the doctor examination can only be done after
color vision, hearing, blood, urine and weight have been tested. Moreover,
it may be required for some candidates to repeat some of these tests
multiple times in order to get a correct assessment, e.g. the blood test
may need to be repeated if the candidate has taken too much
sugar in the previous 24 hours. The candidates that pass all tests are
asked to sit a mental exam and a physical exam, followed by an interview.
Only those that also pass these two exams and perform well in the
interview can be recruited in the army.
Solution 4.5
Exercise 4.6 Is there any other activity in the loan assessment model of
Solution 3.7 that can be replaced by a message event?
Solution 4.6
Activity “Send acceptance pack” can be replaced by an intermediate send
message event; activities “Notify cancelation” and “Notify approval” can
each be replaced by an end message event, thus removing the last XOR-
join and the untyped end event altogether. Note that activity “Send home
insurance quote” cannot be replaced by a message event since it sub-
sumes the preparation of the quote. In fact, a more appropriate label for
this activity would be “Prepare home insurance quote”. Similarly, we can-
not get rid of activity “Reject application” as this activity changes the sta-
tus of the application before sending the latter out.
Exercise 4.7 Model the billing process of an Internet Service Provider
(ISP).
The ISP sends an invoice by email to the customer on the first working day
of each month
(Day 1). On Day 7, the customer has the full outstanding amount
automatically debited from their bank account. If an automatic transaction
fails for any reason, the customer is notified on Day 8. On Day 9, the
transaction that failed on Day 7 is re-attempted. If it fails again, on Day 10
a late fee is charged to the customer’s bank account. At this stage, the
automatic payment is no longer attempted. On Day 14, the Internet
service is suspended until payment is received. If on Day 30 the payment
is still outstanding, the account is closed and a disconnection fee is
applied. A debt-recovery procedure is then started.
Solution 4.7
Exercise 4.8 Model the following process.
A restaurant chain submits a purchase order (PO) to replenish its
warehouses every Thursday. The restaurant chain’s procurement system
expects to receive either a “PO Response” or an error message. However,
it may also happen that no response is received at all due to system
errors or due to delays in handling the PO on the supplier’s side. If no
response is received by Friday afternoon or if an error message is
received, a purchasing officer at the restaurant chain’s headquarters
should be notified. Otherwise, the PO Response is processed normally.
Solution 4.8
Exercise 4.9 Fix the collaboration diagram in Fig. 4.17.
Solution 4.9
Exercise 4.10 Revise the examples presented so far in this chapter, by
using the
terminate event appropriately.
Solution 4.10
The following end events should be terminate events: Fig. 4.12—“callover
deferred”, Fig. 4.14—“Quote rejected” in the Client and Insurer pools, Fig.
4.18—“Offer rejected” in the Customer pool, “Offer canceled” in the Travel
Agency pool and “Payment refused” in the Airline pool.
Exercise 4.11 Model the following routine for logging into an Internet
bank account. The routine for logging into an Internet bank account starts
once the credentials entered from the user have been retrieved. First, the
username is validated. If the username is not valid, the routine is
interrupted and the invalid username is logged. If the username is valid,
the number of password trials is set to zero. Then the password is
validated. If this is not valid, the counter for the number of trials is
incremented and if lower than three, the user is asked to enter the
password again, this time together with a CAPTCHA test to increase the
security level. If the number of failed attempts reaches three times, the
routine is interrupted and the account is frozen. Moreover, the username
and password validation may be interrupted should the validation server
not be available. Similarly, the server to test the CAPTCHA may not be
available at the time of log in. In these cases, the procedure is interrupted
after notifying the user to try again later. At any time during the log in
routine, the customer may close the web-page, resulting in the
interruption of the routine.
Solution 4.11
Exercise 4.12 Model the following process fragment.
Once a wholesale order has been confirmed, the supplier transmits this
order to the carrier for the preparation of the transportation quote. In
order to prepare the quote, the carrier needs to compute the route plan
(including all track points that need to be traversed during the travel) and
estimate the trailer usage (e.g. whether it is a full track-load, half track-
load or a single package). By contract, wholesale orders have to be
dispatched within four days from the receipt of the order. This implies that
transportation quotes have to be prepared within 48 hours from the
receipt of the order to remain within the terms of the contract.
Solution 4.12
Exercise 4.13 Extend the process for assessing loan applications of
Solution 3.7 as follows.
An applicant who has decided not to combine their loan with a home
insurance plan may change their mind any time before the eligibility
assessment has been completed. If a request for adding an insurance plan
is received during this period, the loan provider will simply update the
loan application with this request.
Solution 4.13
Observe that in the “Assess application” sub-process, the Loan application
can have two possible states: “checked” or “unchecked”. In order to use
the Loan application in any such state as input of activity “Add insurance
request to loan application”, we do not specify any state for this data ob-
ject in the above model.
Exercise 4.14 Model the following business process for reimbursing
expenses.
After an Expense report is received from an employee, the employee is
notified of the receipt of the report. Next, a new account must be created
if the employee does not already have one. The report is then reviewed
for automatic approval. Amounts under €1,000 are automatically
approved while amounts equal to or over €1,000 require manual approval.
In case of rejection, the employee must receive a Rejection notice by
email. In case of approval, the reimbursement is deposited directly to the
employee’s bank account. At any time during the review, the employee
can send a Request for amount rectification. In that case the rectification
is registered and the report needs to be reviewed again. Moreover, if the
report is not handled within 30 days, the process is stopped and the
employee receives a Cancelation notice email so that he can re-submit
the expense report from scratch.
Solution 4.14
Exercise 4.15 Modify the model that you created in Exercise 4.14 as
follows.
If the report is not handled within 30 days, the process is stopped, the
employee receives a cancellation notice email and must re-submit the
expense report. However, if the reimbursement for the employee’s
expenses had already been made, a money recall needs to be made, to
get the money back from the employee, before sending the cancellation
notice email.
Solution 4.15
Exercise 4.16 Model the following business process snippet.
In a stock exchange, stock price variations are continuously monitored
during the day. A day starts when the opening bell rings and concludes
when the closing bell rings. Between the two bells, every time the stock
price changes by more than 10 %, the entity of the change is first
determined. Next, if the change is high, a “high stock price” alert is sent,
otherwise a “low stock price” alert is sent.
Solution 4.16
In this solution we did not use a boundary event to stop the sub-process
for monitoring stock price changes since this way, the sub-process would
only stop because of an exception. Rather, we used the loop condition to
allow the sub-process to complete normally, i.e. without being interrupted.
Exercise 4.17 The choreography below illustrates the interactions that
may occur among a seller, a customer and a carrier after the freight has
been delivered by the carrier to the client. Use this diagram as a template
to build the corresponding collaboration diagram. Observe the use of the
terminate event in this example. In a choreography this event can only be
used to denote a negative outcome and not to forcefully terminate the
choreography, since the parties not involved in the interaction preceding
the terminate event would not know that the terminate event has been
reached.
Exercise 4.18 Model the choreography and collaboration diagrams for
the following mortgage application process at BestLoans. The mortgage
application process starts with the receipt of a mortgage application from
a client. When an application is sent in by the client to the broker, the
broker may either deal with the application themselves, if the amount of
the mortgage loan is within the mandate the broker has been given by
BestLoans, or forward the application to BestLoans. If the broker deals
with the application themselves, this results in either a rejection or an
approval letter being sent back to the client. If the broker sends an
approval letter, then it forwards the details of this application to BestLoans
so that from there on the client can interact directly with BestLoans for the
sake of disbursing the loan. In this case, BestLoans registers the
application and sends an acknowledgment to the client.
The broker can only handle a given number of clients at a time. If the
broker is not able to reply within one week, the client must contact
BestLoans directly. In this case, a reduction on the interest rate is applied
should the application be approved. If BestLoans deals with the
application directly, its mortgage department checks the credit of the
client with the Bureau of Credit Registration. Moreover, if the loan amount
is more than 90 % of the total cost of the house being purchased by the
client, the mortgage department must request a mortgage insurance offer
from the insurance department. After these interactions BestLoans either
sends an approval letter or a rejection to the broker, which the broker then
forwards to the client (this interaction may also happen directly between
the mortgage department and the client if no broker is involved).
After an approval letter has been submitted to the client, the client may
either accept or reject the offer by notifying this directly to the mortgage
department. If the mortgage department receives an acceptance
notification, it writes a deed and sends it to an external notary for
signature. The notary sends a copy of the signed deed to the mortgage
department. Next, the insurance department starts an insurance contract
for the mortgage. Finally, the mortgage department submits a
disbursement request to the financial department. When this request has
been handled, the financial department notifies the client directly.
Any time during the application process, the client may inquire about the
status of their application with the mortgage department or with the
broker, depending on which entity is dealing with the client. Moreover, the
client may request the cancellation of the application.
In this case the mortgage department or the broker computes the
application processing fees, which depend on how far the application
process is, and communicates these to the client. The client may reply
within two days with a cancellation confirmation, in which case the
process is canceled, or with a cancellation withdrawal, in which case the
process continues. If the process has to be canceled, BestLoans may need
to first recall the loan (if the disbursement has been done), then annul the
insurance contract (if an insurance contract has been drawn) and finally
annul the deed (if a deed has been drawn).