3. Context
Process-Oriented System in Service-Oriented Architecture
Domain Specific Languages (DSL)
Expressive Power, formal semantics
Semantics Basis: e.g. logic, Petri Nets, Register
Complexity of Verification
4. Prototyping: Target Environment
Environment
Distributed Systems (may be embedded)
Service Oriented Architecture (SOA)
Web Service, XML
Grid Computing
Target Languages: Java, .NET, BPEL (Business Process Execution
Language) etc.
9. Principe of BPM
Affect the software development process
Separate the development of
Business Processes and
Business Process Management System
Business Processes: The softwares to be developed
BPMS: The infrastructure
11. COOPN
Fire
Concurrent
ph_
Object-Oriented in1_:H
po_ out_:H2O
Petri Nets in2_:O
this=Self::Fire With this.out water::
H, O, H2O are Algebraic
ph h1, ph h1, po o1 ->
Abstract Data Types
variables
water is a value (generator)
h1,h2: H
of ADT H2O o1: O
12. COOPN Elements
Token ADT black token: @ place/transition nets
data ADTs: boolean, natural etc.
container ADTs: pair, list etc. colored Petri nets
ADTs
Objects
object nets
Object object reference reference nets
mobility of objects
Place Context
Transaction
Method Gate
can be contains
13. Algebraic Abstract Data Type
Generic Abstract Adt ListStructure(Elem);
...
Immutable entities Interface
Generators
Use generator and axiomatic [] : -> list;
_ ' _ : elem, list -> list;
rules to construct data type _ | _ : list, list -> list;
;; Specific elements
Axioms can be used to infer Operations
head _ : list -> elem;
properties on data, e.g. tail _ : list -> list;
commutativity and pick _ from _ : natural, list -> list;
drop _ from _ : natural, list -> list;
associativity rules reverse _ : list -> list;
...
End ListStructure;
14. COOPN: Transactions
T1, T2 ∈Trans, where Trans is the set
ACID Transactions of transactions in a COOPN system
with different rules Composition:
T1 With T2 ∈Trans
Parallel: //
Sequential: .. T1 // T2 ∈Trans
Alternative: | T1 .. T2 ∈Trans
T1 | T2 ∈Trans
15. COOPN: Overview
Declarative, formal specification based on Petri Net semantics
State computation uses logical inference
Forward chaining: firing transitions
Backtracking: transaction resolution
Separation of Data and Behavior
Context coordination, Transaction semantics
18. E-Shop: Service View I
Client
Acquisition Stock Admin Acquisition Stock Admin
Providers Sale CRM Sale CRM
Delivery Finance Banking Delivery Finance Banking
Sub-systems are connected via services
19. E-Shop: Service View II
Sale department
provides three
Sale •Order(...)
services to clients • Return(...) client
Department
•Query(...)
Each process is a service for clients
20. E-Shop: Service View III
client
Execution
Order Return Query process
environment: SOA deployment
process
The underlying BPMS execution
systems provide services
enactment
services to business interactions
process management Sale Stock CRM etc.
Underlying
systems
system
22. Patterns of control flow
A B B
sequence A MUL
C
B Multi-Choice
A AND
A
C
AND split DIS C
B
B
Discriminator
A XOR
C B
XOR Split
A A start C end E
AND C
B D
AND join
Interleaved parallel routing
A
B
XOR C
A XOR AND D
B
XOR join C
XOR Split AND join
process not well-formed
23. E-Shop: Control-Flow View
Activity : Payment by Credit Card
Check credit card
activity <id,accepted>
<id,payment>
XOR-SPLIT
<id,rejected>
order
request response
Payment Stock Delivery
Credit Card Checking
Process or Web Service
Send Money
Return RMA
Material Back
Query
RMA: Return Materials Authorization
24. Data Modeling
Implement XML algebra with ADT
Define data types representing XML structure: tree, set,
elements, attributes.
Operations on the data: add, modify, remove elements or
attributes
Operation on the structure: schema algebra and validation
25. E-Shop: Data View
Client ID
Payment Product IDs Shipping ID
Order Paid Shipping Shipped
Return
Request
Returned
state change used by (data dependence)
Can be modeled by Colored tokens, Automate, XML algebra
27. Process Verification
Advantages of formal and Petri nets based semantics
High-level properties can be mapped into Petri Nets properties
Several techniques are possibles: model checking, automatic test
generation, simulation.
28. Properties of Petri Nets
Liveness: of PN, of an initial marking
Deadlock free: of PN, of an initial marking
Soundness
29. Properties of BP
A BP instance FINALLY terminates (absence of deadlock in PN):
valid input tokens will FINALLY arrive the ending state. Multiple
ending states can exist in a BP definition.
30. Properties of BP
If a BP instance terminates, there should be no hanging tasks
for this instance (soundness): no dead tokens.
31. Properties of BP
When several BPs are connected, no cycle dependence should
exist.
E.g. to get a job, you must have work experiences; to have
work experiences, you must get a job.
32. Characteristics of Activity
A preliminary work for verification, basic classifications:
Source (creation point of instance or data)
Sink (end point of instance or data)
Filter/Join (mutation of instance or data)
Composition of these activities
33. Transactional BP
Modeling transaction coordinators which handle different
transactions by implementing transaction protocols
Building blocks
COOPN modules representing activities
COOPN modules encoding transaction states
With, //, .. , |
34. Properties of TBPs
Success guarantee: if a TBP succeeds, everything should have
done successfully.
Rollback and compensation guarantee: if it does not succeed,
rollback and compensation will be done, as “nothing happens”.
From one consistent state to another consistent state. e.g. the
philosopher problems.
35. Prototyping
BP COOPN Java
Process Java ADT
ADT
Instance impl. XML
message
External Java Data
Data
Data Type Type
Activity Class
JavaBean
Process Context
Services
Transaction Endpoint
Action Transaction
Object
Event Method Java
Method
Atomic
Gate Java Event
Transaction
configurable
modeling
transformation
36. Integrating Prototypes
Process controller prototype
Client delivery credit card Enactment
service service system Shopping Process
send <id, order>
in_
order
order
ask payement askPayment id
input credit card
out_
verify credit card <id, transaction>
in_
credit card valid validPayment id
transaction
ask delivery askDelivery id
out_
in_ <id, delivery>
confirm delivery confirmDelivery id
delivery
delivered id
37. The framework
Business Process
integration
Remote UI
Process instance system
ERP / user
Data Activity
IS
Atomic Transaction
Service Interface
Process Event
Executable model (PSM)
Action embedded
controller Java ADT impl.
modeling Java Data Type
JavaBeans Java Event
n
atio Transaction Object
COOPN model (PIM) rm
s fo Java Method
External Data Type n
tra web service
ADT Class
Context Gate
Method Configuration Class
Transaction (Mapping rules) Library
verification validation simulation
refinement
39. Conclusion
Most modeling work are done, e.g. perspectives:
Control
Data
Service
Transaction
Time to propose an XML-based Domain Specific Language
40. Future Works
Investigation on the constraints between the dimensions
Service Oriented Business Process Specifications (SO-BPS)
Verification and model checking techniques
Tools supports