63
Thomas Hildebrandt Kjeld Schmidt * , Arne J. Glenstrup, Mikkel Bundgaard, Magnus Nilsson, Espen Højsgaard, Tim Hallwyl, Tijs Slaats Programming, Logic and Semantics (PLS) & Design and Organization of IT (DOIT) IT University of Copenhagen * Department of Organization, CBS 3gERP workshop - Microsoft Dynamics Academic Alliance Copenhagen Business School, November 18th, 2008 Computer Supported Mobile Adaptive Business Processes for 3gERP Systems

Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

Thomas HildebrandtKjeld Schmidt*, Arne J. Glenstrup, Mikkel Bundgaard, Magnus Nilsson,

Espen Højsgaard, Tim Hallwyl, Tijs Slaats

Programming, Logic and Semantics (PLS) & Design and Organization of IT (DOIT)IT University of Copenhagen

*Department of Organization, CBS

3gERP workshop - Microsoft Dynamics Academic Alliance Copenhagen Business School, November 18th, 2008

Computer Supported Mobile Adaptive Business Processes for 3gERP Systems

Page 2: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

Road Map

Motivation and requirements for mobile ERP

The CosmoBiz research project

Microsoft Dynamics Mobile Framework & Development Tools

Extensible and Higher-order Business Process Languages

Conclusions and Future work

2

Page 3: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

Motivation and requirements

3

Page 4: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

Motivation and requirements

Give mobile workers access to ERP systems

3

Page 5: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

Motivation and requirements

Give mobile workers access to ERP systems

Salesmen, Homecare, Healthcare, construction work

3

Page 6: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

Motivation and requirements

Give mobile workers access to ERP systems

Salesmen, Homecare, Healthcare, construction work

Must allow for disconnected operation

3

Page 7: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

Motivation and requirements

Give mobile workers access to ERP systems

Salesmen, Homecare, Healthcare, construction work

Must allow for disconnected operation

Can not move entire ERP system to the PDA

3

Page 8: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

Motivation and requirements

Give mobile workers access to ERP systems

Salesmen, Homecare, Healthcare, construction work

Must allow for disconnected operation

Can not move entire ERP system to the PDA

Focused & specific tasks => role-based & task-driven

3

Page 9: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

Motivation and requirements

Give mobile workers access to ERP systems

Salesmen, Homecare, Healthcare, construction work

Must allow for disconnected operation

Can not move entire ERP system to the PDA

Focused & specific tasks => role-based & task-driven

Must be flexible and (re)configurable

3

Page 10: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

Supporting specific and focussed tasks:

From Data to Process-oriented

4

ERP back-end

Clients (role based access control)

Todays ERP

Page 11: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

Supporting specific and focussed tasks:

From Data to Process-oriented

5

ERP back-end

Clients: role based access and task-driven (process-oriented)

Tomorrows ERP

Page 12: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

Supporting specific and focussed tasks:

From Data to Process-oriented

6

ERP back-end

Clients: role based access and task-driven (process-oriented)

Mobile ERP

Page 13: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

Supporting specific and focussed tasks:

From Data to Process-oriented

6

ERP back-end

Clients: role based access and task-driven (process-oriented)

Mobile ERP

Page 14: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

Supporting specific and focussed tasks:

From Data to Process-oriented

6

ERP back-end

Clients: role based access and task-driven (process-oriented)

Mobile ERP

?Disconnected operation

Page 15: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

Microsoft Dynamics Mobile Development Tools (June 2007)

7http://msdn.microsoft.com/en-us/library/cc160851.aspx

Disconnected task-driven operation

Page 16: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

Microsoft Dynamics Mobile Development Tools (June 2007)

7http://msdn.microsoft.com/en-us/library/cc160851.aspx

Disconnected task-driven operation

Page 17: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

Microsoft Dynamics Mobile Development Tools (June 2007)

7http://msdn.microsoft.com/en-us/library/cc160851.aspx

Disconnected task-driven operationDeploy processes (tasks) on mobile client

Page 18: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

Microsoft Dynamics Mobile Development Tools (June 2007)

7http://msdn.microsoft.com/en-us/library/cc160851.aspx

Disconnected task-driven operationDeploy processes (tasks) on mobile clientReplicate relevant data

Page 19: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

Microsoft Dynamics Mobile Development Tools (June 2007)

7http://msdn.microsoft.com/en-us/library/cc160851.aspx

Disconnected task-driven operationDeploy processes (tasks) on mobile clientReplicate relevant data

Page 20: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

Microsoft Dynamics Mobile Development Tools (June 2007)

7http://msdn.microsoft.com/en-us/library/cc160851.aspx

Disconnected task-driven operationDeploy processes (tasks) on mobile clientReplicate relevant data

Page 21: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

Tasklet Orchestration<userRole xmlns="http://schemas.microsoft.com/Dynamics/Mobile/2007/04/Flow"> <orchestrations> <orchestration text="Customer detail"> <tasklets> <tasklet name="CustomerDetailTasklet"> <actions> <open text="Contact" tasklet="CustomerContactDetailTasklet"> </open> <open text="Credit Limit" tasklet="CustomerCreditLimitDetailTasklet"> </open> </actions> </tasklet> <tasklet name="CustomerContactDetailTasklet"> </tasklet> <tasklet name="CustomerCreditLimitDetailTasklet"> </tasklet> </tasklets> </orchestration> <orchestration text="New Customer"> ... <!-- Contact Details --> <tasklet name="ContactDetails" text="Contact Details" type="CustomerContactDetailTasklet.CustomerContactDetailTasklet, CustomerContactDetailTasklet"> <actions> <previous priority="1" text="Previous"> </previous> <exitOrchestration text="Finish"/> </actions> </tasklet> </tasklets>

</orchestration> </orchestrations></userRole>

8

Page 22: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

9http://msdn.microsoft.com/en-us/library/cc160851.aspx

Asynchronous requests back to ERP system

Page 23: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

Achievements & Challenges

XML orchestrations of tasklets allow easy customization by 3rd party developers

Processes and data separate...

Still some gluing and C# coding need to be done

10

Page 24: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

Computer Supported Mobile Adaptive Business Processes (CosmoBiz)

Research Project funded by the Danish Research Agency (2007- 2011)

Aim: Extensible business process languages and execution architecture for mobile & adaptive ERP

Partners: IT University of Copenhagen (ITU) & Mobile Applications Group at Microsoft Development Center Copenhagen (MDCC)

Approach:

Research in Computer Supported Cooperative Work (field studies)

Research in Design of Domain Specific Languages (formal models)

Software Development (Mobile applications group, MDCC)

11

Page 25: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

CosmoBiz research so far and in the near future

eXtensible Formalization of Business Process Execution (bigraphs)

Higher-order mobile embedded Business Process Execution Language (HomeBPEL)

Extensible Process Execution Engine

Field studies & Domain specific process languages

12

[MTCOORD’05,COORDINATION’06]

[COORDINATION’08]

Page 26: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

Higher-order Mobile Embedded Processes?

Higher-order:

Business process management processes as business processes (e.g. deployment, adaption delegation)

Mobile embedded:

Support disconnected operation by moving sub processes

13

mobile sales

ERP-proxy

mobile client

deployment service

ERP back-end

Page 27: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

Higher-order Mobile Embedded Processes?

Higher-order:

Business process management processes as business processes (e.g. deployment, adaption delegation)

Mobile embedded:

Support disconnected operation by moving sub processes

13

mobile sales ERP-proxy

mobile client

deployment service

ERP back-end

mobile sales

Page 28: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

Higher-order Mobile Embedded Processes?

Higher-order:

Business process management processes as business processes (e.g. deployment, adaption delegation)

Mobile embedded:

Support disconnected operation by moving sub processes

13

mobile sales

ERP-proxy

mobile client

deployment service

ERP back-end

mobile sales

Page 29: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

Higher-order Mobile Embedded Processes?

Higher-order:

Business process management processes as business processes (e.g. deployment, adaption delegation)

Mobile embedded:

Support disconnected operation by moving sub processes

13

mobile sales

ERP-proxy

mobile client

deployment service

ERP-proxy

ERP back-end

mobile sales

Page 30: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

Extensible Formalization and HomeBPEL - a few details

14

Page 31: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

Business process execution today

Workflow Engine(s)

Process Definition Tools

Other Workflow Engines

Workflow Client Applications

Invoked Applications

(e.g. Webservices)

Administration and Analysis Tools

Page 32: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

Business process execution today

Workflow Engine(s)

Process Definition Tools

Other Workflow Engines

Workflow Client Applications

Invoked Applications

(e.g. Webservices)

Administration and Analysis Tools

Page 33: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

Business process execution today

<?xml version="1.0" ?>

<process name="salesman"

xmlns="http://schemas.xmlsoap.org/ws/2004/03/business-process/"

xmlns:sales="..."

xmlns:xsd="...">

<documentation>

A very small example of a BPEL process

</documentation>

<partnerLinks>

...

</partnerLinks>

<variables>

<variable name="price" type="xsd:int"/>

<variable name="customerid" type="xsd:string"/>

<variable name="salesmanid" type="xsd:string"/>

<variable name="record" type="sales:record"/>

</variables>

<sequence>

<receive partnerLink="..."" portType="..."

operation="login" variable="salesmanid"/>

<receive partnerLink="..."" portType="..."

operation="customer" variable="customerid"/>

<invoke partnerLink="..." portType="..."

operation="checkrecord" inputVariable="customerid"

ouputVariable="record"/>

<!-- calculate price -->

<reply partnerLink="..." portType="..."

operation="customer" variable="price"/>

</sequence>

</process>

Workflow Engine(s)

Process Definition Tools

Other Workflow Engines

Workflow Client Applications

Invoked Applications

(e.g. Webservices)

Administration and Analysis Tools

compilation

Page 34: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

Business process execution today

<?xml version="1.0" ?>

<process name="salesman"

xmlns="http://schemas.xmlsoap.org/ws/2004/03/business-process/"

xmlns:sales="..."

xmlns:xsd="...">

<documentation>

A very small example of a BPEL process

</documentation>

<partnerLinks>

...

</partnerLinks>

<variables>

<variable name="price" type="xsd:int"/>

<variable name="customerid" type="xsd:string"/>

<variable name="salesmanid" type="xsd:string"/>

<variable name="record" type="sales:record"/>

</variables>

<sequence>

<receive partnerLink="..."" portType="..."

operation="login" variable="salesmanid"/>

<receive partnerLink="..."" portType="..."

operation="customer" variable="customerid"/>

<invoke partnerLink="..." portType="..."

operation="checkrecord" inputVariable="customerid"

ouputVariable="record"/>

<!-- calculate price -->

<reply partnerLink="..." portType="..."

operation="customer" variable="price"/>

</sequence>

</process>

Workflow Engine(s)

Process Definition Tools

Other Workflow Engines

Workflow Client Applications

Invoked Applications

(e.g. Webservices)

Administration and Analysis Tools

Page 35: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

Business process execution today

<?xml version="1.0" ?>

<process name="salesman"

xmlns="http://schemas.xmlsoap.org/ws/2004/03/business-process/"

xmlns:sales="..."

xmlns:xsd="...">

<documentation>

A very small example of a BPEL process

</documentation>

<partnerLinks>

...

</partnerLinks>

<variables>

<variable name="price" type="xsd:int"/>

<variable name="customerid" type="xsd:string"/>

<variable name="salesmanid" type="xsd:string"/>

<variable name="record" type="sales:record"/>

</variables>

<sequence>

<receive partnerLink="..."" portType="..."

operation="login" variable="salesmanid"/>

<receive partnerLink="..."" portType="..."

operation="customer" variable="customerid"/>

<invoke partnerLink="..." portType="..."

operation="checkrecord" inputVariable="customerid"

ouputVariable="record"/>

<!-- calculate price -->

<reply partnerLink="..." portType="..."

operation="customer" variable="price"/>

</sequence>

</process>

Workflow Engine(s)

Process Definition Tools

Other Workflow Engines

Workflow Client Applications

Invoked Applications

(e.g. Webservices)

Administration and Analysis Tools

Execution semantics of BPEL hidden (and fixed) in engine

Page 36: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

Extensible Formalization and Execution Engine

Engine

[MTCOORD’05,COORDINATION’06]

Rewrite rules

Page 37: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

Extensible Formalization and Execution Engine

• Describe Process Language with XML Schema

Engine

[MTCOORD’05,COORDINATION’06]

Rewrite rules

Page 38: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

Extensible Formalization and Execution Engine

• Describe Process Language with XML Schema

• Describe Semantics of Process Language by XML rewrite rules

Engine

[MTCOORD’05,COORDINATION’06]

Rewrite rules

Page 39: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

Extensible Formalization and Execution Engine

• Describe Process Language with XML Schema

• Describe Semantics of Process Language by XML rewrite rules

• Parametrize Engine with Schema and rewrite rule

Engine

[MTCOORD’05,COORDINATION’06]

Rewrite rules

Page 40: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

Extensible Formalization and Execution Engine

• Describe Process Language with XML Schema

• Describe Semantics of Process Language by XML rewrite rules

• Parametrize Engine with Schema and rewrite rule

• Bonus: Native XML Execution format - easy to persist, distribute and move

Engine

[MTCOORD’05,COORDINATION’06]

Rewrite rules

Page 41: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

Extensible Formalization and Execution Engine

• Describe Process Language with XML Schema

• Describe Semantics of Process Language by XML rewrite rules

• Parametrize Engine with Schema and rewrite rule

• Bonus: Native XML Execution format - easy to persist, distribute and move

Engine

[MTCOORD’05,COORDINATION’06]

Rewrite rules

Page 42: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

Extensible Formalization and Execution Engine

• Describe Process Language with XML Schema

• Describe Semantics of Process Language by XML rewrite rules

• Parametrize Engine with Schema and rewrite rule

• Bonus: Native XML Execution format - easy to persist, distribute and move

Engine

[MTCOORD’05,COORDINATION’06]

Rewrite rules

Page 43: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

Extensible Formalization and Execution Engine

• Describe Process Language with XML Schema

• Describe Semantics of Process Language by XML rewrite rules

• Parametrize Engine with Schema and rewrite rule

• Bonus: Native XML Execution format - easy to persist, distribute and move

Engine

[MTCOORD’05,COORDINATION’06]

Rewrite rules

Page 44: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

Extensible Formalization and Execution Engine

• Describe Process Language with XML Schema

• Describe Semantics of Process Language by XML rewrite rules

• Parametrize Engine with Schema and rewrite rule

• Bonus: Native XML Execution format - easy to persist, distribute and move

Engine

• Milners Bigraphical Reactive Systems are an ideal metamodel for formalizing XML rewriting

[MTCOORD’05,COORDINATION’06]

Rewrite rules

Page 45: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

XML rewriting example

Engine

<?xml version="1.0" ?>

<instance name="transfer">

<variables>

<variable name="accountA">

42

</variable>

<variable name="accountB">

<variable name="accountC">

</variables>

<sequence>

<assign>

<copy>

<from var="accountA"/>

<to var="accountB"/>

</copy>

</assign>

<next>

<assign>

<copy>

<from var="accountB"/>

<to var="accountC"/>

</copy>

</assign>

</next>

</sequence>

</instance>

Page 46: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

XML rewriting example

Engine

<?xml version="1.0" ?>

<instance name="transfer">

<variables>

<variable name="accountA">

42

</variable>

<variable name="accountB">

<variable name="accountC">

</variables>

<sequence>

<assign>

<copy>

<from var="accountA"/>

<to var="accountB"/>

</copy>

</assign>

<next>

<assign>

<copy>

<from var="accountB"/>

<to var="accountC"/>

</copy>

</assign>

</next>

</sequence>

</instance>

<?xml version="1.0" ?>

<process name="transfer">

<variables>

<variable name="accountA">

42

</variable>

<variable name="accountB">

42

</variable>

<variable name="accountC"/>

</variables>

<sequence>

<empty/>

<assign>

<copy>

<from var="accountB"/>

<to var="accountC"/>

</copy>

</assign>

</sequence>

</process>

Page 47: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

XML rewriting example

Engine

<?xml version="1.0" ?>

<process name="transfer">

<variables>

<variable name="accountA">

42

</variable>

<variable name="accountB">

42

</variable>

<variable name="accountC"/>

</variables>

<sequence>

<empty/>

<assign>

<copy>

<from var="accountB"/>

<to var="accountC"/>

</copy>

</assign>

</sequence>

</process>

assign variables

copyvariablevariable

from to

accountA accountB

sequence

P

P1 P2

P3

instance

transfer

Page 48: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

XML rewriting example

Engine

assign variables

copyvariablevariable

from to

accountA accountB

sequence

P

P1 P2

P3

instance

transfer

variables

variablevariable

accountA accountB

sequence

P

P1

P3

instance

transfer

P1

Page 49: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

Bigraph rewriting

Engine

assign variables

copyvariablevariable

from to

accountA accountB

sequence

P

P1 P2

P3

instance

transfer

variables

variablevariable

accountA accountB

sequence

P

P1

P3

instance

transfer

P1

Page 50: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

Tasklet orchestration revisited

• implemented prototype tasklet orchestration language

• extended with BPEL- like conditional control flow

<tasklet assembly ="IOTasklet" name="IOTasklet" type="MD"> <input type="constant" name="ToShow" value="How much is 19*16"/> </tasklet>

<if> <condition>19*16 &lt; [Result]</condition> <tasklet assembly ="IOTasklet" name="IOTasklet" type="MD"> <input type="constant" name="ToShow" value="Isn't that a bit much?"/> </tasklet> <elseif> <condition>19*16 > [Result]</condition> <tasklet assembly ="IOTasklet" name="IOTasklet" type="MD"> <input type="constant" name="ToShow" value="That's a bit low!"/> </tasklet> </elseif> <else> <sequence> <sequence> <tasklet assembly ="IOTasklet" name="IOTasklet" type="MD"> <!--Tasklet1View--> <input type="constant" name="ToShow" value="Correct!"/> </tasklet> </sequence> <sequence> </sequence> </sequence> </else> </if>

Page 51: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

HomeBPEL Extensions

(by the freeze action) and sent to the patients workflow process.

<process name="doctor"><partnerLinks>

<partnerLink name="hospital" /><partnerLink name="patient" /><partnerLink name="task_list_UI" />

</partnerLinks><subLinks>

<subLink name="treatment" /></subLinks><variables>

<variable name="treatment_template"><process name="treatment_template">...</process>

</variable><variable name="x" /><variable name="y"><from>true()</from></variable>

</variables><sequence>

<receive partnerLink="hospital" operation="doctor_hired"createInstance="yes" variable="x" />

<invoke partnerLink="task_list_UI" operation="init_UI"input_variable="x" output_variable="y" />

<reply partnerLink="hospital" operation="doctor_hired" variable="y" /><flow>

<while><condition>true()</condition><sequence>

<receive partnerLink="hospital" operation="patient" variable="x" /><reply partnerLink="hospital" operation="patient" variable="y" /><assign><copy>

<from variable="x" /><to partnerLink="patient" />

</copy></assign><thaw subLink="treatment" variable="treatment_template" /><invokeSub subLink="treatment" operation="consultation"

inputVariable="y" outputVariable="y" /><freeze subLink="treatment" variable="x" /><invoke partnerLink="patient" operation="run"

inputVariable="x" outputVariable="y" /></sequence>

</while><!-- while loop as in the patient process forwarding tasks to and

from the local task list user interface --></flow>

</sequence></process>

Figure 6: Doctor workflow process.

Fig. 7 shows an example of a treatment template. The template consists of two phases:A consultation phase invoked explicitly by the doctor and carried out within the doctorsworkflow, and a self-treatment phase carried out within the patients workflow. We havenot specified the specific tasks for each phase, which in general could be part of anarbitrarily complex workflow. However, we have illustrated how tasks in each phase canbe scheduled at the task list of the current super workflow by invoking the task operationby the invokeSup action. This shows how elegantly context-dependent communication isfacilitated in HomeBPEL. One could easily imagine that the treatment processes couldalso access local information, e.g. expertises of the doctor or relevant characteristics ofthe patient.

17

(by the freeze action) and sent to the patients workflow process.

<process name="doctor"><partnerLinks>

<partnerLink name="hospital" /><partnerLink name="patient" /><partnerLink name="task_list_UI" />

</partnerLinks><subLinks>

<subLink name="treatment" /></subLinks><variables>

<variable name="treatment_template"><process name="treatment_template">...</process>

</variable><variable name="x" /><variable name="y"><from>true()</from></variable>

</variables><sequence>

<receive partnerLink="hospital" operation="doctor_hired"createInstance="yes" variable="x" />

<invoke partnerLink="task_list_UI" operation="init_UI"input_variable="x" output_variable="y" />

<reply partnerLink="hospital" operation="doctor_hired" variable="y" /><flow>

<while><condition>true()</condition><sequence>

<receive partnerLink="hospital" operation="patient" variable="x" /><reply partnerLink="hospital" operation="patient" variable="y" /><assign><copy>

<from variable="x" /><to partnerLink="patient" />

</copy></assign><thaw subLink="treatment" variable="treatment_template" /><invokeSub subLink="treatment" operation="consultation"

inputVariable="y" outputVariable="y" /><freeze subLink="treatment" variable="x" /><invoke partnerLink="patient" operation="run"

inputVariable="x" outputVariable="y" /></sequence>

</while><!-- while loop as in the patient process forwarding tasks to and

from the local task list user interface --></flow>

</sequence></process>

Figure 6: Doctor workflow process.

Fig. 7 shows an example of a treatment template. The template consists of two phases:A consultation phase invoked explicitly by the doctor and carried out within the doctorsworkflow, and a self-treatment phase carried out within the patients workflow. We havenot specified the specific tasks for each phase, which in general could be part of anarbitrarily complex workflow. However, we have illustrated how tasks in each phase canbe scheduled at the task list of the current super workflow by invoking the task operationby the invokeSup action. This shows how elegantly context-dependent communication isfacilitated in HomeBPEL. One could easily imagine that the treatment processes couldalso access local information, e.g. expertises of the doctor or relevant characteristics ofthe patient.

17

19

[COORDINATION’08]

Page 52: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

HomeBPEL Extensions

(by the freeze action) and sent to the patients workflow process.

<process name="doctor"><partnerLinks>

<partnerLink name="hospital" /><partnerLink name="patient" /><partnerLink name="task_list_UI" />

</partnerLinks><subLinks>

<subLink name="treatment" /></subLinks><variables>

<variable name="treatment_template"><process name="treatment_template">...</process>

</variable><variable name="x" /><variable name="y"><from>true()</from></variable>

</variables><sequence>

<receive partnerLink="hospital" operation="doctor_hired"createInstance="yes" variable="x" />

<invoke partnerLink="task_list_UI" operation="init_UI"input_variable="x" output_variable="y" />

<reply partnerLink="hospital" operation="doctor_hired" variable="y" /><flow>

<while><condition>true()</condition><sequence>

<receive partnerLink="hospital" operation="patient" variable="x" /><reply partnerLink="hospital" operation="patient" variable="y" /><assign><copy>

<from variable="x" /><to partnerLink="patient" />

</copy></assign><thaw subLink="treatment" variable="treatment_template" /><invokeSub subLink="treatment" operation="consultation"

inputVariable="y" outputVariable="y" /><freeze subLink="treatment" variable="x" /><invoke partnerLink="patient" operation="run"

inputVariable="x" outputVariable="y" /></sequence>

</while><!-- while loop as in the patient process forwarding tasks to and

from the local task list user interface --></flow>

</sequence></process>

Figure 6: Doctor workflow process.

Fig. 7 shows an example of a treatment template. The template consists of two phases:A consultation phase invoked explicitly by the doctor and carried out within the doctorsworkflow, and a self-treatment phase carried out within the patients workflow. We havenot specified the specific tasks for each phase, which in general could be part of anarbitrarily complex workflow. However, we have illustrated how tasks in each phase canbe scheduled at the task list of the current super workflow by invoking the task operationby the invokeSup action. This shows how elegantly context-dependent communication isfacilitated in HomeBPEL. One could easily imagine that the treatment processes couldalso access local information, e.g. expertises of the doctor or relevant characteristics ofthe patient.

17

(by the freeze action) and sent to the patients workflow process.

<process name="doctor"><partnerLinks>

<partnerLink name="hospital" /><partnerLink name="patient" /><partnerLink name="task_list_UI" />

</partnerLinks><subLinks>

<subLink name="treatment" /></subLinks><variables>

<variable name="treatment_template"><process name="treatment_template">...</process>

</variable><variable name="x" /><variable name="y"><from>true()</from></variable>

</variables><sequence>

<receive partnerLink="hospital" operation="doctor_hired"createInstance="yes" variable="x" />

<invoke partnerLink="task_list_UI" operation="init_UI"input_variable="x" output_variable="y" />

<reply partnerLink="hospital" operation="doctor_hired" variable="y" /><flow>

<while><condition>true()</condition><sequence>

<receive partnerLink="hospital" operation="patient" variable="x" /><reply partnerLink="hospital" operation="patient" variable="y" /><assign><copy>

<from variable="x" /><to partnerLink="patient" />

</copy></assign><thaw subLink="treatment" variable="treatment_template" /><invokeSub subLink="treatment" operation="consultation"

inputVariable="y" outputVariable="y" /><freeze subLink="treatment" variable="x" /><invoke partnerLink="patient" operation="run"

inputVariable="x" outputVariable="y" /></sequence>

</while><!-- while loop as in the patient process forwarding tasks to and

from the local task list user interface --></flow>

</sequence></process>

Figure 6: Doctor workflow process.

Fig. 7 shows an example of a treatment template. The template consists of two phases:A consultation phase invoked explicitly by the doctor and carried out within the doctorsworkflow, and a self-treatment phase carried out within the patients workflow. We havenot specified the specific tasks for each phase, which in general could be part of anarbitrarily complex workflow. However, we have illustrated how tasks in each phase canbe scheduled at the task list of the current super workflow by invoking the task operationby the invokeSup action. This shows how elegantly context-dependent communication isfacilitated in HomeBPEL. One could easily imagine that the treatment processes couldalso access local information, e.g. expertises of the doctor or relevant characteristics ofthe patient.

17

Allow process descriptions

as values

19

[COORDINATION’08]

Page 53: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

HomeBPEL Extensions

(by the freeze action) and sent to the patients workflow process.

<process name="doctor"><partnerLinks>

<partnerLink name="hospital" /><partnerLink name="patient" /><partnerLink name="task_list_UI" />

</partnerLinks><subLinks>

<subLink name="treatment" /></subLinks><variables>

<variable name="treatment_template"><process name="treatment_template">...</process>

</variable><variable name="x" /><variable name="y"><from>true()</from></variable>

</variables><sequence>

<receive partnerLink="hospital" operation="doctor_hired"createInstance="yes" variable="x" />

<invoke partnerLink="task_list_UI" operation="init_UI"input_variable="x" output_variable="y" />

<reply partnerLink="hospital" operation="doctor_hired" variable="y" /><flow>

<while><condition>true()</condition><sequence>

<receive partnerLink="hospital" operation="patient" variable="x" /><reply partnerLink="hospital" operation="patient" variable="y" /><assign><copy>

<from variable="x" /><to partnerLink="patient" />

</copy></assign><thaw subLink="treatment" variable="treatment_template" /><invokeSub subLink="treatment" operation="consultation"

inputVariable="y" outputVariable="y" /><freeze subLink="treatment" variable="x" /><invoke partnerLink="patient" operation="run"

inputVariable="x" outputVariable="y" /></sequence>

</while><!-- while loop as in the patient process forwarding tasks to and

from the local task list user interface --></flow>

</sequence></process>

Figure 6: Doctor workflow process.

Fig. 7 shows an example of a treatment template. The template consists of two phases:A consultation phase invoked explicitly by the doctor and carried out within the doctorsworkflow, and a self-treatment phase carried out within the patients workflow. We havenot specified the specific tasks for each phase, which in general could be part of anarbitrarily complex workflow. However, we have illustrated how tasks in each phase canbe scheduled at the task list of the current super workflow by invoking the task operationby the invokeSup action. This shows how elegantly context-dependent communication isfacilitated in HomeBPEL. One could easily imagine that the treatment processes couldalso access local information, e.g. expertises of the doctor or relevant characteristics ofthe patient.

17

(by the freeze action) and sent to the patients workflow process.

<process name="doctor"><partnerLinks>

<partnerLink name="hospital" /><partnerLink name="patient" /><partnerLink name="task_list_UI" />

</partnerLinks><subLinks>

<subLink name="treatment" /></subLinks><variables>

<variable name="treatment_template"><process name="treatment_template">...</process>

</variable><variable name="x" /><variable name="y"><from>true()</from></variable>

</variables><sequence>

<receive partnerLink="hospital" operation="doctor_hired"createInstance="yes" variable="x" />

<invoke partnerLink="task_list_UI" operation="init_UI"input_variable="x" output_variable="y" />

<reply partnerLink="hospital" operation="doctor_hired" variable="y" /><flow>

<while><condition>true()</condition><sequence>

<receive partnerLink="hospital" operation="patient" variable="x" /><reply partnerLink="hospital" operation="patient" variable="y" /><assign><copy>

<from variable="x" /><to partnerLink="patient" />

</copy></assign><thaw subLink="treatment" variable="treatment_template" /><invokeSub subLink="treatment" operation="consultation"

inputVariable="y" outputVariable="y" /><freeze subLink="treatment" variable="x" /><invoke partnerLink="patient" operation="run"

inputVariable="x" outputVariable="y" /></sequence>

</while><!-- while loop as in the patient process forwarding tasks to and

from the local task list user interface --></flow>

</sequence></process>

Figure 6: Doctor workflow process.

Fig. 7 shows an example of a treatment template. The template consists of two phases:A consultation phase invoked explicitly by the doctor and carried out within the doctorsworkflow, and a self-treatment phase carried out within the patients workflow. We havenot specified the specific tasks for each phase, which in general could be part of anarbitrarily complex workflow. However, we have illustrated how tasks in each phase canbe scheduled at the task list of the current super workflow by invoking the task operationby the invokeSup action. This shows how elegantly context-dependent communication isfacilitated in HomeBPEL. One could easily imagine that the treatment processes couldalso access local information, e.g. expertises of the doctor or relevant characteristics ofthe patient.

17

Allow process descriptions

as values

Allow for thawing a process as a subprocessand invoke services inside it

19

[COORDINATION’08]

Page 54: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

HomeBPEL Extensions

(by the freeze action) and sent to the patients workflow process.

<process name="doctor"><partnerLinks>

<partnerLink name="hospital" /><partnerLink name="patient" /><partnerLink name="task_list_UI" />

</partnerLinks><subLinks>

<subLink name="treatment" /></subLinks><variables>

<variable name="treatment_template"><process name="treatment_template">...</process>

</variable><variable name="x" /><variable name="y"><from>true()</from></variable>

</variables><sequence>

<receive partnerLink="hospital" operation="doctor_hired"createInstance="yes" variable="x" />

<invoke partnerLink="task_list_UI" operation="init_UI"input_variable="x" output_variable="y" />

<reply partnerLink="hospital" operation="doctor_hired" variable="y" /><flow>

<while><condition>true()</condition><sequence>

<receive partnerLink="hospital" operation="patient" variable="x" /><reply partnerLink="hospital" operation="patient" variable="y" /><assign><copy>

<from variable="x" /><to partnerLink="patient" />

</copy></assign><thaw subLink="treatment" variable="treatment_template" /><invokeSub subLink="treatment" operation="consultation"

inputVariable="y" outputVariable="y" /><freeze subLink="treatment" variable="x" /><invoke partnerLink="patient" operation="run"

inputVariable="x" outputVariable="y" /></sequence>

</while><!-- while loop as in the patient process forwarding tasks to and

from the local task list user interface --></flow>

</sequence></process>

Figure 6: Doctor workflow process.

Fig. 7 shows an example of a treatment template. The template consists of two phases:A consultation phase invoked explicitly by the doctor and carried out within the doctorsworkflow, and a self-treatment phase carried out within the patients workflow. We havenot specified the specific tasks for each phase, which in general could be part of anarbitrarily complex workflow. However, we have illustrated how tasks in each phase canbe scheduled at the task list of the current super workflow by invoking the task operationby the invokeSup action. This shows how elegantly context-dependent communication isfacilitated in HomeBPEL. One could easily imagine that the treatment processes couldalso access local information, e.g. expertises of the doctor or relevant characteristics ofthe patient.

17

(by the freeze action) and sent to the patients workflow process.

<process name="doctor"><partnerLinks>

<partnerLink name="hospital" /><partnerLink name="patient" /><partnerLink name="task_list_UI" />

</partnerLinks><subLinks>

<subLink name="treatment" /></subLinks><variables>

<variable name="treatment_template"><process name="treatment_template">...</process>

</variable><variable name="x" /><variable name="y"><from>true()</from></variable>

</variables><sequence>

<receive partnerLink="hospital" operation="doctor_hired"createInstance="yes" variable="x" />

<invoke partnerLink="task_list_UI" operation="init_UI"input_variable="x" output_variable="y" />

<reply partnerLink="hospital" operation="doctor_hired" variable="y" /><flow>

<while><condition>true()</condition><sequence>

<receive partnerLink="hospital" operation="patient" variable="x" /><reply partnerLink="hospital" operation="patient" variable="y" /><assign><copy>

<from variable="x" /><to partnerLink="patient" />

</copy></assign><thaw subLink="treatment" variable="treatment_template" /><invokeSub subLink="treatment" operation="consultation"

inputVariable="y" outputVariable="y" /><freeze subLink="treatment" variable="x" /><invoke partnerLink="patient" operation="run"

inputVariable="x" outputVariable="y" /></sequence>

</while><!-- while loop as in the patient process forwarding tasks to and

from the local task list user interface --></flow>

</sequence></process>

Figure 6: Doctor workflow process.

Fig. 7 shows an example of a treatment template. The template consists of two phases:A consultation phase invoked explicitly by the doctor and carried out within the doctorsworkflow, and a self-treatment phase carried out within the patients workflow. We havenot specified the specific tasks for each phase, which in general could be part of anarbitrarily complex workflow. However, we have illustrated how tasks in each phase canbe scheduled at the task list of the current super workflow by invoking the task operationby the invokeSup action. This shows how elegantly context-dependent communication isfacilitated in HomeBPEL. One could easily imagine that the treatment processes couldalso access local information, e.g. expertises of the doctor or relevant characteristics ofthe patient.

17

Allow process descriptions

as values

Allow for thawing a process as a subprocessand invoke services inside it

Allow subprocesses

to be dynamically

frozen19

[COORDINATION’08]

Page 55: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

HomeBPEL Extensions

(by the freeze action) and sent to the patients workflow process.

<process name="doctor"><partnerLinks>

<partnerLink name="hospital" /><partnerLink name="patient" /><partnerLink name="task_list_UI" />

</partnerLinks><subLinks>

<subLink name="treatment" /></subLinks><variables>

<variable name="treatment_template"><process name="treatment_template">...</process>

</variable><variable name="x" /><variable name="y"><from>true()</from></variable>

</variables><sequence>

<receive partnerLink="hospital" operation="doctor_hired"createInstance="yes" variable="x" />

<invoke partnerLink="task_list_UI" operation="init_UI"input_variable="x" output_variable="y" />

<reply partnerLink="hospital" operation="doctor_hired" variable="y" /><flow>

<while><condition>true()</condition><sequence>

<receive partnerLink="hospital" operation="patient" variable="x" /><reply partnerLink="hospital" operation="patient" variable="y" /><assign><copy>

<from variable="x" /><to partnerLink="patient" />

</copy></assign><thaw subLink="treatment" variable="treatment_template" /><invokeSub subLink="treatment" operation="consultation"

inputVariable="y" outputVariable="y" /><freeze subLink="treatment" variable="x" /><invoke partnerLink="patient" operation="run"

inputVariable="x" outputVariable="y" /></sequence>

</while><!-- while loop as in the patient process forwarding tasks to and

from the local task list user interface --></flow>

</sequence></process>

Figure 6: Doctor workflow process.

Fig. 7 shows an example of a treatment template. The template consists of two phases:A consultation phase invoked explicitly by the doctor and carried out within the doctorsworkflow, and a self-treatment phase carried out within the patients workflow. We havenot specified the specific tasks for each phase, which in general could be part of anarbitrarily complex workflow. However, we have illustrated how tasks in each phase canbe scheduled at the task list of the current super workflow by invoking the task operationby the invokeSup action. This shows how elegantly context-dependent communication isfacilitated in HomeBPEL. One could easily imagine that the treatment processes couldalso access local information, e.g. expertises of the doctor or relevant characteristics ofthe patient.

17

(by the freeze action) and sent to the patients workflow process.

<process name="doctor"><partnerLinks>

<partnerLink name="hospital" /><partnerLink name="patient" /><partnerLink name="task_list_UI" />

</partnerLinks><subLinks>

<subLink name="treatment" /></subLinks><variables>

<variable name="treatment_template"><process name="treatment_template">...</process>

</variable><variable name="x" /><variable name="y"><from>true()</from></variable>

</variables><sequence>

<receive partnerLink="hospital" operation="doctor_hired"createInstance="yes" variable="x" />

<invoke partnerLink="task_list_UI" operation="init_UI"input_variable="x" output_variable="y" />

<reply partnerLink="hospital" operation="doctor_hired" variable="y" /><flow>

<while><condition>true()</condition><sequence>

<receive partnerLink="hospital" operation="patient" variable="x" /><reply partnerLink="hospital" operation="patient" variable="y" /><assign><copy>

<from variable="x" /><to partnerLink="patient" />

</copy></assign><thaw subLink="treatment" variable="treatment_template" /><invokeSub subLink="treatment" operation="consultation"

inputVariable="y" outputVariable="y" /><freeze subLink="treatment" variable="x" /><invoke partnerLink="patient" operation="run"

inputVariable="x" outputVariable="y" /></sequence>

</while><!-- while loop as in the patient process forwarding tasks to and

from the local task list user interface --></flow>

</sequence></process>

Figure 6: Doctor workflow process.

Fig. 7 shows an example of a treatment template. The template consists of two phases:A consultation phase invoked explicitly by the doctor and carried out within the doctorsworkflow, and a self-treatment phase carried out within the patients workflow. We havenot specified the specific tasks for each phase, which in general could be part of anarbitrarily complex workflow. However, we have illustrated how tasks in each phase canbe scheduled at the task list of the current super workflow by invoking the task operationby the invokeSup action. This shows how elegantly context-dependent communication isfacilitated in HomeBPEL. One could easily imagine that the treatment processes couldalso access local information, e.g. expertises of the doctor or relevant characteristics ofthe patient.

17

Allow process descriptions

as values

Allow for thawing a process as a subprocessand invoke services inside it

Allow subprocesses

to be dynamically

frozenAllow for sending processes 19

[COORDINATION’08]

Page 56: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

Conclusions

Process-oriented architecture supports customizable task-driven ERP access

Light-weight orchestration on PDA allows disconnected operation

XML rewriting/bigraphical reactive systems allows extensible languages, engines and formalizations

Higher-order Business Process Language allows to describe process management as business process

20

Page 57: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

Conclusions

Process-oriented architecture supports customizable task-driven ERP access

Light-weight orchestration on PDA allows disconnected operation

XML rewriting/bigraphical reactive systems allows extensible languages, engines and formalizations

Higher-order Business Process Language allows to describe process management as business process

20

Processes as data !

Page 58: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

pharmacy) where it functions as a prescription from the doctor. The controlling pharmacist controls the doctors dosage calculation and writes the information in a working slip that is used for the pharmacy assistant who is doing the preparation of the drug(s) in case. During preparation the quantity of all products as well as batch numbers are registered in the working slip, finally the working slip is signed by the pharmacy assistant, and the product - usually a drip bottle or a pump with a content and patient information note stuck to it – is referred to the controlling pharmacist for check out. When the controlling pharmacist has checked that the produced drug mixture and patient information note matches the flowchart and the working slip, the pharmacist put small green ticks on each item in the flowchart and finally signs it. Subsequently the flowchart and the product is referred to the treatment rooms, where the responsible nurse together with another authorised person (nurse or doctor) checks that the product and flowchart matches, both regarding content and patient information. The responsible nurse then signs the flowchart and the medicine is administered to the patient. In parallel to this the nurse will administer adjuvant medicine like anti-emetics, cortisol and other drugs that are prescribed in the local practice guidelines. The nurse registers the medication in the Medicine Order and Administration (MOA) IT system that currently is being implemented in all the oncology departments.

Ward

Pharmacy

flowchart

flowchart

Worksheed

Patient

+

Doctor

+

pharmacist

+

pharmacistassistent

Worksheed

flowchart+

Pharmacist

+

Nurse

flowchart

Pt. Adrug X

+

Pt. Adrug X

+

Pt. Adrug X

+

Patient

+

Nurse/doctor

Figure 2 Oncologic workflow in relation to chemotherapeutic treatment of patient

2.4 Preliminary conclusion to the case study

Several characteristics of the work were elucidated in the case study:

• There are several professional actors involved in even rather simple workflows like the ones we studied (they are all involved in more than one workflow at the same time).

cooperation between several oncology departments, frequently with a pharmaceutical company as a main sponsor and actor. Research protocols are often multinational.

Based on the protocols local practice guidelines (also referred to as standard treatment plans) are made as well as a treatment overview, in daily speech referred to as the “noughts and crosses” diagram. The noughts and crosses diagram describes the whole pathway including medical treatment as well as examinations during several months. There will often be deviations from the original plan due to side effects to treatment, other medical problems or resource problems in the hospital.

The flow of each chemotherapeutic treatment session is guided by the so-called patient flowchart, which also records the state of the treatment session. Below we will describe the workflow resulting from the flowchart in more detail; this will be the focus of the remaining part of the paper.

!"#"$%&'()%

*+$,-$%-(

.%"$+/",+

0%)+)&)123045 -1 0 1373 17 30

Activity

Activity

Activity

Activity

Activity

Activity

O

O

O

O

O

O

O O O

O

O

O

O

6)78'+#

9(

&%)##"#

:1);<

&'$%+

General Guidelines

General Guidelines

=)&$1

0%$&+>&"

47>-"1>,"

session

Dosage

session session session

D sign

P sign

N sign

Lab res.

N adm

Figure 1 overview of the relation between research protocols/standard treatment plans,

local practice guidelines (standard plans) and flow charts. General guidelines are the general guidelines in use at the hospital, containing issues like the treatment of diabetes.

2.3 Current workflow for chemotherapy treatment sessions.

Figure 2 shows an overview of the workflow which is reiterated in every chemotherapeutic treatment session. In the flowchart the basic information about the patient is registered, including the latest lab results as well as height, weight of the patient. Based on these information’s and the patient history of any major adverse effects, the doctor calculates the therapeutic doses of chemotherapy, documents it on the flowchart and signs it. The flowchart is transferred from the doctor to the controlling pharmacist (who can be situated near by in the clinic or far away in the

Future work

21

Page 59: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

pharmacy) where it functions as a prescription from the doctor. The controlling pharmacist controls the doctors dosage calculation and writes the information in a working slip that is used for the pharmacy assistant who is doing the preparation of the drug(s) in case. During preparation the quantity of all products as well as batch numbers are registered in the working slip, finally the working slip is signed by the pharmacy assistant, and the product - usually a drip bottle or a pump with a content and patient information note stuck to it – is referred to the controlling pharmacist for check out. When the controlling pharmacist has checked that the produced drug mixture and patient information note matches the flowchart and the working slip, the pharmacist put small green ticks on each item in the flowchart and finally signs it. Subsequently the flowchart and the product is referred to the treatment rooms, where the responsible nurse together with another authorised person (nurse or doctor) checks that the product and flowchart matches, both regarding content and patient information. The responsible nurse then signs the flowchart and the medicine is administered to the patient. In parallel to this the nurse will administer adjuvant medicine like anti-emetics, cortisol and other drugs that are prescribed in the local practice guidelines. The nurse registers the medication in the Medicine Order and Administration (MOA) IT system that currently is being implemented in all the oncology departments.

Ward

Pharmacy

flowchart

flowchart

Worksheed

Patient

+

Doctor

+

pharmacist

+

pharmacistassistent

Worksheed

flowchart+

Pharmacist

+

Nurse

flowchart

Pt. Adrug X

+

Pt. Adrug X

+

Pt. Adrug X

+

Patient

+

Nurse/doctor

Figure 2 Oncologic workflow in relation to chemotherapeutic treatment of patient

2.4 Preliminary conclusion to the case study

Several characteristics of the work were elucidated in the case study:

• There are several professional actors involved in even rather simple workflows like the ones we studied (they are all involved in more than one workflow at the same time).

cooperation between several oncology departments, frequently with a pharmaceutical company as a main sponsor and actor. Research protocols are often multinational.

Based on the protocols local practice guidelines (also referred to as standard treatment plans) are made as well as a treatment overview, in daily speech referred to as the “noughts and crosses” diagram. The noughts and crosses diagram describes the whole pathway including medical treatment as well as examinations during several months. There will often be deviations from the original plan due to side effects to treatment, other medical problems or resource problems in the hospital.

The flow of each chemotherapeutic treatment session is guided by the so-called patient flowchart, which also records the state of the treatment session. Below we will describe the workflow resulting from the flowchart in more detail; this will be the focus of the remaining part of the paper.

!"#"$%&'()%

*+$,-$%-(

.%"$+/",+

0%)+)&)123045 -1 0 1373 17 30

Activity

Activity

Activity

Activity

Activity

Activity

O

O

O

O

O

O

O O O

O

O

O

O

6)78'+#

9(

&%)##"#

:1);<

&'$%+

General Guidelines

General Guidelines

=)&$1

0%$&+>&"

47>-"1>,"

session

Dosage

session session session

D sign

P sign

N sign

Lab res.

N adm

Figure 1 overview of the relation between research protocols/standard treatment plans,

local practice guidelines (standard plans) and flow charts. General guidelines are the general guidelines in use at the hospital, containing issues like the treatment of diabetes.

2.3 Current workflow for chemotherapy treatment sessions.

Figure 2 shows an overview of the workflow which is reiterated in every chemotherapeutic treatment session. In the flowchart the basic information about the patient is registered, including the latest lab results as well as height, weight of the patient. Based on these information’s and the patient history of any major adverse effects, the doctor calculates the therapeutic doses of chemotherapy, documents it on the flowchart and signs it. The flowchart is transferred from the doctor to the controlling pharmacist (who can be situated near by in the clinic or far away in the

Future work

Field studies of mobile work processes and coordination

21

Page 60: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

pharmacy) where it functions as a prescription from the doctor. The controlling pharmacist controls the doctors dosage calculation and writes the information in a working slip that is used for the pharmacy assistant who is doing the preparation of the drug(s) in case. During preparation the quantity of all products as well as batch numbers are registered in the working slip, finally the working slip is signed by the pharmacy assistant, and the product - usually a drip bottle or a pump with a content and patient information note stuck to it – is referred to the controlling pharmacist for check out. When the controlling pharmacist has checked that the produced drug mixture and patient information note matches the flowchart and the working slip, the pharmacist put small green ticks on each item in the flowchart and finally signs it. Subsequently the flowchart and the product is referred to the treatment rooms, where the responsible nurse together with another authorised person (nurse or doctor) checks that the product and flowchart matches, both regarding content and patient information. The responsible nurse then signs the flowchart and the medicine is administered to the patient. In parallel to this the nurse will administer adjuvant medicine like anti-emetics, cortisol and other drugs that are prescribed in the local practice guidelines. The nurse registers the medication in the Medicine Order and Administration (MOA) IT system that currently is being implemented in all the oncology departments.

Ward

Pharmacy

flowchart

flowchart

Worksheed

Patient

+

Doctor

+

pharmacist

+

pharmacistassistent

Worksheed

flowchart+

Pharmacist

+

Nurse

flowchart

Pt. Adrug X

+

Pt. Adrug X

+

Pt. Adrug X

+

Patient

+

Nurse/doctor

Figure 2 Oncologic workflow in relation to chemotherapeutic treatment of patient

2.4 Preliminary conclusion to the case study

Several characteristics of the work were elucidated in the case study:

• There are several professional actors involved in even rather simple workflows like the ones we studied (they are all involved in more than one workflow at the same time).

cooperation between several oncology departments, frequently with a pharmaceutical company as a main sponsor and actor. Research protocols are often multinational.

Based on the protocols local practice guidelines (also referred to as standard treatment plans) are made as well as a treatment overview, in daily speech referred to as the “noughts and crosses” diagram. The noughts and crosses diagram describes the whole pathway including medical treatment as well as examinations during several months. There will often be deviations from the original plan due to side effects to treatment, other medical problems or resource problems in the hospital.

The flow of each chemotherapeutic treatment session is guided by the so-called patient flowchart, which also records the state of the treatment session. Below we will describe the workflow resulting from the flowchart in more detail; this will be the focus of the remaining part of the paper.

!"#"$%&'()%

*+$,-$%-(

.%"$+/",+

0%)+)&)123045 -1 0 1373 17 30

Activity

Activity

Activity

Activity

Activity

Activity

O

O

O

O

O

O

O O O

O

O

O

O

6)78'+#

9(

&%)##"#

:1);<

&'$%+

General Guidelines

General Guidelines

=)&$1

0%$&+>&"

47>-"1>,"

session

Dosage

session session session

D sign

P sign

N sign

Lab res.

N adm

Figure 1 overview of the relation between research protocols/standard treatment plans,

local practice guidelines (standard plans) and flow charts. General guidelines are the general guidelines in use at the hospital, containing issues like the treatment of diabetes.

2.3 Current workflow for chemotherapy treatment sessions.

Figure 2 shows an overview of the workflow which is reiterated in every chemotherapeutic treatment session. In the flowchart the basic information about the patient is registered, including the latest lab results as well as height, weight of the patient. Based on these information’s and the patient history of any major adverse effects, the doctor calculates the therapeutic doses of chemotherapy, documents it on the flowchart and signs it. The flowchart is transferred from the doctor to the controlling pharmacist (who can be situated near by in the clinic or far away in the

Future work

Field studies of mobile work processes and coordination

BPEL-like process languages not really flexible...

21

Page 61: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

pharmacy) where it functions as a prescription from the doctor. The controlling pharmacist controls the doctors dosage calculation and writes the information in a working slip that is used for the pharmacy assistant who is doing the preparation of the drug(s) in case. During preparation the quantity of all products as well as batch numbers are registered in the working slip, finally the working slip is signed by the pharmacy assistant, and the product - usually a drip bottle or a pump with a content and patient information note stuck to it – is referred to the controlling pharmacist for check out. When the controlling pharmacist has checked that the produced drug mixture and patient information note matches the flowchart and the working slip, the pharmacist put small green ticks on each item in the flowchart and finally signs it. Subsequently the flowchart and the product is referred to the treatment rooms, where the responsible nurse together with another authorised person (nurse or doctor) checks that the product and flowchart matches, both regarding content and patient information. The responsible nurse then signs the flowchart and the medicine is administered to the patient. In parallel to this the nurse will administer adjuvant medicine like anti-emetics, cortisol and other drugs that are prescribed in the local practice guidelines. The nurse registers the medication in the Medicine Order and Administration (MOA) IT system that currently is being implemented in all the oncology departments.

Ward

Pharmacy

flowchart

flowchart

Worksheed

Patient

+

Doctor

+

pharmacist

+

pharmacistassistent

Worksheed

flowchart+

Pharmacist

+

Nurse

flowchart

Pt. Adrug X

+

Pt. Adrug X

+

Pt. Adrug X

+

Patient

+

Nurse/doctor

Figure 2 Oncologic workflow in relation to chemotherapeutic treatment of patient

2.4 Preliminary conclusion to the case study

Several characteristics of the work were elucidated in the case study:

• There are several professional actors involved in even rather simple workflows like the ones we studied (they are all involved in more than one workflow at the same time).

cooperation between several oncology departments, frequently with a pharmaceutical company as a main sponsor and actor. Research protocols are often multinational.

Based on the protocols local practice guidelines (also referred to as standard treatment plans) are made as well as a treatment overview, in daily speech referred to as the “noughts and crosses” diagram. The noughts and crosses diagram describes the whole pathway including medical treatment as well as examinations during several months. There will often be deviations from the original plan due to side effects to treatment, other medical problems or resource problems in the hospital.

The flow of each chemotherapeutic treatment session is guided by the so-called patient flowchart, which also records the state of the treatment session. Below we will describe the workflow resulting from the flowchart in more detail; this will be the focus of the remaining part of the paper.

!"#"$%&'()%

*+$,-$%-(

.%"$+/",+

0%)+)&)123045 -1 0 1373 17 30

Activity

Activity

Activity

Activity

Activity

Activity

O

O

O

O

O

O

O O O

O

O

O

O

6)78'+#

9(

&%)##"#

:1);<

&'$%+

General Guidelines

General Guidelines

=)&$1

0%$&+>&"

47>-"1>,"

session

Dosage

session session session

D sign

P sign

N sign

Lab res.

N adm

Figure 1 overview of the relation between research protocols/standard treatment plans,

local practice guidelines (standard plans) and flow charts. General guidelines are the general guidelines in use at the hospital, containing issues like the treatment of diabetes.

2.3 Current workflow for chemotherapy treatment sessions.

Figure 2 shows an overview of the workflow which is reiterated in every chemotherapeutic treatment session. In the flowchart the basic information about the patient is registered, including the latest lab results as well as height, weight of the patient. Based on these information’s and the patient history of any major adverse effects, the doctor calculates the therapeutic doses of chemotherapy, documents it on the flowchart and signs it. The flowchart is transferred from the doctor to the controlling pharmacist (who can be situated near by in the clinic or far away in the

Future work

Field studies of mobile work processes and coordination

BPEL-like process languages not really flexible...

Domain specific and declarative process languages

21

Page 62: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

pharmacy) where it functions as a prescription from the doctor. The controlling pharmacist controls the doctors dosage calculation and writes the information in a working slip that is used for the pharmacy assistant who is doing the preparation of the drug(s) in case. During preparation the quantity of all products as well as batch numbers are registered in the working slip, finally the working slip is signed by the pharmacy assistant, and the product - usually a drip bottle or a pump with a content and patient information note stuck to it – is referred to the controlling pharmacist for check out. When the controlling pharmacist has checked that the produced drug mixture and patient information note matches the flowchart and the working slip, the pharmacist put small green ticks on each item in the flowchart and finally signs it. Subsequently the flowchart and the product is referred to the treatment rooms, where the responsible nurse together with another authorised person (nurse or doctor) checks that the product and flowchart matches, both regarding content and patient information. The responsible nurse then signs the flowchart and the medicine is administered to the patient. In parallel to this the nurse will administer adjuvant medicine like anti-emetics, cortisol and other drugs that are prescribed in the local practice guidelines. The nurse registers the medication in the Medicine Order and Administration (MOA) IT system that currently is being implemented in all the oncology departments.

Ward

Pharmacy

flowchart

flowchart

Worksheed

Patient

+

Doctor

+

pharmacist

+

pharmacistassistent

Worksheed

flowchart+

Pharmacist

+

Nurse

flowchart

Pt. Adrug X

+

Pt. Adrug X

+

Pt. Adrug X

+

Patient

+

Nurse/doctor

Figure 2 Oncologic workflow in relation to chemotherapeutic treatment of patient

2.4 Preliminary conclusion to the case study

Several characteristics of the work were elucidated in the case study:

• There are several professional actors involved in even rather simple workflows like the ones we studied (they are all involved in more than one workflow at the same time).

cooperation between several oncology departments, frequently with a pharmaceutical company as a main sponsor and actor. Research protocols are often multinational.

Based on the protocols local practice guidelines (also referred to as standard treatment plans) are made as well as a treatment overview, in daily speech referred to as the “noughts and crosses” diagram. The noughts and crosses diagram describes the whole pathway including medical treatment as well as examinations during several months. There will often be deviations from the original plan due to side effects to treatment, other medical problems or resource problems in the hospital.

The flow of each chemotherapeutic treatment session is guided by the so-called patient flowchart, which also records the state of the treatment session. Below we will describe the workflow resulting from the flowchart in more detail; this will be the focus of the remaining part of the paper.

!"#"$%&'()%

*+$,-$%-(

.%"$+/",+

0%)+)&)123045 -1 0 1373 17 30

Activity

Activity

Activity

Activity

Activity

Activity

O

O

O

O

O

O

O O O

O

O

O

O

6)78'+#

9(

&%)##"#

:1);<

&'$%+

General Guidelines

General Guidelines

=)&$1

0%$&+>&"

47>-"1>,"

session

Dosage

session session session

D sign

P sign

N sign

Lab res.

N adm

Figure 1 overview of the relation between research protocols/standard treatment plans,

local practice guidelines (standard plans) and flow charts. General guidelines are the general guidelines in use at the hospital, containing issues like the treatment of diabetes.

2.3 Current workflow for chemotherapy treatment sessions.

Figure 2 shows an overview of the workflow which is reiterated in every chemotherapeutic treatment session. In the flowchart the basic information about the patient is registered, including the latest lab results as well as height, weight of the patient. Based on these information’s and the patient history of any major adverse effects, the doctor calculates the therapeutic doses of chemotherapy, documents it on the flowchart and signs it. The flowchart is transferred from the doctor to the controlling pharmacist (who can be situated near by in the clinic or far away in the

Future work

Field studies of mobile work processes and coordination

BPEL-like process languages not really flexible...

Domain specific and declarative process languages

Types for secure higher-order processes and process interaction

21

Page 63: Computer Supported Mobile Adaptive Business Processes for ...hjemmesider.diku.dk/~henglein/3gERP-workshop-2008/slides/hildebrandt...Computer Supported Mobile Adaptive Business Processes

Figur 10: KOS disponering: dagsplan og besøgstildeling.

APPENDIKS 189

Future work

Field studies of mobile work processes and coordination

BPEL-like process languages not really flexible...

Domain specific and declarative process languages

Types for secure higher-order processes and process interaction

21 Thank you for your attention!www.cosmobiz.org & www.trustcare.eu