MDriven Designer: The OCL-Operators Tab

The OCL-Operators Tab

Recently, MDriven introduced a new feature in MDriven Designer that will enhance your debugging experience: OCLOperators. Let’s discover how this can simplify your workflow.

What Are OCL Operators?

Definition

The Object Constraint Language (OCL) is a declarative language used for describing rules that apply to Unified Modeling Language (UML) models developed at IBM and now part of the UML standard. Read more here

How can you access this feature?

Introduction:

When you fire up the debugger in MDriven Designer, you’ll notice a fresh addition: the OCL-Operators Tab.

Accessing the OCL-Operators Tab:

To explore the available operators, follow these steps:

  1. Click on the play button in MDriven Designer
  2. Select “XML,” then “Start system”.
  3. Enter the Debugger.
  4. Look at the tabs section in the Debugger and locate the “OCL-Operators” tab.
  5. Click on “All operators in OCL”.
    • Here, you’ll find a comprehensive list of operators – organized according to type of language.
    • They are available in different types of language: Action Language, OCL, and OCLPS.

Understanding the Help Text:

Each operator comes with help text, providing insights into its purpose and usage. Additionally, you’ll find wiki links to detailed pages explaining the operators.

How does it benefit you?

Precision and Clarity:

The help text ensures you understand each operator’s behavior, reducing research time.

Optimized Workflow:

You can now quickly evaluate your OCL expressions.

The OCL operators tab is a welcome addition to MDriven Designer because it empowers you to identify the right operator for your expression. Next time you’re in the debugger, explore the OCL-Operators tab – it might be the key to unlocking a faster, more efficient debugging process!

Here’s a video guide on how to find it…

Search and learn more!

Boost Performance: Remove Animations in MDriven Designer


In the fast-paced world of software development, every second counts. When working with large models, we often encounter animations that, while visually appealing, can slow down our workflow. Additionally, animations on ViewModels—such as those triggered by clicking columns—can be frustratingly slow, especially on computers/laptops with weaker graphics cards.

The Culprit: Animated Elements

Large Models and Animation Overhead:

As our models grow in complexity, animations can become a hindrance. Whether it’s a spinning loading icon or a transition effect, these animations consume valuable processing power.

Users may experience delays, especially when navigating intricate diagrams or interacting with data-rich views.

Yellow Dots and Their Impact:

Those familiar yellow dots—navigating or pointing out elements—are part of the animation package.

Unfortunately, they can exacerbate performance issues, particularly on machines with limited graphical capabilities.

The Solution: Software Rendering

Fear not! MDriven Designer offers a simple remedy. Follow these steps:

  1. Accessing the Setting:
    • Navigate to “About MDriven Designer” (equivalent to the framework version in Visual Studio).
    • Look for the “About MDriven” option in the tools menu.
  2. Navigate to Software Rendering:
    • There is a “Software Rendering” checkbox.
    • When enabled, animations take a back seat. No more shifting dots.
    • The result? A smoother modeling experience, especially on less powerful hardware.
  3. Yellow Dots, Minus the Shuffle:
    • While the yellow dots remain, they no longer dance across the screen.
    • By reducing animation complexity, we ease the burden on the machine, making interactions smoother.

Benefits for Users and Developers

  1. User Experience:
    • Faster load times and responsiveness
    • No more waiting for animations to complete movement—just seamless navigation.
  2. Developer Productivity:
    • For developers everywhere, it’s about efficiency. Less waiting time, more time building.

Remember: It’s not about eliminating animations but optimizing them instead. Next time you toggle that checkbox, know you’re enhancing your productivity.


Watch the video guide below on removing animations in MDriven Designer!

Removing Animations in MDriven Designer

Happy rendering!

THE MDRIVEN VIDEO EXPERIENCE

Image by Vectonauta on Freepik

The MDriven video tutorials give you a front-row seat to the MDriven World. Each video seeks to explain the ins and outs of the MDriven tools and how best to use them.

With the MDriven Video Experience, MDriven aspires to:

1. Give you a starting point for your MDriven journey
2. Clarify the learning process
3. Guide you to business solutions resulting from the application of MDriven products.

We strive to improve the Wiki to help you overcome your business hurdles and realize progressive solutions.

Visit our Youtube channel here.

MDRIVEN LEARN

Purpose and Outcome
MDriven Learn is the MDriven Education program expanded and simplified to grow your experience with MDriven’s tools. As you study MDriven, the learning program will broaden your insight into why MDriven chooses to support a no-code approach to developing and building applications.

Simplified Structure
MDriven Learn is divided into specific sections. Documentation contains all pages detailing MDriven content in textual form. Training takes you on a journey to learn and explore the MDriven tools. Q & A provides a chance to talk directly with us about your experience. Model Examples have ready-made model packages you can download and start building immediately. Best Practices suggests unique ways to utilize the MDriven knowledge you have acquired.

Dual Learning
MDriven Learn is composed of both technical documentation and video learning. This dual approach gives you a well-rounded understanding, making it easy to use the MDriven tools. We are always accessible at support@MDriven.net for any queries or concerns you may have along the way.

OFFERING YOU BETTER SUPPORT

Image by pch.vector on Freepik

Restructured Team:
To offer you the best support experience, we have reorganized our team. We now have an internal MDriven Team to foresee and cater to your needs. This core team meets regularly to discuss and improve MDriven Support to enhance your experience.

Stack Overflow:
Feel free to post your questions or concerns on our Stack. Our Stack is open to all. We will process your inquiries and send you a reply within a short time.

Well-rounded Support:
Are you struggling with upgrading your IT systems? Do you have a concept and require guidance on how to implement it? MDriven specializes in both short and long-term assistance to enable you to pace yourself as you make changes. Reach out to support@MDriven.net for a customized MDriven experience that suits your particular needs. Our team will discuss and work with you on possible solutions.

AN UPDATED & IMPROVED WIKI

New Interface: Experience a fresh and vibrant look with our updated Wiki interface. We’ve organized items into a more structured format, featuring a bolder and brighter theme. The visually stimulating design aims to make your learning experience not only insightful but also relaxing and refreshing.

Left-menu Feature: Introducing a foldable left-menu to the Wiki! This handy feature allows you to seamlessly navigate and discover pages or concepts related to the content you’re currently exploring.

Easier Navigation: Say goodbye to struggles! Our revamped Wiki opens like a book, making it a breeze to find and switch between pages and topics. Enjoy a smoother and more efficient navigation experience.

Better Search Options: Finding what you need has never been easier. Our improved search functionality picks up on every letter you type, suggesting relevant destinations and ensuring a seamless exploration of our Wiki.

Revised Documentation: We’ve gone the extra mile to review and update all pages under Documentation. Combined with the new look, the MDriven Documentation now provides a solid foundation for your modeling endeavors.

We hope these enhancements make your time on our Wiki even more enjoyable and productive. Happy exploring!

MDriven – Stay plastic–what does it mean

The word plastic: https://www.thesaurus.com/browse/plastic

image

The main USP for MDriven is the ability to stay plastic no matter how complex or large the definition of your system-space is.

MDriven is frequently compared to other low/no-code tools, but even if MDriven is equally as fast as those in taking you from Nothing to Something, MDriven is unique in the way you can change the Something you have, and how you can easily add more to your current Something without causing instability to the result.

If you are only going one iteration – from Nothing to Something, you may not need something very plastic.

If you, however, will be going through multiple iterations – possibly many years of iterations – probably expecting tech shifts (Modernity shifts) during the lifetime – then you want something plastic like MDriven.

There is also a subtle difference in the aim of a development iteration: is it for adding something on top of what you have – or is it for changing what you had before to something better suited to your requirements? The latter of these two requires higher plasticity than the first – and in both scenarios, you will be satisfied with MDriven.

What creates plasticity?

To get high plasticity in an environment, we need transparency of what we have – it is inadvisable to change things you don’t fully understand.

This is where traditional coding, and even most low-code tools, are at a disadvantage – it is hard and time-consuming to read code – and the understanding of code read-only exists in the head of the individual who did the reading.

As MDriven keeps your system definition in a clear standardized model with declarative transformations, you get both the benefit of easily understanding what you have and a clear path to adding the new requirements expressed in the language of the business.

When you do not need plasticity anymore…

Maybe your many iterations, in the end, reach the nirvana of your target business. When this happens, you will not need to change the system again – at least not until your target business changes.

This is the definite north star of all development – to finish up – to reach all goals.

In our experience, this never happens – but if it does – what good is the plasticity then? Not much. Transparency is, however, still relevant – because long after the last system update – users and integrators will ask about definitions and the system’s inner workings. MDriven really shines in transparency – it is an effect of its declarative nature.

Changing from MDriven to Traditional Code

The main reason traditional coding is slow is because the specification is in flux – and as it changes, developers need to go back into low-plastic code and make costly changes.

If you have a perfect working system in MDriven, you also have a perfect specification of that system (in MDriven, the specification is the system).

A perfect specification enables you to get a perfect cost estimation of the implementation with traditional coding. This way, use MDriven to drive the knowledge process of your business requirements and be very plastic during this phase; once you feel you have been plastic enough, you can harvest all your knowledge in a controlled implementation into a less plastic future.

…We recommend you Stay Plastic

Even if you occasionally experience nirvana where you see no new requirements – and no changes to existing requirements – likely, external factors like a change in regulations, laws, partners, or new ideas may immediately pull you out of this nirvana state. You may need to change or add things to support your business best. When this occurs, you will not regret staying plastic even when you do not need it.

MDriven is not one thing – its seven and some extras

First thing: A fully normalized database-schema with generated keys for all associations – in most of the good DB- brands, following my uml model -whatever I do with it

Second thing: A Business layer for objects with constraints and rules – following my uml model and ocl expressions – whatever I do with them – automatically maintain both sides of associations – and association objects – how ever I choose the cardinality – and use the UML standard with specialization and abstractions, with state machines and guards for states, with aggregation and composites to get cascading deletes and lifetime control. Keeping track of change state on attribute level and efficient persistence transformations

Third thing: Having viewmodels of ocl-expression transformations in a-cyclic-trees that subscribes to changes for all information they use

Forth thing: Being able to expose said viewmodels as read/write REST interfaces with in atomic transactions

Fifth thing: A UI layer with databinding for anything in such viewmodels and have multiple versions of said UI layer to allow for the same model in different technologies – so that time corrosion is handled just like it is with your car – you keep your family and transport them with a new car every third year – you keep your knowhow and deliver with a new UI layer every third year

Sixth thing: A way to declare actions ie ocl expressions with side effects and expose those in Viewmodels and menus and make navigation between ViewModel based views easy

Seventh thing: Provide a streaming interface of diffgrams between a thin client and server that follows the declared viewmodel however it changes so that your client only sees the information from the viewmodel, exposing it easily and nothing else

Extra 1: Make it possible to inject your own code in any point of the full stack – from database (SQL), to business layer (c#), to thin client (CSS and Typescript) – with special attention to look and feel

Extra 2: To avoid excessive override need – have support for responsive UI design already in Viewmodel level

Extra 3: A server side orchestration strategy to run actions and viewmodels based on events to manage self-playing-piano actions and automations

If I have these seven things and 3 extras I can verify my thoughts with real data and real user feedback straight from the drawing – in minutes

Since it scales to 1000 of users and hundred of millions of records I have a complete enterprise grade information system – straight from the drawing

When a system can be realized this way instead of being handwritten, I can reduce test to a minimum and spend zero time on additional documentation – and still have a 1-1 exact replica between what I said and what I got and what I can see in the model. The risk of doing wrong is reduced – the cost of redo is low – I can now try – be wrong and learn and become better – maybe even correct

When I have this, I can be the business-guy, the UI-guy, the backend-guy and the db-guy in 1 person, and I can probably do it for 2 projects at the same time. But everything is prepared for team work with file formats that diff great in GIT and SubVersion.

I can also be the info-sec guy setting up the rules what role should see what under which circumstances. And the IT-sec guy since the platform is vetted and pen-tested with very good results.

I can come back to a project after 6 months and instantly find my way around the system due to the high-level exact documentation. And if the model is done in the language of the business I can instantly act as the business expert just by being able to read the model.

We did this – because it was a good idea – it took us 20 years – our customers and partners make systems with it – at a level hard to deliver with traditional strategies. Some clients call this StarTrek-level-tech – We call it MDriven Turnkey. We keep innovating. No lock in – the data is yours the models are yours – the standards are everyone’s – the cloud is just as easy as on-prem and just as easy as running the whole stack on one developer machine without network if needed.