Title: Native XML Business Process Execution for Computer Supported Mobile Adaptive Business Processes
1Native XML Business Process Executionfor
Computer Supported Mobile Adaptive Business
Processes
- Thomas Hildebrandt
- associate professor, ITU
- Komialt seminar, ITU, Dec 5th, 2006
- FTP research project 2007 - 2010
- Kjeld Schmidt, Henning Niss and Mikkel
Bundgaard (ITU) - Microsoft Development Center Copenhagen
2Road Map
- The Computer Supported Mobile Adaptive Business
Processes (CosmoBiz) research project - Traditional Business Process Models and execution
- Challenges for Pervasive Business Processes
- Native XML BP execution and formalisation
3Computer Supported Mobile Adaptive Business
ProcessesITU Microsoft Development Center
Copenhagen
- Interdisciplinary research project combining
industrial prototyping and research in formal
models and computer supported cooperative work - Starts january 1st, 2007 and runs for 4 years.
- 2 PhDs and 1 year postdoc funded by the danish
research agency for technology and production - Relates to 2 industrial PhD projects Danske Bank
(MDBP) and Resultmaker (Clinical Workflows)
4Work packages
5Models of Business Processes
Model-based design, e.g. from graphical
flow-chart notation to XML-based execution
language
BPMN
WS-BPEL
6Traditional architecture
The WfMC reference model
7Business Process Execution
- business processes are long-lived
- process state is persisted
- - traditionally in a proprietary relational
format - The informal semantics is hidden in the process
execution engine
8Challenges for Pervasive BPM
How do we support
- context-dependent, mobile business process
instances ? - (static) guarantees for correctness and security
? - (higher-order) processes for process management
? - evolution and adaption of business process
languages ?
9Our working thesis
- Business process instances must be exchangeable,
- the execution semantics must be formalised to
support consistent execution on different devices
and advanced programming language concepts such
as types, mobile and higher-order processes, - and the formalisation must be extensible and
close to the language and its implementation to
support language evolution, engineering (e.g.
exploring new features based on CSCW field
studies and formal models) and execution in
practice
10A possible solution
- Formalise process execution using theory of
graph-rewriting and process calculi, implemented
as XML-rewriting and persisted in XML-store - Proof of concept A formalized native XML
execution of BPEL implemented on top of a
peer-to-peer XML persistence layer
Described in two ITU MSc thesis projects and
presented at the International workshop for
models and tools for coordination (MTCoord) in
2005 and the COORDINATION conference in 2006
11Graph rewriting systems
- A graph rewriting system consists of a definition
of the valid graphs and a set of rules of the
form (L?R) specifying that a sub graph L can be
replaced with the sub graph R - Example Petri Net can be seen as an instance of
a graph rewriting system - Christian Stahl has provideda complete Petri
netsemantics for BPEL 1.1
graphical extensive tool support, but not
easily extensible, nor as close to the language
as one could hope for!
12Process Calculi
- A process calculus is a formal textual notation
for (usually concurrent communicating) processes
equipped with rewrite rules for execution and a
theory of relating processes (e.g. simulation) - ExampleThe pi-calculus is a famous example of a
process calculus for communicating processes with
dynamic communication channels - Lapadula, Pugliese and Tiezzi have proposed a
WS-process calculus - supports WSDL type
system, but not easily extensible
13Motivation and Challenges
- Business process execution languages evolve
quickly - Specifications are ambiguous and implementations
are released fast... - Can we provide an extensible formalization that
- support model-based development, implementations
and formal verification? - can be extended and adapted when the languages
evolve? - will support distributed, mobile and adaptive
business processes - and also in practice?
14Existing formalisations
- Christian Stahl has provided a complete Petri net
semantics for BPEL 1.1 graphical, extensive
tool support,but not easily extensible,nor as
close to the language as one could hope for! - Lapadula, Pugliese and Tiezzi have proposed a
WS-process calculus - supports WSDL type
system, but not easily extensible - Reiko Heckel is working on graph-rewriting
formalisations
(from slide of C. Stahl)
15Bigraphical Reactive Systemsand Reactive XML
- A bigraph is a collection of trees (the place
graph) with links (the link graph) - Bigraphical Reactive Systems (Robin Milner,
2001)is a graph rewriting framework (and
theoryof simulation) for bigraphs inspired by
thepi-calculus but also able to describe Petri
Net - Incidentally, bigraphs correspond closely to XML
data and thus the syntax of BPEL, e.g.
16Reactive XML as Bigraphical Reactive Systems
- The XML processes correspond to pure bigraphs
(Milner, CONCUR 2001), e.g. - A bigraph is a collection of trees (the place
graph) with links (the link graph) - A BRS is specified by a signature (node labels)
and a set of reactions - - a graph-rewriting framework inspired by
pi-calculus and Mobile Ambients, equipped with a
general theory of contexts and composition, and - labelled bisimulation congruence (Milner Hoeg
Jensen, POPL03) (not yet explored)
instancenametransfer. (variables.
(variablenameaccountA.P1
variablenameaccountB.P2 P3)
sequence. (assign.copy.(fromvaraccountA
tovaraccountB) P)
denotes
17Our approach
- Exploit close correspondence between Bigraphical
Reactive Systems (BRS) and XML to get - an extensible formalisation as a BPEL calculus
- implementation as Reactive XML
- distributionmobility (peer-to-peer XML Store)
- Business process language, formalisation and
implementation closely connected - and extensible - Spin-off from Bigraphical Programming Languages
(BPL) project (funded by ITU and the Danish
Research Agency)
18Native XML BPEL execution as (bi)graph rewriting
- The idea Combine the process description and
state and execute by rewriting as in theory of
process calculi and graph-rewriting
persist, distribute and exchange process
instances as XML
19- a word on the XML persistence layer (XMLstore)
- never destroys data, but shares subtrees, e.g
- maintains complete history (e.g. for
transactions) and easy replication (e.g. for P2P
distribution)
20XML process calculus
- we use a shorter process calculus notation (maps
1-1 to XML)
maps to
21The BPEL subset
- A system consists of a set of processes and
instances in parallel - Instances are defined as processes except
allowing values for variables
22Systems, Processes Instances
- A system consists of a set of processes and
instances in parallel - Instances are processes allowing values for
variables
23Formalising computation steps
- computation steps can be described as bigraphical
reactions - specified by a set of parametric rewrite rules
L?R (e.g. parametric in the variable names,
content and context)
24Parametric Reactions Contexts
25Examples of reactions
- Semantics of conditional
- Semantics of while
26Implementation Reactive XML
27Motivating Higher-order Contexts
- assign action and variables should belong to same
instance
28Higher-order Contexts
29Rewrite rule examples
- Semantics of assignment (in process calculus
notation) - Semantics of exit
30Context constraints
- use XPath to constrain the set of contexts that
can be placed in a higher-order hole
?
31Semantics II
- Semantics of process invocation (invoke/receive)
- again using higher-order contexts to ensure
correct scope of variables - (correlation considered in MSc thesis of M.
Olsen)
32From BPEL to Bigraphs back
33Summary
- XML rewriting framework called Reactive XML
formalised as Bigraphical Reactive Systems and
distributed P2P implementation using value-based
XML persistence layer (MTCoord Workshop, 2005) - BPEL case process language, formalisation and
implementation closely connected - and
extensible(Coordination Conference 2006) - ITU Technical Report TR-2006-85.(extended,
submitted journal version available)
34The architecture for pervasive BPM?
35PerspectivesExperimentalPlatform for reliable
distributed (business) process execution
coordination
36Perspectives Future Work
- Extensible platform for distributed (business)
process language engineering, execution, CSCW
coordination - Future (partly covered by the CosmoBiz project)
- Full BPEL semantics and implementation
- Model-based development (i.e. transformations
from BPMN/UML to BPEL) - Typed, mobile and higher-order processes
- CSCW studies in adaptive, context-dependent,
mobile business and work flow processes, e.g.
sales services and clinical workflows - Formal reasoning verification
- Quantitative semantics Time and probabilities
(with M. Kwiatkowska) - Relate to other graph rewriting frameworks (R.
Heckel, graph rewriting)
37- Thank you for staying to the end- now lets
have the lottery -)
38 Extensible Process Calculus
39Motivating higher-order contexts
- Recall how instances bind values to variables
- Reaction rule needs to pick the correct instance
variables - How do we deal with the context parameter C ?
40Higher-order contexts
- Higher-order contexts allow us to abstract the
context C in - and write
- expecting a parameter
41Higher-order interfaces
- Technically, the hole of the context in the
parameter - should be reflected in the outerface, and the
nested process in the redex - should be reflected in the innerface
42Higher-order interfaces
- We restrict our self to higher-order contexts of
type - given by the grammar
43XPath constraints
- Add an Xpath constraint to higher-order holes
- Used to restrict to contexts for which the
location of holes are specified by the XPath
constraint, e.g. active contexts are specified
by -
44Perspectives and open ends...
- Reliable Extensible Implementation of Distributed
(peer-to-peer) Business Process Execution - Full category of higher-order contexts
- Higher-order and Mobility?
- Formal Reasoning/Verification?
- Context dependency?
- Types?
45Business Process Execution
- long-lived persistent processes bank loan,
sales services, production workflows, ... - supported by workflow or business process
management systems(as part of an ERP system) - use XML based process execution languages
(WS-BPEL) and graphical flow-chart notations
(BPMN)
Workflow Management System Reference Model
46The mobility challenges
- Client and business process execution engine
mobility - Business process mobility
- embedded in mobile client
- mobile subprocesses
- Issues
- Disconnected operation, disconnected
coordination... - Peer-to-peer and ad-hoc networking
- Location, role, ..... context-dependency
- Higher-order processes as values
Break the boundaries...!
47Mobile Salesmen
- Client mobility Salesmen visit customers
- Process mobility - a sales service process may
be delegated- the check record subprocess may be
moved to the sales process (to allow disconnected
operation) - Context-dependency Sales service depends on the
current customer and salesman - Higher-order A sales process may be modified to
reflect new or personal practices - .......BREAK THE BOUNDARIES.....
48Coordination and CSCW challenges
- How is mobile, distributed work and business
processes coordinated ... and carried out by
humans? - Make use of roles, location, situation, context...
49Reliability challenges
- Process execution languages evolve quickly
- Current specifications are ambiguous and
implementations are being released fast... - Messages are typed (with WSDL and XML Schema) but
what about type checking...? - How can we make reliable implementations that can
be extended to support reliable mobile and
higher-order processes?
50Background Theory
- Formal models and types for higher-order mobile
embedded processes, the Homer calculus
(Hildebrandt, Bundgaard) - Computer Supported Distributed and Mobile Work
(Schmidt) - Type systems and value-based peer-to-peer XML
storage (Niss) - Extensible formal process models and operational
semantics (bigraphs) (Hildebrandt, Niss,
Bundgaard, Robin Milner)
51Background Implementation
- Microsoft Business Solutions Mobile (Röser,
Gufler) - Research-based implementations of reliable
it-systems (Niss et al) - Peer-to-peer BPEL with Bigraphs and Reactive XML
(Hildebrandt, Niss, Olsen - COORDINATION 2006,
Bologna, June, 2006) - ABACO and Ariadne Towards a Technology of
Coordination (Schmidt et al)
52Selected Related Work
- The 3gERP, NEXT and BEFORE research projects
- Process Engines Bizztalk, ActiveBPEL,
Websphere... - BPEL-SPE (Extension for sub-processes) (white
paper IBM and SAP, 2005 - Models Petri Net, CCS and pi-calculus for
Business and Workflow Processes (Wil van der
Aalst, Chr. Stefansen, A. Farrell,...) - Formalised coordination frameworks and workflow
engines, eg. - the COORDINATION conference
series - Andrew Farrell, Imperial, - Wil van
der Aalst Technical Universität Eindhoven - Typed graph-rewriting (König, Montanari, ...)
- Types for WS-BPEL (COORDINATION 2006)
53Student project thesis ideas
- Implement peer-to-peer BPEL execution engine
based on Reactive XML (see Business Process
Execution with Bigraphs and Reactive XML, ITU
Technical report TR 2006-85) - Mobile BPEL (client/engine or subprocesses)
implementation and/or CSCW field studies, e.g.
BPEL for the Mobile Salesman - Context-dependent BPEL
- Types for BPEL