Measures of Central Tendency: Mean, Median and Mode
Composing Business Process with ID-Net
1. Composing Business
Process with ID-Net
Ang Chen and Didier Buchs
System Modeling and Verification Group
PNSE’07 Workshop, Juin 25-26, Siedlce, Poland
2. Outline
• Business Process (BP) Modeling
• ID-Net: Motivations
• ID-Net: Semantics
• Model Composition with ID-Net
• Example
PNSE 2007 Workshop, Siedlce, Poland 2 A.Chen
3. BP Modeling: Elements
Process production
schedule
receive collect send
order payment invoice
shipping
schedule
Each color represents an organization
Activity
Flow
Participant
PNSE 2007 Workshop, Siedlce, Poland 3 A.Chen
4. BP Modeling: Control-
Flow
production
schedule
Informal receive collect send
description oder payment invoice
shipping
schedule
shipping
order schedule
A Possible create
receive schedule invoice invoice
Control-Flow
order send
invoice
collect
payment
payment production
schedule
Receive order and collect payment can be parallel or
sequential, depending on the interpretation of the informal
model. parallel might be more flexible in this case
PNSE 2007 Workshop, Siedlce, Poland 4 A.Chen
5. BP Modeling: Data
Model
production
schedule
receive collect send
oder payment invoice
shipping
schedule
Data Model
0..* 1 1 0..1
Item Order Shipping
1 1
0..1
0..* Production
Payment
PNSE 2007 Workshop, Siedlce, Poland 5 A.Chen
6. BP Modeling:
Control-Flow Model
Dimensions
shipping
schedule
order
create
schedule
receive invoice invoice
order
send
invoice
collect
payment
? Executable
payment production
schedule
Workflow
? ?
Data Model
0..* 1 1 0..1
Item Order Shipping
1 1
0..1
0..* Production
Payment
PNSE 2007 Workshop, Siedlce, Poland 6 A.Chen
7. BP Modeling:
Approaches
• (Explicit) State-Based Model: Petri Net and its
variances, e.g. Workflow Nets, CPN
• Service-Oriented: service composition, e.g.
BPEL
• Metamodel-Based with
• Implicit state
• Explicit state (combined with State-Based
semantics)
PNSE 2007 Workshop, Siedlce, Poland 7 A.Chen
8. The CPN Solution
shipping
order schedule
schedule
a c
b d
payment production
schedule
The transition schedule uses a and b to produce c and d
(c, d)=schedule(a,b)
The relations between a,b,c,d should be defined in the PN
Forced to use the built-in data modeling mechanism (CPN ML)
SE: strong coupling between PN structure and data!
PNSE 2007 Workshop, Siedlce, Poland 8 A.Chen
9. BP Modeling and
Development
From SE’s point of view:
• The data modeling power is enough (e.g. with tuples), but
impractical in real BP development
• Structure and data of BP are too constrained each other
• Built-in, inflexible operational semantics
• CPN is designed to analyze and verify models, not for BP
development
• Same problem for other PN variances
PNSE 2007 Workshop, Siedlce, Poland 9 A.Chen
10. ID-Net: Hook Points
T
shipping
order a c schedule
Semantics is
production operationally
payment b d schedule different with CPN
T.before T.after :
T.with
Hook points (as in AOP)
T.before : Select tokens from pre-set places (access the contents of places)
T.with : Working with selected resources (access selected tokens)
T.after : Working with produced resources (access post-places)
T.around : Customized semantics for T
PNSE 2007 Workshop, Siedlce, Poland 10 A.Chen
11. ID-Net: IDs
P3: order
P1: T
shipping
Order
schedule payment
P4: shipping schedule
P2: production
Payment production schedule
schedule
Places are typed by the kind of ID
PNSE 2007 Workshop, Siedlce, Poland 11 A.Chen
12. ID-Net: IDs (cont.)
P3: order
P1: T
shipping
Order
schedule payment
P4: shipping schedule
P2: production
Payment production schedule
schedule
Tokens are IDs referring to
(concrete or not) resources
PNSE 2007 Workshop, Siedlce, Poland 12 A.Chen
13. IDtifier
• ID is independent of modeling formalism
• Presented in many kinds of applications, e.g.
security (keys), Web (e.g. URLs, cookies)
• For BP Modeling, ID is the key to:
• symbolically represent the resource (modeling phase)
• identify a concrete resource (implementation phase)
• support data model (e.g. candidate key)
PNSE 2007 Workshop, Siedlce, Poland 13 A.Chen
14. ID-Net
1. Tokens are typed IDs to identify the resources
2. Places are typed “IDs Holder”
3. The ID-Net model controls the visibility of resources
using the classical Petri Net semantics
4. Semantics of transitions can be extended by
composing other models with ID-Net model
5. External models produce and use the IDs to do specific
work
PNSE 2007 Workshop, Siedlce, Poland 14 A.Chen
15. ID-Net + Data Model:
Type Mapping
shipping
order schedule
create
receive schedule invoice invoice
order send
invoice
collect
payment
payment production
schedule
0..* 1 1 0..1
Item Order Shipping
1 1
0..1
0..* Production
Payment
PNSE 2007 Workshop, Siedlce, Poland 15 A.Chen
16. Data Manipulation
Operations (DMOs)
• DMO’s are derived from the metamodel (implied by the data
semantics of metamodel)
• In term of DB: CRUD (Create, Read, Update, Delete) operations
DMOs Pseudo code:
Entity Creation ItemID item_id= Item.Create(name, price);
OrderID order_id= Order.Create();
Relationship Creation setRelation(order_id, item_id, “has”)
setAttribute(order_id, aDate, ”date”,);
Entity Removal Item.Delete(item_id);
Relationship Removal RemoveRelation(order_id, item_id, “has”);
PNSE 2007 Workshop, Siedlce, Poland 16 A.Chen
17. DMOs: Motivation
• Real-world BPs are constructed on and supported
by DB systems
• Activities of BPs are composed of data manipulation
(in memory)and data persistence(with DBMS)
• Data manipulation are relied principally the domain
data model
• DMOs are services provided by DBMS
• ID is the key to access the data
PNSE 2007 Workshop, Siedlce, Poland 17 A.Chen
18. Model Composition
• Specify the composition: synchronize the PN
transition with the DMOs (similar to service
composition)
• Using the temporal operators of AOP to
compose DMOs with the control-flow: before,
after, around
• Using synchronization operator // (with) to
create atomic actions (from CO-OPN)
PNSE 2007 Workshop, Siedlce, Poland 18 A.Chen
19. Example:
ID -> Data Instances
P1: T P3: payment
order shipping
schedule order
P2: P4: shipping
payment
production
production
schedule
1 0..1
Order Shipping
1 1 IDs refer to
0..1
0..*
Production instances of data
Payment
PNSE 2007 Workshop, Siedlce, Poland 19 A.Chen
20. Example:
Synchronized function
P1:
T P3: payment
payment
shipping
order
P2: P4: shipping
production
order
production
synchronized function: M with T
P1.take( ); P2.take( ); reserve tokens
Executable, composed model
payment=getPaymentFromID( ); access resources
order=getOrdersFromID( );
M with T uses selected if (payment.clientID != order.clientID) {
tokens as inputs P1.release( ); P2.release( ); check firability
throws NotFirableException()
}
PNSE 2007 Workshop, Siedlce, Poland 20 A.Chen
21. Example:
Synchronized function
P1:
T P3: payment
payment
shipping
order
P2: P4: shipping
production
order
production
synchronized function: M with T
Executable, composed model ...
date = estimateDeliveryDate(order); external stuff
=Shipping.Create(date, dest);
DMOs
M uses the IDs to do =Production.Create(date, orderSet);
anything it wants, and P1.remove( ); P2.remove( );
produces post-tokens
P3.put( ); P4.put( ); produce post-conditions
PNSE 2007 Workshop, Siedlce, Poland 21 A.Chen
22. Composed Semantics
P1: payment
T P3:
payment
shipping
order
P2: P4: shipping
production
order
production
synchronized function: M with T
P1.take( ); P2.take( ); reserve tokens
Executable, composed payment=getPaymentFromID( );
check firability
order=getOrdersFromID( );
model if (payment.clientID != order.clientID) throws NotFirableException()
{P1.release( ); P2.release( ); }
...
date = estimateDeliveryDate(order); external stuff
=Shipping.Create(date, dest);
=Production.Create(date, orderSet);
P1.remove( ); P2.remove( ); produce post-conditions
P3.put( ); P4.put( 22);
PNSE 2007 Workshop, Siedlce, Poland A.Chen
23. ID-Net in BP
Development
ID-Net Data
Model Model Model-Based
Iterative
V1 V1 Development
Process
V2 V2
Model
Reconciliation
V3 V3
Model Executable
Composition Workflow
PNSE 2007 Workshop, Siedlce, Poland 23 A.Chen
24. Framework
Control-Flow Model
shipping
order schedule
create
receive schedule invoice invoice
order send
invoice
collect
payment
payment production
schedule
Model Executable
Composition
Composition Workflow
specification
Data Model
0..* 1 1 0..1
Item Order Shipping
1 1
0..1
0..*
Production
Payment
PNSE 2007 Workshop, Siedlce, Poland 24 A.Chen
25. Conclusion
• ID-Net has flexible and extensible semantics:
• it handles the tokens as the classical PN
• the external models will produce and interpret the values
tokens
• the composition specifies the interplay between ID-Net
and other models
• BPs can be developed in an iterative and flexible
way with the framework using ID-Net
PNSE 2007 Workshop, Siedlce, Poland 25 A.Chen
26. Research Perspectives
• Relations between the functional
dependency of data and dependency of
activities in workflow
• How the composed external model
interprets the properties of an ID-Net
• Hiding information during the design of BP
service (issues in cross-organizational BPs)
PNSE 2007 Workshop, Siedlce, Poland 26 A.Chen
27. ID-Net Semantics
Preliminary operational P1 T P2
semantics
A Place is a multi-set which supports the
following operations:
•take(token): reserve token
•release(token): release token (inverse of take) T will be evaluated successfully if each
•put(token): put token into the place pre-set place provides at least one token
•remove(token): remove token from the place
The steps can Firing a transition consists of:
be hooked before: [0..1] 1. select tokens in pre-set places
2. reserve pre-condition tokens temporally
with: [2..4] 3. evaluate T (if failed, release reserved
around: [0..6]
tokens)
after: >5 4. remove reserved tokens
5. put post-conditions into post-set places
PNSE 2007 Workshop, Siedlce, Poland 27 A.Chen