A Java tool for graph-based translation of BPM process into HTN planning domains
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



A Java tool for graph-based translation of BPM process into HTN planning domains

What is JABBAH?

JABBAH is a Java Aplication framework for the translation Between BPM (Business Process Models) And HTN-PDDL (Hierarchical Planning Domains). 

The JABBAH system provides a neat tool for analysts that need to perform resource allocation analysis on business workflows, embedding a non-trivial transformation of BPMN-expressed workflows in terms of Hierarchical Task Networks. By providing a fully automated support of the analysis, allowing engineers to exploit the vastly diffused Business Process Management Notation (BPMN) standard for workflow specification, and neatly presenting the results, this system may appeal a very wide and relevant audience. Hencefore, JABBAH may have a considerable potential impact outside the planning community.

Where can I find further details?

A scientific paper about JABBAH was presented at ICKEPS 2009 (Award of excellence), and further improvements were presented in BPM 2010 Demo Track

A extended scientific paper has been recently published at the Knowledge Engineering Review journal, available here.

Have a look at the new video screencast as well.

Who developed it?

Arturo González Ferrer created JABBAH under the supervision of professors Juan Fernández Olivares and Luis Castillo Vidal. See Contact Info for details.


  • Import standard XPDL files (tested with TIBCO business studio, XPDL v.2.1)
  • Logging system to give detailed output about SEVERE/ERROR/WARNINGs messages.
  • Construct equivalent graph model and tree model with jgraph and jgraphT
  • Include support for translating different maximally connected components of a process model.
  • Use a specific Block Detection Algorithm for detecting workflow patterns.
  • Consider participants and lanes to get activities resource allocation.
  • Consider extended attributes 'Duration' (for activities) and 'Lane' (for Participants).
  • Translate the tree model into HTN-PDDL domain and problem files

Demo: Have a look at the next screencast, that shows the complete life-cycle of designing a Business Process Model, extract the corresponding HTN planning domain and problem, obtain a plan instance for the process model, and deploy it into a BPMS as Bonita Open Solution, so that it is ubiquitously executed by the participants involved:

[IMAGE ALT TEXT] (http://www.youtube.com/watch?v=FOHYsMWvS1c "JABBAH Demonstration")

The Graph view, as parsed from XPDL:

The Nested Process Model, necessary to make the transation to HTN's easier: