MDriven Sessions: Comprehensive Q&A Repository

Comprehensive repository of all questions, inquiries, and technical clarifications gathered from our masterclass series across Refactory and ProSEIT / Makerere University.

Click a section to expand it. Have a question that isn’t here? Ask it in Getting Started — @mdriven_brain will take a first pass and the community will follow up.

📍 1. Paradigm, Philosophy & Getting Started

Understanding MDriven, transitioning from traditional development, and initial onboarding steps.

Q: As a software developer using standard tools, how do I transition to using MDriven?

Traditional development relies heavily on manually setting up database schemas, configuring ORMs, writing custom REST endpoints, and stitching together frontend plumbing.

MDriven shifts the UML Model into the primary executable artifact. Instead of writing boilerplate code across multiple application layers, you map out your data structure and core business logic visually using a UML class diagram. The platform automatically generates and executes the database schema, backend logic, and user interface directly from that single model. Your architectural skills remain essential — you simply transition from manual code typing to system orchestration.

Q: How can I use MDriven being that I am a software developer who has been using other tools to accomplish something like MDriven?

Because “using other tools” can mean different things, it depends on your current workflow:

  • If you use visual UML/modeling tools: Most traditional UML tools are for static visuals; you draw a diagram and still have to build the system manually. MDriven takes your visual model and executes it, instantly generating your live database schema, backend, and UI directly from the diagram.
  • If you use traditional coding frameworks: Instead of writing repetitive “plumbing” code to link your database to APIs and state managers, you focus entirely on mapping out your core data structure and business rules visually. MDriven handles the rest automatically.

Q: What is its purpose because I didn’t understand anything? I attended because I was invited as a Refactory Alumni of foundations to software development but I don’t understand what MDriven is.

In your introductory programming classes, you learned that software development means manually typing thousands of lines of code, setting up databases from scratch, and configuring web servers.

Think of it this way:

  • Traditional programming is like being a chef who has to build their own oven out of bricks, forge their own iron pots, and grind their own wheat before they can bake a single cookie.
  • MDriven gives you a fully functional, automated commercial kitchen (the platform). Your only job is to draw the recipe (the model) — defining what information goes where and what the business rules are. The platform automatically “bakes the cookie” and handles all the complex technical details for you.

Its core purpose is to eliminate slow, repetitive technical coding tasks so you can focus entirely on solving problems, enabling the rapid design of massive, bug-free software applications.

Q: How do I get started with MDriven / I would really like to understand MDriven more?

To provide a direct, actionable path to mastering the platform, we recommend the following steps:

  1. Read the Introduction: Start with the “What is MDriven” Wiki article. It includes an introductory video that provides helpful context. There is also a helpful article on getting started with MDriven.
  2. Download the Designer: Visit our download page to get the MDriven Designer. It is free to use for learning and prototyping.
  3. Take the MDriven Bootcamp: Follow our structured online Bootcamp program to learn the platform through hands-on practice.

Q: Why should developers adopt Model-Driven Architecture (MDA) in the age of AI coding assistants?

AI code generators (like Claude or Gemini) output raw code quickly, but they introduce code sprawl and severe technical debt because text-based code is difficult to verify and maintain at scale.

MDriven separates software architecture into three distinct layers:

  • The Gist: Core business logic, relationships, and state rules (the visual model).
  • Modernity: Tech stack, database engines, and frameworks.
  • Fashion: Visual user interface and design.

By keeping the Gist in standard visual UML, the model serves as an unambiguous single source of truth shared between human architects and AI tools.

📍 2. Architecture, Logic & Systems Engineering

Deep dives into Object Constraint Language (OCL), code generation, and enterprise capabilities.

Q: The facilitator talks about “no need to write code” — I don’t quite understand that. I need a clear and more advanced explanation on this.

When we say “no need to write code,” we mean you are no longer writing the procedural, repetitive plumbing syntax needed to build and migrate databases. Instead, you use a much higher level of abstraction:

  • Visual Patterns: You use visual diagrams to express your structural logic — defining your classes, attributes, and data association links. MDriven automatically maps this to the database, meaning you never manually write database migrations when you add or delete columns.
  • OCL (Object Constraint Language): For complex business logic that cannot be expressed purely with a visual diagram, you use OCL. OCL is not an imperative coding language; it is a declarative query language. You simply state your high-level intent (e.g. self.Price * self.Quantity or self.Balance <= 1000), and the engine handles the exact implementation details behind the scenes across UI validation, API security, and database constraints simultaneously.

Q: Is MDriven strictly a rapid prototyping tool, or can it run production enterprise systems?

Absolutely not! MDriven is fully engineered to build heavy-duty, enterprise-grade production systems running natively in the cloud or on your local servers.

The beauty of the platform is its iterative, hassle-free development cycle. You can build a fast prototype to test with users, and then continuously add features and evolve that exact same model directly into a full-scale production system. When you make updates, you simply upload your modified model and the production application changes instantly and dynamically without deployment hassle or database migration errors. Real-world implementations include government financial regulatory authorities and multi-tenant supply chain platforms running continuously for over 15 years.

Q: How are database updates and schema evolution handled when business requirements change?

Database schema evolution is fully automated. When you modify entity attributes or relationships in the visual model, the backend MDriven Server compares the updated model against the live database schema and automatically executes the necessary SQL migration scripts without data loss or manual SQL script writing.

Q: How does MDriven connect with AI tools during the development process?

MDriven integrates with AI workflows through two primary methods:

  • Copy-Paste Model Prompting: Passing structured OCL constraints or UML class definitions into LLMs to generate precise model logic.
  • Model Context Protocol (MCP): Connecting local AI agents directly to the MDriven Designer endpoint, allowing the AI to inspect, edit, and validate model structures in real time.
📍 3. Collaboration, Source Code & Extensibility

Multi-developer workflows, team communication, source code ownership, and language options.

Q: How does the MDriven platform used for designing the model allow collaboration?

Collaboration happens on two vital fronts depending on who you are working with:

  • Collaborating with Team Developers (Mergeable Models): MDriven features native mergeable models. Different development teams can build entirely separate pieces of an application concurrently, and then seamlessly merge those visual model files into one holistic system — avoiding the traditional headaches of copying, pasting, and merging text code.
  • Collaborating with Business Stakeholders: Because your application logic is represented through visual diagrams rather than hidden in syntax, it is vastly easier to explain patterns, gather requirements, and collaborate with non-technical business owners.
  • Source Control & Teamwork Server: Model files are text-based XML (can be branched/merged via Git), or teams can use MDriven Teamwork Server for real-time concurrent multi-developer editing and model locking.

Q: How can one access the source code? If yes, then in which programming language?

MDriven itself is a commercial, model-driven development tool (not open-source), meaning you do not modify the core engine’s source code. However, the application code you build is completely open to you, depending on your development style. You get full ownership and access to the applications you build:

  • The Project Core (Standard XML): Every project or model you create in MDriven is saved natively in a standard XML file format. Your entire application structure is completely transparent, open, and readable in plain XML.
  • Custom Code & Logic: If you want to inject custom technical functionality, you can seamlessly extend the application using standard C# (.NET) for backend processes (via native compiled Domain Objects or EXT_LateBoundAssembly), or use JavaScript and TypeScript for client-side scripting.

Q: What happens if MDriven as a platform is discontinued? What about vendor lock-in concerns?

MDriven addresses vendor lock-in through open architecture:

  • Standard XML Specifications: Models are stored as human-readable standard XMI/XML files.
  • Code Generation: Models built using MDriven Framework generate standard, unencumbered C# domain code that can be compiled and hosted independently without proprietary runtime locks.
  • Database Independence: Data resides in standard relational databases (SQL Server, Postgres, MySQL) with standard tabular schemas that remain accessible by any SQL tool.
📍 4. Frontend UI/UX, Customization & Accessibility

UI design, custom styling, mobile web apps, and low-literacy user experiences.

Q: How do I take control of the UI layout and modern UX experience while using MDriven?

You have complete control over the UI, utilizing several layers of customization:

  • Placing Containers: You design your layout visually inside a ViewModel using a flexible grid system of containers to define sizing and spacing without touching raw HTML.
  • Custom Styling: Every element outputs predictable components, allowing you to inject your own custom CSS and themes to fully dictate the visual design.
  • Full UI Overrides (Blazor/Angular): MDriven supports modern frameworks like Angular and Blazor. If you need absolute customization, you can write your own custom template pages via Razor overrides. This allows you to completely override default UI views with your own custom HTML layout.
  • Live Edit: You can manipulate layouts or CSS and see your changes reflected instantly in the browser without a slow compile-and-deploy cycle.

Q: Can we use MDriven for mobile application development?

Yes. MDriven Turnkey applications render responsive web interfaces out of the box that operate seamlessly on mobile browsers. For native mobile applications or progressive web apps (PWAs), developers can use MDriven as the backend logic and REST API engine while building custom native frontends using Flutter, React Native, or standard mobile web components.

Q: How can MDriven accommodate non-technical or low-literacy users in rural deployment environments?

Because UI layout is completely separated from business logic, interfaces can be customized for specific target audiences. In the Koola Herbals supply chain implementation in rural Uganda, MDriven supported a Luganda-language interface with custom icons, audio prompts, and QR-code tracking to enable illiterate field workers to log inventory movements across offline environments.

📍 5. Integrations & Reverse Engineering

Connecting with external APIs, databases, and third-party tech stacks.

Q: Can I integrate my external model to MDriven from any tech stack?

Yes. MDriven has robust capabilities to communicate with external data structures and services using industry-standard protocols like REST APIs, JSON/XML data payloads, SOAP, Webhooks, or direct relational database connections.

Q: If yes, can it automatically understand it and create / re-create the model in MDriven?

Yes, using built-in Reverse Engineering engines:

  • From Databases: If you connect MDriven to a legacy SQL relational database (SQL Server, MySQL, Postgres), it reads the tables and constraints to automatically generate a clean, visual UML model for you.
  • From Data Payloads: If you copy a raw JSON or XML snippet from an external API, you can right-click inside the MDriven Designer and select “Add attributes, assoc. and classes from clipboard json or xml”. It instantly reverse-engineers the payload structure into native MDriven classes so you can work with it using functions like JSonToObjects.

Q: How does MDriven handle system APIs and machine-to-machine integrations?

In MDriven, APIs are treated as user interfaces for machines. Any ViewModel built inside the designer can be exposed as a machine-readable REST/JSON API endpoint with a single configuration flag.

📍 6. Environments, OS Compatibility & Licensing

Platform requirements, database choices, OS support, and pricing models.

Q: Does it work with Linux because I use a Linux OS?

The ecosystem is split between design time and runtime:

  • For Runtime (Yes): The MDriven Server and MDriven Turnkey web environments are built on the cross-platform .NET Core platform and run perfectly on Linux servers, Docker containers, Azure, and AWS.
  • For Design Time (No): The MDriven Designer desktop application is a native Windows client application. There is no official Linux version. While MDriven does not officially support Linux for designing, developers who wish to work on Linux are welcome to try running the Designer using Windows compatibility layers (like Wine or virtual machines) entirely on their own.

Q: What local database options are available for testing and offline development?

For rapid local testing and prototyping, developers can use SQLite or an embedded VistaDB database alongside the Local Turnkey Prototyper. This allows instant visual testing without needing to configure full database servers during initial design phases. In production, MDriven scales seamlessly to SQL Server, PostgreSQL, and MySQL.

Q: How does licensing work for MDriven? Is there a free version for students or open-source projects?

MDriven provides a free tier via the MDriven Designer and Turnkey Local Prototyper for learning, prototyping, and small-scale projects. Commercial deployments, multi-user collaboration via MDriven Teamwork Server, and enterprise cloud hosting utilize tier-based subscription licensing options catered to teams and scaling applications.