artifact-centric modeling using bpmn
DESCRIPTION
Workshop presentation given by Niels Lohmann on December 5, 2011 in Paphos, Cyprus at the 6th International Workshop on Engineering Service-Oriented Applications (WESOA'11).TRANSCRIPT
Niels LohmannMartin Nyolt
ARTIFACT-CENTRICMODELING
USING BPMN
DATA IN BPMN 1
remotelyaccessible
data objects
filldebit
Debit[empty]
Debit[filled]
send debit
order beer
oderwine
Order[undec.][unpaid]
Order[beer][paid]
Order[wine][paid]
receive cargo
process debit
usedebit
Debit[filled]
Debit[proc-essed]
Debit[used]
register payment
loadbeer
loadwine
send cargo
Cargo[un-
loaded]
Cargo[beer]
Cargo[wine]
Cargo[beer]
Cargo[wine]
Order[beer]
[unpaid]
Order[wine]
[unpaid]
Ship
per
Buye
r
Debit Cargo
DATA IN BPMN - LIMITS 2
remotelyaccessible
data objects
Order[undec.][unpaid]
Order[beer][paid]
Order[wine][paid]
Order[beer][unpaid]
Order[wine][unpaid]
REMOTE ACCESS
DATA IN BPMN - LIMITS 2
remotelyaccessible
data objects
Order[undec.][unpaid]
Order[beer][paid]
Order[wine][paid]
Order[beer][unpaid]
Order[wine][unpaid]
REMOTE ACCESSreceive cargo
send cargo
Cargo[beer]
Cargo
Cargo[beer]
TRANSFEROF DATA OBJECT
DATA IN BPMN - LIMITS 2
remotelyaccessible
data objects
Order[undec.][unpaid]
Order[beer][paid]
Order[wine][paid]
Order[beer][unpaid]
Order[wine][unpaid]
REMOTE ACCESS
Order[beer][paid]
Order[wine][paid]
register payment
Order[beer][unpaid]
Order[wine][unpaid]
COMPOUND DATA OBJECTS
receive cargo
send cargo
Cargo[beer]
Cargo
Cargo[beer]
TRANSFEROF DATA OBJECT
ARTIFACT-CENTRIC MODELING 3
QUOTEORDER
INVOICECARGO
ARTIFACT-CENTRIC MODELING 3
QUOTEORDER
INVOICECARGO
“NOUN-CENTRIC”
ARTIFACT-CENTRIC MODELING 3
QUOTEORDER
INVOICECARGO
“NOUN-CENTRIC”DECLARATIVE
ARTIFACT-CENTRIC MODELING 3
QUOTE
CREATEDACCEPTEDREJECTED
RECEIVEDCONFIRMEDFILED
SENTPAID ASSEMBLED
PACKAGEDSHIPPED
ORDER
INVOICECARGO
“NOUN-CENTRIC”DECLARATIVE
ARTIFACT-CENTRIC MODELING 3
QUOTE
CREATEDACCEPTEDREJECTED
RECEIVEDCONFIRMEDFILED
SENTPAID ASSEMBLED
PACKAGEDSHIPPED
ORDER
INVOICECARGO
“NOUN-CENTRIC”DECLARATIVE
ARTIFACTS 4
REJECTED
CREATED
ACCEPTED
EMPTYOBJECT LIFE CYCLEMODELS ARTIFACT’S EVOLUTION
[LOHMANN AND WOLF, ICSOC 2010]
QUOTE
ARTIFACTS 4
REJECTED
CREATED
ACCEPTED
EMPTYOBJECT LIFE CYCLEMODELS ARTIFACT’S EVOLUTION
SELLER
CUSTOMER
AGENTSMAY EXECUTE ARTIFACT’S TASKS
[LOHMANN AND WOLF, ICSOC 2010]
CUSTOMER
QUOTE
ARTIFACTS 4
REJECTED
CREATED
ACCEPTED
EMPTYOBJECT LIFE CYCLEMODELS ARTIFACT’S EVOLUTION
SELLER
CUSTOMER
@ SELLERAGENTSMAY EXECUTE ARTIFACT’S TASKS
@ SELLER
LOCATIONSINFLUENCE EXECUTABILITY
[LOHMANN AND WOLF, ICSOC 2010]
CUSTOMER
QUOTE
PROCESS SYNTHESIS 5
ARTIFACTS+ AGENTS+ LOCATIONS
POLICIES
GOAL STATES
9>>>>>>=
>>>>>>;
!✔
COMPLIANCERULES
CONTRACT
SOUND + COMPLIANT BUSINESS PROCESS(CHOREOGRAPHY)
[LOHMANN AND WOLF, ICSOC 2010]
PROCESS SYNTHESIS WITH PETRI NETS 6
ARTIFACTS+ AGENTS+ LOCATIONS
POLICIES
GOAL STATES
9>>>>>>=
>>>>>>;COMPLIANCERULES
TOOL SUPPORT
SOUND + COMPLIANT BUSINESS PROCESS (CHOREOGRAPHY)
[LOHMANN AND WOLF, ICSOC 2010]
MENU 7
1
2
3
4
ARTIFACT-CENTRIC MODELING
ARTIFACTS + OBJECT LIFE CYCLES
LOCATIONS + MESSAGE EXCHANGE
POLICIES + GOAL STATES
ARTIFACTS 7
Debit Cargo
Order
OBJECT LIFE CYCLES 8
Cargoloadbeer
Shipper
loadwine
Shipper
unloaded
wine loaded
beer loaded Orderorderbeer
Buyer
orderwineBuyer
undecided
wine ordered
beer orderedregisterpayment
Sellerunpaid paid
Debit
fill
Buyer
process
Shipper
use
Shipperfilledempty processed used
OBJECT LIFE CYCLES 8
Cargoloadbeer
Shipper
loadwine
Shipper
unloaded
wine loaded
beer loaded Orderorderbeer
Buyer
orderwineBuyer
undecided
wine ordered
beer orderedregisterpayment
Sellerunpaid paid
Debit
fill
Buyer
process
Shipper
use
Shipperfilledempty processed used
INITIAL STATE
OBJECT LIFE CYCLES 8
Cargoloadbeer
Shipper
loadwine
Shipper
unloaded
wine loaded
beer loaded Orderorderbeer
Buyer
orderwineBuyer
undecided
wine ordered
beer orderedregisterpayment
Sellerunpaid paid
Debit
fill
Buyer
process
Shipper
use
Shipperfilledempty processed used
FINAL STATE
INITIAL STATE
OBJECT LIFE CYCLES 8
Cargoloadbeer
Shipper
loadwine
Shipper
unloaded
wine loaded
beer loaded Orderorderbeer
Buyer
orderwineBuyer
undecided
wine ordered
beer orderedregisterpayment
Sellerunpaid paid
Debit
fill
Buyer
process
Shipper
use
Shipperfilledempty processed used
FINAL STATE
INITIAL STATEEXECUTING AGENT
MENU 9
1
2
3
4
ARTIFACT-CENTRIC MODELING
ARTIFACTS + OBJECT LIFE CYCLES
LOCATIONS + MESSAGE EXCHANGE
POLICIES + GOAL STATES
LOCATIONS AND MESSAGE EXCHANGE 9
Debit
fill
Buyer
process
Shipper
use
Shipperfilledempty processed used
ShipperBuyer
LOCATIONS AND MESSAGE EXCHANGE 9
Debit
fill
Buyer
process
Shipper
use
Shipperfilledempty processed used
ShipperBuyer
LOCATION “AT THE BUYER”
LOCATIONS AND MESSAGE EXCHANGE 9
Debit
fill
Buyer
process
Shipper
use
Shipperfilledempty processed used
ShipperBuyer
LOCATION “AT THE BUYER”
COMMUNICATION CHANNELS
LOCATIONS AND MESSAGE EXCHANGE 9
Debit
fill
Buyer
process
Shipper
use
Shipperfilledempty processed used
ShipperBuyer
LOCATION “AT THE BUYER”
COMMUNICATION CHANNELS
INITIAL LOCATION
REMOTE ACCESS 10
Orderorderbeer
Buyer
orderwine
Buyer
undecided
wine ordered
beer orderedregisterpayment
Shipperunpaid paid
REMOTE ACCESS 10
Orderorderbeer
Buyer
orderwine
Buyer
undecided
wine ordered
beer orderedregisterpayment
Shipperunpaid paid
SHIPPER HAS REMOTE ACCESS
REMOTE ACCESS 11
Poll
participatein poll
Participant participated
createpoll
Initiator created
URL URL
http://doodle.com/n5i4xqdrvn68p8g7
REMOTE ACCESS 11
Poll
participatein poll
Participant participated
createpoll
Initiator created
URL URL
REMOTE ACCESS IS GRANTED
http://doodle.com/n5i4xqdrvn68p8g7
MENU 12
1
2
3
4
ARTIFACT-CENTRIC MODELING
ARTIFACTS + OBJECT LIFE CYCLES
LOCATIONS + MESSAGE EXCHANGE
POLICIES + GOAL STATES
POLICIES 12
Policy 1
Orderregister paymentShipper
Cargoloadwine
Shipper
Cargoloadbeer
Shipper
CargoOrder
POLICIES 12
Policy 1
Orderregister paymentShipper
Cargoloadwine
Shipper
Cargoloadbeer
Shipper
CargoOrder
CONSTRAIN ODER OF ACTIONS
GOAL STATES 13
CargoOrder
beer loaded
wine loaded
beer ordered
wine ordered
paid
Buyer
GOAL STATES 13
CargoOrder
beer loaded
wine loaded
beer ordered
wine ordered
paid
Buyer
SPECIAL VIEW: SHOW ONLY FINAL STATES
GOAL STATES 13
CargoOrder
beer loaded
wine loaded
beer ordered
wine ordered
paid
Buyer
MAKE THIS COMBINATION VALID
SPECIAL VIEW: SHOW ONLY FINAL STATES
ARTIFACT CENTRIC MODEL 14Debit
fill
Buyer
process
Shipper
use
Shipperfilledempty processed used
ShipperBuyer
Orderorderbeer
Buyer
orderwine
Buyer
undecided
wine ordered
beer orderedregisterpayment
Shipperunpaid paid
Cargo
loadbeer
Shipper
loadwine
Shipper
unloaded
wine loaded
beer loaded
Shipper Buyer
Policy 2
Orderregister paymentShipper
Debit
fillBuyer
Debit
Shipper
Policy 4Debit
fillBuyer
Debitsend to
buyerBuyer
Policy 3Cargoloadbeer
Shipper
Cargoloadwine
Shipper
Cargosend to
buyerShipper
Policy 1
Orderregister paymentShipper
Cargoloadwine
Shipper
Cargoloadbeer
Shipper
TAKE HOME POINTS 15
DATA OBJECTS ARE FIRST CLASS CITIZENS
PROCESS IS DESCRIBED IN TERMS OF ARTIFACTS
ONLY FEW ADJUSTMENTS TO BPMN REQUIRED
EXTENSION HAS FORMAL SEMANTICS
SMALLER PARTITION OF THE PROCESS
STEP TOWARDS CORRECTNESS BY DESIGNCONTRACT