240 likes | 374 Views
Native XML Business Process Execution for 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)
E N D
Native 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
Road 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
Computer 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)
Models of Business Processes Model-based design, e.g. from graphical flow-chart notation to XML-based execution language BPMN WS-BPEL
Traditional architecture The WfMC reference model
Business Process Execution • business processesare long-lived • process state is persisted • - traditionally in a proprietary relational format • The informal semantics is hidden in the process execution engine
Challenges 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 ?
Our 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
A 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
Graph 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!
Process 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) • Example:The 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
<instance name=”transfer”> <variables> <variable name=”accountA”>P1</variable> <variable name=”accountB”>P2</variable> </variables> <sequence> <assign><copy><from var=”accountA”/> <to var=”accountB”/> </copy> </assign> P </sequence> </instance> Example bigraph for BPEL process instance XML corresponding to the example bigraph Bigraphical 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.:
Native 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
- 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)
Technical note: sibling nodes of bigraphs are unordered (expressed by P | Q ≡ Q | P ) so we introduce a “next” node to record the order of actions in sequence XML process calculus • we use a shorter process calculus notation (maps 1-1 to XML) maps to
The BPEL subset • A system consists of a set of processes and instances in parallel: • Instances are defined as processes except allowing values for variables:
Formalising 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)
Rewrite rule examples • Semantics of assignment (in process calculus notation) • Semantics of exit
Summary • 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)
Perspectives & 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)