How does MDriven work
This page was created by Stephanie@mdriven.net on 2025-04-14. Last edited by Stephanie@mdriven.net on 2025-04-17.

MDriven is a powerful, model-driven development tool that streamlines the process of building and managing software applications, without needing to write code. Instead, it relies on creating detailed models that define how your application works. Here's a breakdown of how MDriven works:

  1. Focus on Models - Model-Driven Development (MDD): At the core of MDriven is the concept of Model-Driven Development, where you design a model that outlines your data, business logic, and user interface. This becomes the backbone of your application.
  2. Simplify with ViewModels and OCL (Object Constraint Language): ViewModels define how your app looks and behaves. They are backed by OCL expressions that provide the logic to manipulate and retrieve data. This approach minimizes the amount of hand-written code needed, leveraging OCL for data queries and business rules.
  3. Dynamic Features - Picklists and State Machines: Tools like picklists and state machines let you add complex behaviors, like tracking different states and transitions, providing a dynamic flow of logic in applications.
  4. Automated Forms (AutoForms): Automatically generate forms from your models, saving time while still allowing customization. The AutoForms feature allows for quick generation of forms based on the data structure and ViewModels. AutoForms offer significant flexibility in how data is presented and interacted with.
  5. MDriven Designer and Server: Use MDriven Designer to create models and MDriven Server to manage and deploy your application. MDriven Server acts as a back-end platform where models are executed and data is managed.
  6. Integration with .NET Framework: MDriven is deeply integrated within the .NET ecosystem, and updates or dependencies are often managed through NuGet packages. Users are encouraged to keep track of framework updates and dependencies, which can be complex but ensures compatibility and the latest features.
  7. Learning and Support - Resources for Learning: New to MDriven or model-driven development? There are resources available to support you, including a friendly community, documentation, and support tickets. The MDriven community on platforms like StackOverflow can be particularly helpful for troubleshooting and exchanging ideas.

MDriven is designed to enhance productivity and enable rapid software development by focusing on designing robust models rather than extensive coding. This model-centric approach makes it a helpful tool for businesses looking to streamline their application development processes.