Title: An Enactment Engine Based on Use Cases
1- An Enactment Engine Based on Use Cases
- Avner Ottensooser and Alan Fekete
- School of Information Technologies, University of
Sydney, Australia - avner,fekete_at_it.usyd.edu.au
- Pages 230-245 in the conference listings
- Presenter - Avner Ottensooser
2Overview
- Agenda
- What is it to be use case driven?
- Resolution of two classes of ambiguities in use
cases. - Use case driven WF Engine.
- Expected outcome
- The listener will be aware of the possibility to
configure a WF engine from use cases
3Being Use Case Driven
- When we wish to change the systems
behaviour, - we remodel the appropriate Actor and Use
Case. - With the changed Use Case Model in hand,
we change other models (object, analysis,
design , implementation and testing). - When we design systems this way, the
system model will be Use Case Driven. - Jacobson 1992
4Written Use Case
Use case name Apply to invest money in a
fund Main success scenario 1. The mail room
scans the application form to the imaging system.
2. The data entry person keys the deposit to
the system. 3. The system sends transaction
confirmation to the investor. 4. The process
ends. Extensions 2a. The application is for
more than AU1,000,000 2a1. The Senior Data
Entry Person also keys the deposit. 2a2.
The system reconciles the two data entries.
2a2. The flow continues at line 3 2a2a. The
reconciliation failed ! OR-Split 2a2a1.
The system sends the two data entries to the
senior data entry. 2a2a2. Senior data
entry corrects the data in the system
2a2a3. The flow continues at line 3 2b. The form
arrived unsigned. ! OR-Split 2b1. The Data
Entry Person calls the Investor, requesting a
signed form. 2b2. The current process ends
(the signed application will restart the
process). 2b3. The process ends.
5Attributes
Use case name Apply to invest money in a
fund Main success scenario 1. The mail room
scans the application form to the imaging system.
2. The data entry person keys the deposit to
the system. 3. The system sends transaction
confirmation to the investor. 4. The process
ends. Extensions 2a. The application is for
more than AU1,000,000 2a1. The Senior Data
Entry Person also keys the deposit. 2a2.
The system reconciles the two data entries.
2a2. The flow continues at line 3 2a2a. The
reconciliation failed ! OR-Split 2a2a1.
The system sends the two data entries to the
senior data entry. 2a2a2. Senior data
entry corrects the data in the system
2a2a3. The flow continues at line 3 2b. The form
arrived unsigned. ! OR-Split 2b1. The Data
Entry Person calls the Investor, requesting a
signed form. 2b2. The current process ends
(the signed application will restart the
process). 2b3. The process ends.
6Action Steps
Use case name Apply to invest money in a
fund Main success scenario 1. The mail room
scans the application form to the imaging
system. 2. The data entry person keys the
deposit to the system. 3. The system sends
transaction confirmation to the investor. 4.
The process ends. Extensions 2a. The
application is for more than AU1,000,000
2a1. The Senior Data Entry Person also keys the
deposit. 2a2. The system reconciles
the two data entries. 2a2. The flow
continues at line 3
7Action Step syntax
- Subject verb direct object .. Propositional
phrase - The system deducts the amount from account
balance -
-
Cockburn 2001
8Ambiguity 1 Replacement
Use case name Apply to invest money in a
fund Main success scenario 1. The mail room
scans the application form to the imaging system.
2. The data entry person keys the deposit to the
system. 3. The system sends transaction
confirmation to the investor. 4. The process
ends. Extensions 2a. The application is for
more than AU1,000,000 2a1. The Senior Data
Entry Person also keys the deposit. 2a2. The
system reconciles the two data entries. 2a2.
The flow continues at line 3 2a2a. The
reconciliation failed ! OR-Split 2a2a1.
The system sends the two data entries to the
senior data entry. 2a2a2. Senior data
entry corrects the data in the system
2a2a3. The flow continues at line 3 2b. The form
arrived unsigned. ! OR-Split 2b1. The Data
Entry Person calls the Investor, requesting a
signed form. 2b2. The process ends
9XOR Notation rectifies ambiguity 1
Use case name Apply to invest money in a
fund Main success scenario 1. The mail room
scans the application form to the imaging system.
2. The data entry person keys the deposit to the
system. 3. The system sends transaction
confirmation to the investor. 4. The process
ends. Extensions Action steps (2b1 through 2b3)
replace action steps (2, 2a and 3)!XOR 2a. The
application is for more than AU1,000,000
2a1. The Senior Data Entry Person also keys the
deposit. 2a2. The system reconciles the two
data entries. 2a2. The flow continues at line
3 2a2a. The reconciliation failed !
OR-Split 2a2a1. The system sends the
two data entries to the senior data entry.
2a2a2. Senior data entry corrects the data in
the system 2a2a3. The flow continues
at line 3 2b. The form arrived unsigned. !
OR-Split 2b1. The Data Entry Person calls the
Investor, requesting a signed form. 2b2. The
process ends.
10Ambiguity 2 Parallelism
Use case name Apply to invest money in a
fund Main success scenario 1. The mail room
scans the application form to the imaging system.
2. The data entry person keys the deposit to the
system. 3. The system sends transaction
confirmation to the investor. 4. The process
ends. Extensions 2a. The application is for
more than AU1,000,000 2a1. The Senior Data
Entry Person also keys the deposit. 2a2. The
system reconciles the two data entries.
2a2. The flow continues at line 3 2a2a. The
reconciliation failed ! OR-Split 2a2a1.
The system sends the two data entries to the
senior data entry. 2a2a2. Senior data
entry corrects the data in the system
2a2a3. The flow continues at line 3 2b. The form
arrived unsigned. ! OR-Split 2b1. The Data
Entry Person calls the Investor, requesting a
signed form. 2b2. The process ends.
11Order notation rectifies ambiguity 2
Use case name Apply to invest money in a
fund Main success scenario 1. The mail room
scans the application form to the imaging system.
Order 1 2. The data entry
person keys the deposit to the system.
Order 2 3. The system sends
transaction confirmation to the investor.
Order 6 4. The process ends.
Order 7 Extensions 2a. The
application is for more than AU1,000,000
2a1. The Senior Data Entry Person also keys the
deposit.
Order 2 2a2. The system reconciles the
two data entries.
Order 3 2a2. The flow continues at line
3 2a2a. The reconciliation failed !
OR-Split 2a2a1. The system sends the
two data entries to the senior data entry.
Order 4 2a2a2. Senior data entry
corrects the data in the system
Order 5 2a2a3. The flow continues at
line 3 2b. The form arrived unsigned. !
OR-Split 2b1. The Data Entry Person calls the
Investor, requesting a signed form.
Order 2 2b2. The process ends.
12Now we start talking about use case driven WF
engines
13WF item arrives
14Engine sends an Work item Message 1of3
Use case name Apply to invest money in a
fund Main success scenario 1. The mail room
scans the application form to the imaging
system. 2. The data entry person keys the deposit
to the system. 3. The system sends transaction
confirmation to the investor. 4. The process
ends. Extensions 2a. The application is for
more than AU1,000,000 2a1. The Senior Data
Entry Person also keys the deposit. 2a2.
The system reconciles the two data entries.
2a2. The flow continues at line 3 2a2a.
The reconciliation failed 2a2a1. The
system sends the two data entries to the senior
data entry. 2a2a2. Senior data entry
corrects the data in the system.
2a2a3. The flow continues at line 3 2b. The
form arrived unsigned. 2b1. The Data Entry
Person calls the Investor, requesting a signed
form. 2b2. The process ends (the signed
application will restart the process).
15Pilot indexes the work item
Use case name Apply to invest money in a
fund Main success scenario 1. The mail room
scans the application form to the imaging
system. 2. The data entry person keys the deposit
to the system. 3. The system sends transaction
confirmation to the investor. 4. The process
ends. Extensions 2a. The application is for
more than AU1,000,000 2a1. The Senior Data
Entry Person also keys the deposit. 2a2.
The system reconciles the two data entries.
2a2. The flow continues at line 3 2a2a.
The reconciliation failed 2a2a1. The
system sends the two data entries to the senior
data entry. 2a2a2. Senior data entry
corrects the data in the system.
2a2a3. The flow continues at line 3 2b. The
form arrived unsigned. 2b1. The Data Entry
Person calls the Investor, requesting a signed
form. 2b2. The process ends (the signed
application will restart the process).
16Engine sends Work item Message 2of3
Use case name Apply to invest money in a
fund Main success scenario 1. The mail room
scans the application form to the imaging
system. 2. The data entry person keys the deposit
to the system. 3. The system sends transaction
confirmation to the investor. 4. The process
ends. Extensions 2a. The application is for
more than AU1,000,000 2a1. The Senior Data
Entry Person also keys the deposit. 2a2.
The system reconciles the two data entries.
2a2. The flow continues at line 3 2a2a.
The reconciliation failed 2a2a1. The
system sends the two data entries to the senior
data entry. 2a2a2. Senior data entry
corrects the data in the system.
2a2a3. The flow continues at line 3 2b. The
form arrived unsigned. 2b1. The Data Entry
Person calls the Investor, requesting a signed
form. 2b2. The process ends (the signed
application will restart the process).
17Pilot prescribes attributes
Use case name ? Apply to invest money in a
fund Main success scenario 1. The mail room
scans the application form to the imaging system.
Order 1 2. The data entry person keys the
deposit to the system. Order 2 ! Parallel to
2a 3. The system sends transaction confirmation
to the investor. Order 6 4. The process ends.
Order 7 Extensions Action (steps 2b1 and 2b2)
replace action steps (2 and 3) 2a. ? The
application is for more than AU1,000,000
2a1. The Senior Data Entry Person also keys the
deposit. 2a2. The system reconciles the two
data entries. 2a2. The flow continues at
line 3 2a2a. ? The reconciliation failed
2a2a1. The system sends the two data entries
to the senior data entry. 2a2a2.
Senior data entry corrects the data in the
system. 2a2a3. The flow continues at
line 3 2b. ? The form arrived unsigned.
2b1. The Data Entry Person calls the Investor,
requesting a signed form. 2b2. The process
ends.
18Engine sends Work item Attributes Messages
Use case name Apply to invest money in a
fund Main success scenario 1. The mail room
scans the application form to the imaging
system. 2. The data entry person keys the deposit
to the system. 3. The system sends transaction
confirmation to the investor. 4. The process
ends. Extensions 2a. The application is for
more than AU1,000,000 2a1. The Senior Data
Entry Person also keys the deposit. 2a2.
The system reconciles the two data entries.
2a2. The flow continues at line 3 2a2a.
The reconciliation failed 2a2a1. The
system sends the two data entries to the senior
data entry. 2a2a2. Senior data entry
corrects the data in the system.
2a2a3. The flow continues at line 3 2b. The
form arrived unsigned. 2b1. The Data Entry
Person calls the Investor, requesting a signed
form. 2b2. The process ends. (the signed
application will restart the process).
19Engine sendsaction step messages 1of3
Use case name Apply to invest money in a
fund Main success scenario ? The mail room
scans the application form to the imaging
system. ? The data entry person keys the deposit
to the system. ? The system sends transaction
confirmation to the investor. ? The process
ends. Extensions ? The application is for
more than AU1,000,000 ? The Senior Data Entry
Person also keys the deposit. ? The system
reconciles the two data entries. ? The flow
continues at line 3 ? The reconciliation
failed ? The system sends the two data
entries to the senior data entry. ?
Senior data entry corrects the data in the
system. ? The flow continues at line
3 ? The form arrived unsigned. ? The
Data Entry Person calls the Investor, requesting
a signed form. ? The process ends.
20Engine assembles work list
Use case name Apply to invest money in a
fund Main success scenario ? The mail room
scans the application form to the imaging system.
Order 1 ? The data entry person keys the
deposit to the system. ? The system sends
transaction confirmation to the investor. 4. The
process ends. Order 7 Extensions Action
(steps 2b1 and 2b2) replace action steps (2 and
3) 2a. The application is for more than
AU1,000,000 ? The Senior Data Entry Person
also keys the deposit. ? The system
reconciles the two data entries. ? The flow
continues at line 3 2a2a. The
reconciliation failed 2a2a1. The
system sends the two data entries to the senior
data entry. 2a2a2. Senior data entry
corrects the data in the system.
2a2a3. The flow continues at line 3 2b. The
form arrived unsigned. 2b1. The Data Entry
Person calls the Investor, requesting a signed
form. 2b2. The process ends.
21Processor requests a work list
22Engine sendsaction step messages 2of3
Use case name Apply to invest money in a
fund Main success scenario ? The mail room
scans the application form to the imaging
system. ? The data entry person keys the deposit
to the system. ? The system sends transaction
confirmation to the investor. ? The process
ends. Extensions ? The application is for
more than AU1,000,000 ? The Senior Data Entry
Person also keys the deposit. ? The system
reconciles the two data entries. ? The flow
continues at line 3 ? The reconciliation
failed ? The system sends the two data
entries to the senior data entry. ?
Senior data entry corrects the data in the
system. ? The flow continues at line
3 ? The form arrived unsigned. ? The
Data Entry Person calls the Investor, requesting
a signed form. ? The process ends.
23Processor performs action steps
Use case name Apply to invest money in a
fund Main success scenario ? The mail room
scans the application form to the imaging system.
Order 1 ? The data entry person keys the
deposit to the system. Order 2 ! Parallel to
2a ? The system sends transaction confirmation to
the investor. Order 6 4. The process ends.
Order 7 Extensions Action (steps 2b1 and 2b2)
replace action steps (2 and 3) 2a. The
application is for more than AU1,000,000 ?
The Senior Data Entry Person also keys the
deposit. ? The system reconciles the two
data entries. ? The flow continues at line
3 2a2a. The reconciliation failed
2a2a1. The system sends the two data entries to
the senior data entry. 2a2a2. Senior
data entry corrects the data in the system.
2a2a3. The flow continues at line 3 2b.
The form arrived unsigned. 2b1. The Data
Entry Person calls the Investor, requesting a
signed form. 2b2. The current process ends
(the signed application will restart the
process). 2b3. The process ends.
24Processor acknowledges action steps
Use case name Apply to invest money in a
fund Main success scenario ? The mail room
scans the application form to the imaging system.
Order 1 ? The data entry person keys the
deposit to the system. Order 2 ! Parallel to
2a ? The system sends transaction confirmation to
the investor. Order 6 4. The process ends.
Order 7 Extensions Action (steps 2b1 and 2b2)
replace action steps (2 and 3) 2a. The
application is for more than AU1,000,000 ?
The Senior Data Entry Person also keys the
deposit. ? The system reconciles the two
data entries. ? The flow continues at line
3 2a2a. The reconciliation failed
2a2a1. The system sends the two data entries to
the senior data entry. 2a2a2. Senior
data entry corrects the data in the system.
2a2a3. The flow continues at line 3 2b.
The form arrived unsigned. 2b1. The Data
Entry Person calls the Investor, requesting a
signed form. 2b2. The current process ends
(the signed application will restart the
process). 2b3. The process ends.
25Engine generatesaction step message 3of3
Use case name Apply to invest money in a
fund Main success scenario ? The mail room
scans the application form to the imaging
system. ? The data entry person, Jo, keyed the
deposit to the system. ? The system sends
transaction confirmation to the investor. ? The
process ends. Extensions ? The application
is for more than AU1,000,000 ? The Senior
Data Entry Person also keys the deposit. ?
The system reconciles the two data entries.
? The flow continues at line 3 ? The
reconciliation failed ? The system
sends the two data entries to the senior data
entry. ? Senior data entry corrects
the data in the system. ? The flow
continues at line 3 ? The form arrived
unsigned. ? The Data Entry Person calls the
Investor, requesting a signed form. ? The
process ends. (the signed application will
restart the process).
26WF item terminates
27Engine generates Work item Message 3of3
Use case name Apply to invest money in a
fund Main success scenario 1. The mail room
scans the application form to the imaging
system. 2. The data entry person keys the deposit
to the system. 3. The system sends transaction
confirmation to the investor. 4. The process
ends. Extensions 2a. The application is for
more than AU1,000,000 2a1. The Senior Data
Entry Person also keys the deposit. 2a2.
The system reconciles the two data entries.
2a2. The flow continues at line 3 2a2a.
The reconciliation failed 2a2a1. The
system sends the two data entries to the senior
data entry. 2a2a2. Senior data entry
corrects the data in the system.
2a2a3. The flow continues at line 3 2b. The
form arrived unsigned. 2b1. The Data Entry
Person calls the Investor, requesting a signed
form. 2b2. The process ends (the signed
application will restart the process).
28Conclusion
- Use cases
- are written anyhow
- are understood by all parties
- two inherent ambiguities were removed
- Use cases oriented work flow engine
- has a clear user interfaces
- data mine is consistent with the user interface
- are available in the market for a few years
- Our research Programme
- Prove that use case notation is rich enough to
describe industrial process - Evaluate the safety of the use cases notation
- Prove that use case notation is sufficient to
configure industrial WF - Develop a use case driven model for data mining
29- An Enactment Engine Based on Use Cases
- Avner Ottensooser and Alan Fekete
- School of Information Technologies, University of
Sydney, Australia - avner , fekete _at_it.usyd.edu.au
- Pages 230-245 in the conference listings
- Presenter - Avner Ottensooser