🚀 Welcome to MDriven Learn –  MDriven is now on Discord!  Don’t miss the latest Release Notes.
What is MDriven
This page was created by Stephanie on 2023-05-15. Last edited by Wikiadmin on 2026-07-29.

You can use MDriven to model a business system, test how its information and rules work, and take the same model forward toward an executed application; this introduction is for prospective users, business stakeholders, and developers.

What MDriven is

MDriven is a model-driven development platform. You describe the business-specific part of a system as a machine-readable model, then use MDriven to execute that model in an application environment.

The model is the home of the system's gist: the information the business manages, the relationships between that information, and the rules and processes that make the system unique. Keeping this gist in a model lets you discuss and evolve it before it becomes implementation code.

For example, a team building an order-handling system can model Customer, Order, and Order line as information classes, define that an order belongs to a customer, and evolve that description as the business changes. The model is more precise than a prose requirement or a mockup, while remaining easier to discuss than implementation code.

What you can do with MDriven

With MDriven, you can:

  • Model information and business relationships without first writing Java or C#.
  • Prototype and verify ideas for advanced information handling early.
  • Use the model as a shared description when business stakeholders and developers discuss a system.
  • Continue from a prototype toward a finished system, rather than treating the prototype as a separate throwaway artifact.
  • Run a system with a web-based user interface and/or a rich client application.
  • Store information in a relational database and evolve the system as its requirements change.
  • Keep control of the information model and data architecture while changing how the model is executed.

If you already develop in C# or Java, MDriven gives you a way to verify the system gist before investing in a particular implementation approach. If you currently manage structured information in spreadsheets, a model provides explicit classes and relationships rather than relying on implicit spreadsheet conventions.

Model the gist separately from modernity

Business requirements and technology trends change for different reasons and at different speeds. MDriven separates them.

System gist is the business knowledge that the system must preserve. It includes concepts such as customers, orders, approvals, and the relationships and rules between them.

Modernity is how the system is presented or delivered at a particular time, such as a user-interface technology or delivery method. These choices can change because of market and technical requirements.

By keeping the gist in a model, you can focus discussions on what the business needs without mixing that question with the current implementation fashion. A model executor brings the model to life in a specific environment. MDriven is such an executor: the model can remain the central description while the way it is executed can evolve.

Read Training:Luckily UML is Not Forbidden for the rationale behind documenting system gist with executable models, and Training:What is not to like for a longer discussion of gist and modernity.

From model to running system

A typical MDriven workflow is:

  1. Describe the business information and its relationships in the model.
  2. Use the model to inspect and refine the system idea with the people who know the business process.
  3. Send the model to MDrivenServer when you are ready to execute and store data for the system.
  4. Let MDrivenServer create or evolve the database used to store the model's data.
  5. Continue changing the model as the business process changes, then deploy the updated model.

For example, when a business adds an approval step to an order process, you update the model to represent that step and its information. The same model remains the basis for the system as it evolves.

Data and execution

MDriven uses relational databases for information storage. MDrivenServer receives a model from MDriven Designer and creates or evolves the database it uses to store data. MDrivenServer also provides interfaces for accessing the data, including support for multi-user work, transactions, CRUD operations, optimistic locking, client synchronization, and OCL queries executed as SQL in the database.

CRUD means creating, reading, updating, and deleting data. OCL is used for queries and rules in the model context.

MDrivenServer can also provide data as JSON objects for applications that are not built with the MDriven Framework. See Training:MDrivenServer Summarized for the server role, database configuration, and available data-access approaches.

Who can start

You do not need Java or C# to start modeling and testing a system idea. Learning to model is the first step.

Developers can use the model to clarify the business-specific structure before or alongside implementation work. Business stakeholders can use it to review concepts and relationships with less ambiguity than prose requirements, images, and mockups alone.

MDriven is free to use for models with up to 50 information classes. This is sufficient to create non-trivial systems while you learn and evaluate the approach.

Start learning

  1. Begin with Training:Introduction - The MDriven Book for the book's introduction to MDriven and model-driven development.
  2. Use Documentation:MDriven Designer Overview Series to become familiar with MDriven Designer.
  3. Watch Training:MDriven Shorts for short introductions to individual MDriven functions.
  4. Browse Training:Video Materials for additional training material.

See also