This module defines a bi-directional BPMN to BPEL transformation
data BPMNComp
The type of BPMN edges.
Constructors:
BPMNStart
:: BPMNComp
BPMNEnd
:: BPMNComp
BPMNPGW
:: BPMNComp
BPMNXGW
:: String -> String -> BPMNComp
BPMNActivity
:: String -> BPMNComp
BPMNInter
:: BPMNInterKind -> String -> BPMNComp
data BPMNInterKind
Constructors:
BPMNWait
:: BPMNInterKind
BPMNReceive
:: BPMNInterKind
data 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
type BPEL
= [BPELComp]
Sequences of activities of a BPEL process.
An exampe BPMN graph.
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
bpelComp2xml
:: BPELComp -> String
indent
:: Int -> String -> String