Code Monkey home page Code Monkey logo

icgt-2023's Introduction

DOI

ICGT-2023

This repository contains the sources for our paper (pre-print) published at ICGT-2023 together with additional information below.

The corresponding BPMN Analyzer tool is available here.

โ˜… The paper received the Best Software Science Paper Award. โ˜…

BPMN Semantics formalization

Our wiki describes the BPMN formalization in more detail, accompanied by many examples of BPMN models and graph transformation rule examples.

Process termination

Process termination is implemented by the following graph transformation rule in Groove:

Atomic property AllTerminated implemented in Groove.

The rule is called Terminate and is automatically added during graph grammar generation. The dashed red borders mark parts of negative application conditions, grey parts remain untouched, blue parts are deleted, and green parts are added.

Model Checking BPMN

General BPMN properties

General BPMN properties can be checked in the web-based tool, which runs Groove in the cloud (no local installation needed).

The Implementation section shows a screenshot with an example verification result.

Safeness

The atomic property Unsafe is implemented by the following graph condition in Groove:

Atomic property Unsafe implemented in Groove.

The property matches whenever two tokens of one process snapshot have the same position (but have different identities).

Option to complete

The atomic property AllTerminated is implemented by the following graph condition in Groove:

Atomic property AllTerminated implemented in Groove.

The property matches whenever there is no process snapshot in the state running. All process snapshots are terminated, i.e., have no tokens.

Custom properties

Defining atomic propositions directly in BPMN Analyzer by distributing tokens over the process model has not been implemented yet. Thus, for the time being, custom properties have to be checked in Groove by defining atomic propositions there.

Implementation

BPMN Analyzer tool

The BPMN Analyzer is available online here.

Atomic property Unsafe implemented in Groove.

The source code of the BPMN Analyzer is available here and instructions how to run it locally on your machine can be found here.

Experiments

The experiments are described here.

Test suite

The wiki describes our comprehensive test suite to test our coverage of BPMN features.

Feel free to contact me for further information.

Discussion

The instructions to run the experiments can be found here.

icgt-2023's People

Contributors

timkraeuter avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.