Constructing a bidirectional transformation between BPMN and BPEL with a functional logic programming language

Journal of Visual Languages & Computing(2011)

引用 44|浏览0
暂无评分
摘要
In this article we show how functional logic programming techniques can be used to construct a bidirectional transformation between structured process models of the business process modeling notation (BPMN) and executable models of the business process execution language (BPEL). We specify the abstract syntax of structured process models by a context-free hypergraph grammar. This grammar can be subsequently transformed into a graph parser using our previously developed Grappa framework of functional logic GRAPh PArser combinators. The Grappa framework has been implemented using the functional logic programming language Curry. Furthermore, we show how the constructed parsers can be enriched with semantic computations as required for the synthesis of BPEL from BPMN. Since our parser is a function implemented in a functional logic language, it can be applied in both directions. Thus, given a BPEL model, a corresponding BPMN graph can be constructed with the very same parser. Finally, logic-based parsers can be used for model completion and language generation in a straightforward way. In order to be self-contained, this article also surveys context-free hypergraph grammars, the concepts of the programming language Curry, the example languages BPMN and BPEL, and the ideas of the Grappa framework. Actually, this article is a literate Curry program and, as such, directly executable. Thus, it contains the complete concise source code of our application.
更多
查看译文
关键词
business process execution language,structured process model,language generation,business process modeling notation,bpel model,grappa framework,context-free hypergraph grammar,functional logic programming language,bidirectional transformation,functional logic language,programming language curry,abstract syntax,parser combinators,source code,business process models,bpmn,process model,business process model,bpel,programming language,functional logic programming
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要