Giter VIP home page Giter VIP logo

bpmn2constraints's People

Contributors

adrianrebmann avatar marcusrost avatar marcusrostsap avatar par-vathy avatar renovate[bot] avatar timkam avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

bpmn2constraints's Issues

Add tests for the compiler.

At the moment, there are no tests for the compiler and the constraints it generates.

A test that verifies that...

  • Choice constraints are not generated for elements in gateways constructs.
  • Succession/Co-Existence/Choice constraints are generated for elements in a sequential flow.
  • All gateway combinations are generated.
  • Precedence constraints are generated.
  • Response constraints are generated.
  • End constraints are generated for all endings.
  • Init constraints are generated for all starts.

Rename Alternate Succession description.

At the moment, the description of an Alternate Succession is identical to a regular Succession (i.e., x leads to y). This issue should:

  • Investigate what could be a better description of Alternate Successions.
  • Change the descriptions in the compiler.

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

github-actions
.github/workflows/lint.yml
  • actions/checkout v4
.github/workflows/main.yml
  • actions/checkout v4
  • actions/setup-python v4
pip_requirements
requirements.txt

  • Check this box to trigger a request for Renovate to run again on this repository

Format code with Black formatter.

At the moment, the code does not follow any specific code standard. The most common code style for Python is (?) Black, let's go with that.

Improve error handling.

At the moment, errors are handled and in an unsatisfactory manner. This issue should:

  • Log more errors.
  • Handle malformed input in a better way.

Add some tests for the parser.

At the moment, testing is very (read: non-existent) limited. This issue should add:

  • Testing for start attributes.
  • Testing for end attributes.
  • Testing for splitting and joining gateways.
  • Testing for transitivity.
  • Testing for verifying if elements are part of an gateway construct.

Implement XML support for parsing.

At the moment, the parser only supports parsing of JSON files. However, BPMN files can also be stored in a XML format. This issue should:

  • Add detection whether input is in XML or JSON format, reject all other.
  • Change parsing depending on format.

Add toggle for start/end events in mermaid compiler.

At the moment, the parser deems some start and end events "bad", and instead opts to use the first activity instead. For example, in this BPMN diagram, the parser will mark register invoice as start, and accept invoice as end.

Screenshot 2023-07-31 at 15 25 57

We should add a flag so it can include these when compiling to mermaid.

Missing Init constraint for diagram starting with a splitting gateway.

At the moment, the init constraint generated from the following diagram is Init[XOR].
Screenshot 2023-06-15 at 12 21 01

  • Fix so invalid names are not allowed as constraints (i.e., XOR should not be a valid name for a constraint).
  • Fix so that the init constraint are as follows: Init[activity1], Init[activity2] (though, this should only be the case for XOR gateways preferably).

Add documentation.

At the moment, the code is not properly documented. This issue should:

  • Investigate the possibilities of using Sphinx or Pydoc as means for documentation.
  • Document the parser.
  • Document the compiler.
  • Document the utils.
  • Document all modules.
  • Document the scripts.
  • (Optional) Create a GitHub Action for hosting the documentation on GitHub pages.

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.