

@stargirl has simplified the Open Community License (OCL) from Prusa
➡️ https://github.com/theacodes/socl
#3dprinting #prusa #ocl #socl #OpenSource #copyright #openwashing #opensourcewashing
We keep improving our #OCL #parser and #evaluator, e.g. https://github.com/BESSER-PEARL/BESSER/issues/367#event-21642067463
Keep reporting your issues!
Describe the bug The BESSER OCL evaluator fails to parse/evaluate valid OCL constraints that contain nested arrow (->) operations inside an iterator expression. When this happens, BESSER reports a ...
🚨MAJOR RELEASE ALERT 🚨
Today we are launching BESSER v.4, with some massive improvements 👏🥳🎉:
✅ Project management: create new #modeling projects comprising different types of diagrams (#classdiagram, #statemachine, #objectdiagram...) in our #online #modeling #editor
✅Create object diagrams to model specific scenarios conforming to your class diagram
✅ #Evaluate #ocl constraints on your object diagram and get #feedback on whether your scenarios are #valid
✅ Plus many other improvements: #fluentapi, #rdf generation,...
📜https://github.com/BESSER-PEARL/BESSER/releases
⚙️https://github.com/BESSER-PEARL/BESSER
I can feel your #FOMO so don't wait any longer. Give it a try NOW ➡️ https://editor.besser-pearl.org/
Pls also reshare this post and drop a ⭐ on #github so that others can also benefit from our #opensource #lowcode #free #platform
#uml #ocl #classdiagram #database #sql #codegenerator #vibemodeling
🆕New releases of the #lowcode and #uml #tools #dashboards 📊
✅ Low-code dashboard
See all #opensource low-code tools and stats on which are the most active ones, how many are also #nocode, use #AI, rely on #modeling...
🔗https://github.com/jcabot/oss-lowcode-tools
📈 Live: https://oss-lowcode-tools.streamlit.app/
✅ UML dashboard
See all #oss #uml tools and stats on which are the most popular ones, how many are use #OCL, are extensions of #PlantUML...
I was manually looking for #OCL #courses (via a classical Google search, yes, some of us still do it from time to time) to complement the info we got from our hashtag#teaching #ocl online form ⬇️
📋https://modeling-languages.com/teaching-ocl/ You still have the time to fill it! ✍️
And my overall impression is that:
❌ Very few institutions teach OCL.
❌ Even worse, I feel there are less and less. Indeed, when searching online, I get quite a lot of old results from courses that were offered at some point (many around 15-20 years ago) but have since then disappeared (I guess replaced by, among others, sexier AI related topics).
❌ The tooling situation is one of the key factors (as reported also in the comments of the post linked above).
✅ I'm hoping that our online OCL tool (see https://github.com/BESSER-PEARL/B-OCL-Interpreter, led by Fitash Ul Haq, PhD and now part of our #web #modeling #editor https://editor.besser-pearl.org/ ) and free #tutorials can be useful if any of you wants to give OCL a second chance.
Because if not OCL, then what? 🤔
Model class diagrams and generate code from your web-browser. No need to install anything.
🔗 Try it out: https://editor.besser-pearl.org/
Some key features:
✅#Graphical modelling: Design models with an intuitive graphical notation.
✅Cloud Storage: #Store your diagrams online for easy access from anywhere
✅Real-time #collaboration: Work seamlessly with multiple users on the same model.
✅#CodeGeneration: Automatically generate code for various technologies (e.g., databases).
✅#OCL Integration: Define OCL constraints with of our B-OCL tool
✅#Supports model import/export in B-UML and #JSON formats
https://modeling-languages.com/besser-graphical-modeling-editor/
Learn more about #OCL support in BESSER and how you can add constraints to your class diagrams. Even as part of our web modeling editor (with the option to #check their syntactic correctness) 🤯🤯
📜 https://arxiv.org/abs/2503.00944
⚙️https://github.com/BESSER-PEARL/B-OCL-Interpreter
The Object Constraint Language (OCL) has been widely used in the modeling community to complement software models for precisely defining constraints and business rules for the modeled systems. There is a limited number of tools supporting the definition and interpretation of OCL constraints, even less for a Python-based modelling approaches. In this paper, we introduce an OCL interpreter for Python. The interpreter has two components: parser and evaluator. We implement the OCL metamodel as a set of Python classes and design the grammar for the parser using the state-of-the-art ANTLR parser generator. The parser generates the syntax tree, that conforms with the OCL metamodel, after parsing each part of the OCL constraint. The evaluator then interprets the constraints using this syntax tree and the object diagram. In the end, the interpreter reports the result for all the constraints.