The Computer Journal
How to replace failure by a list of successes
Proc. of a conference on Functional programming languages and computer architecture
Theoretical Computer Science
Definite-clause set grammars: a formalism for problem solving
Journal of Logic Programming
A general framework for bidirectional translation between abstract and pictorial data
ACM Transactions on Information Systems (TOIS) - Special issue on user interface software and technology
The program structure tree: computing control regions in linear time
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
Logic programming in a fragment of intuitionistic linear logic
Papers presented at the IEEE symposium on Logic in computer science
Hyperedge replacement graph grammars
Handbook of graph grammars and computing by graph transformation
Automated Theorem-Proving for Theories with Simplifiers Commutativity, and Associativity
Journal of the ACM (JACM)
Application of graph transformation to visual languages
Handbook of graph grammars and computing by graph transformation
Journal of the ACM (JACM)
Concepts and realization of a diagram editor generator based on hypergraph transformation
Science of Computer Programming - Special issue on applications of graph transformations (GRATRA 2000)
Deductive Parsing of Visual Languages
LACL '01 Proceedings of the 4th International Conference on Logical Aspects of Computational Linguistics
A Functional Logic Programming Approach to Graphical User Interfaces
PADL '00 Proceedings of the Second International Workshop on Practical Aspects of Declarative Languages
High-Level Server Side Web Scripting in Curry
PADL '01 Proceedings of the Third International Symposium on Practical Aspects of Declarative Languages
Hypergraphs as a Uniform Diagram Representation Model
TAGT'98 Selected papers from the 6th International Workshop on Theory and Application of Graph Transformations
Implementing Encapsulated Search for a Lazy Functional Logic Language
FLOPS '99 Proceedings of the 4th Fuji International Symposium on Functional and Logic Programming
A Functional-Logic Perspective on Parsing
FLOPS '99 Proceedings of the 4th Fuji International Symposium on Functional and Logic Programming
Functional Logic Design Patterns
FLOPS '02 Proceedings of the 6th International Symposium on Functional and Logic Programming
Creating Semantic Representations of Diagrams
AGTIVE '99 Proceedings of the International Workshop on Applications of Graph Transformations with Industrial Relevance
Fast, Error Correcting Parser Combinatiors: A Short Tutorial
SOFSEM '99 Proceedings of the 26th Conference on Current Trends in Theory and Practice of Informatics on Theory and Practice of Informatics
Specification of Graph Translators with Triple Graph Grammars
WG '94 Proceedings of the 20th International Workshop on Graph-Theoretic Concepts in Computer Science
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A functional logic database library
Proceedings of the 2005 ACM SIGPLAN workshop on Curry and functional logic programming
Type-oriented construction of web user interfaces
Proceedings of the 8th ACM SIGPLAN international conference on Principles and practice of declarative programming
What business process modelers can learn from programmers
Science of Computer Programming
A Proposal for Disequality Constraints in Curry
Electronic Notes in Theoretical Computer Science (ENTCS)
Partial Parsing: Combining Choice with Commitment
Implementation and Application of Functional Languages
Functional-Logic Graph Parser Combinators
RTA '08 Proceedings of the 19th international conference on Rewriting Techniques and Applications
An Algorithm for Hypergraph Completion According to Hyperedge Replacement Grammars
ICGT '08 Proceedings of the 4th international conference on Graph Transformations
The Refined Process Structure Tree
BPM '08 Proceedings of the 6th International Conference on Business Process Management
Auto-completion for diagram editors based on graph grammars
VLHCC '08 Proceedings of the 2008 IEEE Symposium on Visual Languages and Human-Centric Computing
Hierarchical Design Rewriting with Maude
Electronic Notes in Theoretical Computer Science (ENTCS)
Seven process modeling guidelines (7PMG)
Information and Software Technology
Business Process Models as a Showcase for Syntax-Based Assistance in Diagram Editors
MODELS '09 Proceedings of the 12th International Conference on Model Driven Engineering Languages and Systems
Communications of the ACM
Pair grammars, graph languages and string-to-graph translations
Journal of Computer and System Sciences
Multi-paradigm declarative languages
ICLP'07 Proceedings of the 23rd international conference on Logic programming
High-level database programming in curry
PADL'08 Proceedings of the 10th international conference on Practical aspects of declarative languages
An ER-based framework for declarative web programming
PADL'10 Proceedings of the 12th international conference on Practical Aspects of Declarative Languages
Translating standard process models to BPEL
CAiSE'06 Proceedings of the 18th international conference on Advanced Information Systems Engineering
Journal of Visual Languages and Computing
Hi-index | 0.00 |
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.