Module BPMN2BPEL

This module defines a bi-directional BPMN to BPEL transformation

Summary of exported operations:

ex :: [(BPMNComp,[Int])]   
An exampe BPMN graph.
processS :: [(BPMNComp,[Int])] -> ([BPELComp],[(BPMNComp,[Int])])   
The main parsing operation.
flowS :: (Int,Int) -> [(BPMNComp,[Int])] -> ([BPELComp],[(BPMNComp,[Int])])   
flElemS :: (Int,Int) -> [(BPMNComp,[Int])] -> (BPELComp,[(BPMNComp,[Int])])   
bpel2xml :: [BPELComp] -> String   
Shows a BPEL as a string in XML format.
seq2xml :: [BPELComp] -> String   
bpelComp2xml :: BPELComp -> String   
indent :: Int -> String -> String   

Exported datatypes:


BPMNComp

The type of BPMN edges.

Constructors:

  • BPMNStart :: BPMNComp
  • BPMNEnd :: BPMNComp
  • BPMNPGW :: BPMNComp
  • BPMNXGW :: String -> String -> BPMNComp
  • BPMNActivity :: String -> BPMNComp
  • BPMNInter :: BPMNInterKind -> String -> BPMNComp

BPMNInterKind

Constructors:

  • BPMNWait :: BPMNInterKind
  • BPMNReceive :: BPMNInterKind

BPELComp

The type of activities of a BPEL process.

Constructors:

  • Invoke :: String -> BPELComp
  • Wait :: String -> BPELComp
  • Receive :: String -> BPELComp
  • Flow :: BPEL -> BPEL -> BPELComp
  • Switch :: String -> String -> BPEL -> BPEL -> BPELComp

BPEL

Sequences of activities of a BPEL process.

Type synonym: BPEL = [BPELComp]


Exported operations:

ex :: [(BPMNComp,[Int])]   

An exampe BPMN graph.

Further infos:
  • solution complete, i.e., able to compute all solutions

processS :: [(BPMNComp,[Int])] -> ([BPELComp],[(BPMNComp,[Int])])   

The main parsing operation. The parser works on typed hypergraphs with edges of type BPMNComp and returns a semantic value of type BPEL (the BPEL corresponding to the input BPMN).

flowS :: (Int,Int) -> [(BPMNComp,[Int])] -> ([BPELComp],[(BPMNComp,[Int])])   

flElemS :: (Int,Int) -> [(BPMNComp,[Int])] -> (BPELComp,[(BPMNComp,[Int])])   

bpel2xml :: [BPELComp] -> String   

Shows a BPEL as a string in XML format.

seq2xml :: [BPELComp] -> String   

Further infos:
  • partially defined

bpelComp2xml :: BPELComp -> String   

indent :: Int -> String -> String