Skip to content

About

B-OCL is a tool designed to parse and evaluate the OCL constraints designed on BESSER models. It is a python based implementation that utilises a parser and listener generated via an ANTLR4 grammar.

Topics

Resources

Code of conduct

Contributing

Stars

27 stars

Watchers

3 watching

Forks

Repository files navigation

BESSER Object Constraint Language Interpreter

⭐ Part of BESSER, the open-source low-code platform that turns models into working apps. If this project is useful to you, please star the main repo too.

B-OCL is a tool designed to parse and evaluate the OCL constraints designed on BESSER models. It is a python based implementation, that utilises parser and listener generated with the ANTLR4 grammer.

BESSER is a low-modeling low-code open-source platform built on top of our Python-based personal interpretation of a "Universal Modeling Language"

Basic Installation

We have tested B-OCL with python 3.9+. We recommend creating a virtual environment using venv <https://docs.python.org/3/tutorial/venv.html>, or conda <https://docs.conda.io/en/latest/>).

Dependencies


B-OCL depends on BESSER for parsing the OCL constraints and providing a concrete syntax tree (CST) to evaluate. The latest stable version of BESSER is available in the Python Package Index (PyPi) and can be installed using

$ pip install besser

B-OCL Installation

Stable version of B-OCL interpreter can be installed via

$ pip install bocl

Building From Source

To obtain the full code, including examples and tests, you can clone the git repository.

$ git clone https://github.com/BESSER-PEARL/b-ocl-Interpreter
$ cd b-ocl-Interpreter

To install the package with its test dependencies, run the following in a virtual environment (recommended)

$ pip install -e ".[test]"

Contributing

We encourage contributions from the community and any comment is welcome!

If you are interested in contributing to this project, please read the CONTRIBUTING.md file.

Code of Conduct

At BESSER, our commitment is centered on establishing and maintaining development environments that are welcoming, inclusive, safe and free from all forms of harassment. All participants are expected to voluntarily respect and support our Code of Conduct.

Governance

The development of this project follows the governance rules described in the GOVERNANCE.md document.

Contact

You can reach us at: info@besser-pearl.org

Website: https://besser-pearl.github.io/website/

Documentation

More details about B-OCL can be found here https://b-ocl-interpreter.readthedocs.io/en/latest/

License

This project is licensed under the MIT license.

About

B-OCL is a tool designed to parse and evaluate the OCL constraints designed on BESSER models. It is a python based implementation that utilises a parser and listener generated via an ANTLR4 grammar.

Topics

Resources

Code of conduct

Contributing

Stars

27 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages

Generated from BESSER-PEARL/template