Module BPMN2BPEL

This module defines a bi-directional BPMN to BPEL transformation

Exported Datatypes


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:


type BPEL = [BPELComp]

Sequences of activities of a BPEL process.


Exported Functions


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

An exampe BPMN graph.

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

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

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])])  Non-deterministic 


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


bpel2xml :: [BPELComp] -> String  Deterministic 

Shows a BPEL as a string in XML format.


seq2xml :: [BPELComp] -> String  Deterministic 

Further infos:
  • partially defined

bpelComp2xml :: BPELComp -> String  Deterministic 


indent :: Int -> String -> String  Deterministic