11. Separation of Dimensions
Multi-Dimensional analysis is
natural in science e.g.
mathematics, physics, and
engineering
5
12. Separation of Dimensions
Multi-Dimensional analysis is
natural in science e.g.
mathematics, physics, and
engineering
In software development, it is about the
Separation of Concerns and Reusability, but
their applications are more abstract and
conceptual
5
20. Business Process: E-
Commerce
Process production
schedule
receive collect send
order payment invoice
shipping
schedule
Each color represents an organization
Activity
Flow
Participant
11
22. Process: Pass the Thesis
Exam
Inscription of
exam (faculty)
Send thesis to Approvals of Authorization
AND AND
the juries juries of faculty
30+ days before Hard copy for
department
20 days before Thesis
Defence
12
25. Process Oriented
Systems
• Healthcare systems
• Scientific workflows: following experiments
• E-Government: administration procedures
• E-Commerce, trading platforms
• Any Case Handling Systems: Logistics,
Insurance
35. Challenges in Software
Development
Execution
Test &
Implement
Analysis
& Design
Requireme
16
36. Challenges in Software
Development
Execution
Test &
Implement
Analysis
& Design
Requireme
16
37. Challenges in Software
Development
Execution
Test &
dependency
Implement
Analysis
& Design
Requireme
16
38. Challenges in Software
Development
Execution
Complexity of
Test & models
dependency
Implement
Analysis
& Design
Requireme
16
39. Challenges in Software
Development
Execution
Complexity of
Test & models
dependency
Implement
Analysis Frequent changes
& Design
of requirements
Requireme
16
40. Challenges in Software
Development
Exe
cut
ion
Complexity of
Tes
t& models
dependency
Imp
lem
ent
Ana
& D lysis
esi
Frequent changes
gn
Req
of requirements
uire
me
16
43. Challenges
Business processes are complex entities which
need to change frequently to adopt
requirements from business domains
The development of business processes is
about developing concurrent and distributed
programs across different platforms
17
44. Requirements of BP
Modeling: Workflow Patterns
Inscription of
exam (faculty)
Approvals of Authorization
AND AND
juries of faculty
AND-SPLIT Hard copy for
department
AND-JOIN
18
45. Requirements of BP
Modeling: Workflow Patterns
Inscription of
exam (faculty)
Approvals of Authorization
AND AND
juries of faculty
AND-SPLIT Hard copy for
department
AND-JOIN
18
46. Requirements of BP
Modeling: Workflow Patterns
Inscription of
exam (faculty)
Approvals of Authorization
AND AND
juries of faculty
AND-SPLIT Hard copy for
department
AND-JOIN
18
47. Requirements of BP
Modeling: Workflow Patterns
Inscription of
exam (faculty)
Approvals of Authorization
AND AND
juries of faculty
AND-SPLIT Hard copy for
department
AND-JOIN
18
48. Requirements of BP
Modeling: Workflow Patterns
Inscription of
exam (faculty)
Approvals of Authorization
AND AND
juries of faculty
AND-SPLIT Hard copy for
department
AND-JOIN
18
49. Requirements of BP
Modeling: Workflow Patterns
B B
A B A AND A XOR
sequence C C
AND split XOR Split
A A B
AND C A MUL
XOR C
B C
B
AND join XOR join Multi-Choice
B
B
A start C A XOR AND D
end E
C
D XOR Split AND join
Interleaved parallel routing a not well-formed process
19
51. Requirements of BP
Modeling
• Workflow patterns: increasing references for
the requirements of expressiveness in BP
modeling
20
52. Requirements of BP
Modeling
• Workflow patterns: increasing references for
the requirements of expressiveness in BP
modeling
• Informal description
20
53. Requirements of BP
Modeling
• Workflow patterns: increasing references for
the requirements of expressiveness in BP
modeling
• Informal description
• No single language can satisfy all the
requirements
20
56. Proposition: Dimensions
of Business Process
• Control flow: for the execution (scheduling) of
processes (parallel)
22
57. Proposition: Dimensions
of Business Process
• Control flow: for the execution (scheduling) of
processes (parallel)
• Data model: information which are not part of the
control flow
22
58. Proposition: Dimensions
of Business Process
• Control flow: for the execution (scheduling) of
processes (parallel)
• Data model: information which are not part of the
control flow
• Transaction (synchronization): short-running (ACID),
long-running (relaxed ACID)
22
59. Proposition: Dimensions
of Business Process
• Control flow: for the execution (scheduling) of
processes (parallel)
• Data model: information which are not part of the
control flow
• Transaction (synchronization): short-running (ACID),
long-running (relaxed ACID)
By combining the dimensions we obtain new
aspects, e.g. :
control + data model => data flow, concurrency
22
68. Main Contributions
• Synchronization mechanism (Transaction) for the
composition of dimensions.
69. Main Contributions
• Synchronization mechanism (Transaction) for the
composition of dimensions.
• Formal notation: ID-net
• Semantics of the control dimension, true concurrency
• Tokens are identifications of resources, monitor the
resources invovled in business proceses
70. Main Contributions
• Synchronization mechanism (Transaction) for the
composition of dimensions.
• Formal notation: ID-net
• Semantics of the control dimension, true concurrency
• Tokens are identifications of resources, monitor the
resources invovled in business proceses
• Model process oriented system as ID-net Controlled
System (IDCS): multi-dimensional model
76. ID-net: Separation of Control
Flow and Data Model
Typed places
Arc inscriptions
x y
P1 P2
28
77. ID-net: Separation of Control
Flow and Data Model
Data model (e.g. global variables)
a 3
b 4
c 0
Typed places
Arc inscriptions
x y
P1 P2
28
78. ID-net: Separation of Control
Flow and Data Model
Data model (e.g. global variables)
a 3
b 4
c 0
y:=[x]+2 Typed places
Arc inscriptions
x y
P1 P2
28
79. ID-net: Separation of Control
Flow and Data Model
Data model (e.g. global variables)
a 3
b 4
c 0
y:=[x]+2 Typed places
Arc inscriptions
x y
P1 a,b,c P2
28
80. ID-net: Separation of Control
Flow and Data Model
Data model (e.g. global variables)
a 3
b 4
c 0
y:=[x]+2 Typed places
Arc inscriptions
x y
P1 a,b, c P2
28
81. ID-net: Separation of Control
Flow and Data Model
Data model (e.g. global variables)
a 3
b 4
c 0
Typed places
Arc inscriptions
x y
P1 a,b, c P2
y:=[c]+2=2
28
82. ID-net: Separation of Control
Flow and Data Model
Data model (e.g. global variables)
a 3
b 4
c 0
Typed places
Arc inscriptions
x y
P1 a,b, 2 P2
y:=[c]+2=2
28
83. ID-net: Separation of Control
Flow and Data Model
Data model (e.g. global variables)
a 3
b 4
c 0
Typed places
Arc inscriptions
x y
P1 a,b, 2 P2
y:=[c]+2=2
28
84. ID-net: Separation of Control
Flow and Data Model
Data model (e.g. global variables)
a 3
b 4
c 0
Typed places
Arc inscriptions
x y
P1 a,b, 2 P2
y:=[c]+2=2
Dynamic synchronization between
control flow and data model
28
85. ID-net Transitions: Pipes
v1
v1 v1 v1
v1
v1 v2 v1
v1
v2 v1 v1
Pipe transitions must preserve all input tokens for output
86. ID-net Transitions:
Generators
v1 v2
v1 v1
v2 v3
v1
v1 v2
v2
Generator transitions may generate new (fresh) tokens,
e.g. dynamic allocation of resources
94. BP Modeling: Example
shipping
schedule
Informal receive collect send
description oder payment invoice
production
schedule
34
95. BP Modeling: Example
shipping
schedule
Informal receive collect send
description oder payment invoice
production
schedule
shipping
order schedule
create
Formalized receive o schedule invoice invoice
Control-Flow order o ps ss i i send
invoice
collect p
payment p ss ps
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
34
96. BP Modeling: Data
Model
shipping
order schedule
create
receive o schedule invoice invoice
order o ss ss i i send
invoice
collect p
payment p ps ps
payment production
schedule
1..* 1 1 0..1
Item Order Shipping
1 1
0..1
0..* Production
Payment
35
98. BP Modeling:
Synchronization of ID-net and Data
Models
schedule shipping
order a,b o ss schedule
p production
payment c ps schedule
36
99. BP Modeling:
Synchronization of ID-net and Data
Models
schedule shipping
order a,b o ss schedule
p production
payment c ps schedule
inscription based on the data model
1 1 0..1 // evaluate and use input variables
Order Shipping
if ([o].clientID != [p].clientID) notFirable;
1
1
0..1
0..* Production
// fill output variables, create shipping and production from order
Payment ss := Shipping.Create([o], ... );
ps := Production.Create([o], ...);
36
101. Business Process
Modeling Framework
Control-Flow Model
shipping
schedule
order
create
receive schedule invoice invoice
order send
invoice
collect
payment
payment production
schedule
Data Model
1..* 1 1 0..1
Item Order Shipping
1 1
0..1
0..*
Production
Payment
37
102. Business Process
Modeling Framework
Control-Flow Model
shipping
schedule
order
create
receive schedule invoice invoice
order send
invoice
collect
payment
payment production
schedule
synchronizations
Data Model
1..* 1 1 0..1
Item Order Shipping
1 1
0..1
0..*
Production
Payment
37
103. Business Process
Modeling Framework
Control-Flow Model
shipping
schedule
order
create
receive schedule invoice invoice
order send
invoice
collect
payment
payment production
schedule
Model
synchronizations Composition
Data Model
1..* 1 1 0..1
Item Order Shipping
1 1
0..1
0..*
Production
Payment
37
104. Business Process
Modeling Framework
Control-Flow Model
shipping
schedule
order
create
receive schedule invoice invoice
order send
invoice
collect
payment
payment production
schedule
Model Executable
synchronizations Composition BP
Data Model
1..* 1 1 0..1
Item Order Shipping
1 1
0..1
0..*
Production
Payment
37
106. Concurrent Program: Peterson’s
Algorithms for Mutual Exclusion
Global variables a = false;
b = false;
victim = a;
Process a: Process b:
a = true; b = true;
victim = b; victim = a;
while( b && victim == b ); while( a && victim == a );
// blocked, do nothing // blocked, do nothing
// critical section // critical section
... ...
// end of critical section // end of critical section
a = false; b = false;
38
107. Concurrent Program: Peterson’s
Algorithms for Mutual Exclusion
Global variables Relation between the variables
a = false; N(a)=b;
b = false; N(b)=a;
victim = a;
x:=false
x x
ab x x x x x x
victim!=[x] || Critical
x:=true victim:=N([x]) Section
N(x)!=true
39
108. Concurrent Program: Peterson’s
Algorithms for Mutual Exclusion
Global variables Relation between the variables
a = false; N(a)=b;
b = false; N(b)=a;
victim = a;
x:=false
x x
ab x x x x x x
victim!=[x] || Critical
x:=true victim:=N([x]) Section
N(x)!=true
Property: maximum one token in the critical section
39
109. Concurrent Program: Peterson’s
Algorithms for Mutual Exclusion
Global variables Relation between the variables
a = false; N(a)=b; With 2 processes, this system
b = false; N(b)=a; is deadlock-free and
victim = a; starvation-free
x:=false
x x
ab x x x x x x
victim!=[x] || Critical
x:=true victim:=N([x]) Section
N(x)!=true
Property: maximum one token in the critical section
39
110. Model Verification
Properties of control Properties of each
flow model data model
Reasoning the
properties of the
synchronized system
40
113. Conclusion
• ID-net: Separation of Control and Data during the
modeling phase
• Transaction for the synchronization of dimensions
• Facilitate the verification and complexity management of
process-oriented models
• Model-Driven Development. Help to improve the cycle of
business process engineering, from modeling to execution
42
114. Future Perspectives
• Based on the dimensions, propose heuristics for
the model checking of complex systems
• A user-friendly language based on ID-net for the
syntax integration of DSLs (e.g. a concurrent
parallel programming language)
• Tools support, e.g. Push-Button compilation and
model verification, compilers tool-chains for high-
level languages
43