Natural like language for quickly modeling BPMN 2.0 models
Branch: develop
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
core
docker
gradle/wrapper
web
.gitignore
.travis.yml
CHANGELOG.md
LICENSE
Procfile
README.md
demo_server_startup.sh
gradlew
gradlew.bat
logo.png
process.json
settings.gradle

README.md

alt text

Build Status codecov Version FOSSA Status

Software by Niklas Kiefer, MIT License

Table of Contents

Introduction

Bncl (binkel) ist a natural like creation language for bpmn-process-models, based on java and bpmn 2.0 xml Powered by Camunda's BPMN Model API . To execute the CLI and convert a bncl statement to bpmn, download the current release-version.

$ java -jar bncl-[versionNr.].jar

For more information, see the wiki!

example bncl-statement:

lets create a process with startevent signed startEvent1 called message incoming with usertask signed usertask1 called do something with usertask signed usertask2 with parallelgateway signed gateway1 with parallelgateway signed gateway2 with sequenceflow comesfrom startevent1 goesto gateway1 with sequenceflow comesfrom gateway1 goesto usertask1 with sequenceflow comesfrom gateway1 goesto usertask2 with sequenceflow comesfrom usertask1 goesto gateway2 with sequenceflow comesfrom usertask2 goesto gateway2 with endevent signed endevent1 called terminated with sequenceflow comesfrom gateway2 goesto endevent1

If it was successful, a .xml and .bpmn file is generated in same folder. Open one file in your favorite BPMN-Editor, like

Note: The Bncl-to-BPMN-converter only generates a valid xml-document in the BPMN-2.0-Schema. Not all editors supports a bpmn-file without rendering information (e.g.

<bpmndi:BPMNDiagram id="BPMNDiagram_1">
    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_1">
      <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
        <dc:Bounds x="173" y="102" width="36" height="36" />
      </bpmndi:BPMNShape>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>

Auto-layout

There is also a possibility to add these di-elements to the generated bpmn. Either you use the demo-webpage or the bncl-autolayout repository.

Demo

There is also a web demo available: http://bncl.de. On the web demo, the bncl-parser also autolayouts the created bpmn-string so it can used in several BPMN modeler. Please feel free to try it out!

Or try it out locally:

$ sh demo_server_startup.sh

Development

Bncl is a Gradle-Project!

build a jar

$ ./gradlew build

run tests

$ ./gradlew check

Feel free to contribute. Just create an issue or create a pull request.

BNCL-structure

everything in bncl is case insensitive, but it is always a good idea to write it in small letters.

lets create a process

is a keyword group that signs the beginning of a bncl-statement

with

is a keyword that signs the beginning of a process element

sequenceworkflow

signs a sequence workflow between process elements. comesfrom with given id signs the fromElement, goesto signes the toElement.

See the wiki for all element types!

License

FOSSA Status