🚀 Welcome to MDriven Learn –  MDriven is now on Discord!  Don’t miss the latest Release Notes.
MDriven Product Line
This page was created by Denis on 2018-02-04. Last edited by Wikiadmin on 2026-07-29.

You can use this page to choose the MDriven product or product combination that fits your role: modeler, application developer, administrator, or prototype author.

MDriven is a model-driven approach to creating information systems. You define the system's structure and rules in a model, execute the model to review the result, and use the same model as the basis for application delivery. For the wider approach and its outcomes, see Documentation:MDriven features and benefits.

Choose a product

Product Use it when you want to Primary users Typical result
Mockotype Create and execute an early information-system model without the advanced options of MDriven Designer. Business analysts, domain experts, and prototype authors. An executable prototype that can communicate the required information structure and behavior.
MDriven Designer Model and design a complete information system, define rules, and execute the model during development. Modelers and application developers. A model that can be prototyped and used with MDriven deployment products.
MDriven Turnkey Deliver a model-driven application with a web-based user interface. Application developers and teams delivering browser-based applications. A Turnkey application site based on the model and its views.
MDriven Server Host a model, maintain its database, synchronize clients, and run model-defined periodic jobs. Developers and system administrators. A server-side runtime for an MDriven system.
MDriven Framework Build a .NET application around the model from within Visual Studio and add application-specific C# or OCL logic. .NET developers. A model-driven, multi-layered .NET application with generated code and a model-derived database.

How the products fit together

A common workflow starts with a model and then selects an execution or delivery path.

  1. Create the domain model in Mockotype or MDriven Designer. For example, model an inventory system with Product, Supplier, and StockMovement classes, then define the relationships between them.
  2. Execute the model in a built-in prototyper to review the information structure and behavior with stakeholders.
  3. Use MDriven Turnkey when the application will be delivered through a web-based user interface.
  4. Use MDriven Server when the solution requires server-side model hosting, database maintenance, client synchronization, or periodic declarative jobs.
  5. Use MDriven Framework when you are building the solution in Visual Studio and need access to the model from C# alongside model-driven code and database generation.

These products are complementary. For example, a team can design the inventory model in MDriven Designer, make it available through Turnkey, and run the model on MDriven Server. A .NET team can instead use MDriven Framework as its application foundation in Visual Studio.

Mockotype

Mockotype is a standalone Windows application for modeling and designing information systems. It is a version of MDriven Designer in which advanced options are hidden, making it suitable for early modeling and prototype work.

Use Mockotype to make requirements concrete before committing to a written specification or implementation. For example, instead of describing "products have stock movements" in text, you can model the Product-to-StockMovement relationship and execute the model. Stakeholders can then review the working information structure rather than interpret a document.

Models created in Mockotype can be started with the built-in prototypers for WPF and with downloaded Turnkey in HTML5. They are compatible with MDriven Designer and MDriven Framework.

Move to MDriven Designer when you need its advanced modeling and delivery options.

MDriven Designer

MDriven Designer is a standalone Windows application for modeling and designing complete information systems. It uses standards including UML and OCL.

UML is used to describe the structure of the system, such as classes, attributes, and associations. OCL (Object Constraint Language) expresses rules over that model. For example, a rule can define which stock movements are included when calculating a product's available quantity. For OCL language details, see Documentation:OCL Operators product.

Use MDriven Designer when you need to:

  • Define the information model and its relationships.
  • Define model-level rules and behavior.
  • Execute the model with the built-in prototyper while designing it.
  • Prepare a model for use with MDriven Turnkey or MDriven Server.

Start with the Documentation:MDriven Designer Overview Series for an introduction and guided sessions.

MDriven Turnkey

MDriven Turnkey is the model-driven application front end for delivering applications with a web-based user interface. It uses the model and delivery capabilities provided by MDriven Designer and MDriven Server.

Turnkey renders web user interfaces as HTML5 using Bootstrap rendering. It supports a screen-by-screen choice between MVC5/Razor and AngularJS displays. The product line also includes use of Blazor and AngularJS for browser applications.

Use Turnkey when you want users to work with your model through a browser. For example, after modeling products and stock movements, you can expose views for browsing products, entering stock movements, and reviewing stock levels in a web application.

For site setup, local development, and deployment instructions, use the dedicated Turnkey documentation for your selected hosting approach. MDriven Server can be installed as part of starting work through the MDriven portal; if you install locally, follow the applicable MDriven Server installation guidance.

MDriven Server

MDriven Server is the back-end server runtime, hosted in a web server. Its user interface is intended for developers and administrators of an MDriven system, not for an application's end users.

MDriven Server receives models from MDriven Designer. It maintains the database, implements the necessary logic for client-to-client synchronization, and can execute periodic declarative jobs defined at model level in MDriven Designer.

For example, a model can define a periodic job that evaluates a recurring business condition. The job definition remains in the model; MDriven Server executes it server-side.

The current page source identifies SQLCompact, SQLServer, and MySQL as database options for this runtime. Confirm the database and hosting options supported by the release you are installing before planning a deployment.

MDriven Framework

MDriven Framework is the model-driven framework for .NET and integrates MDriven Designer into Visual Studio. It combines the model, a database derived from the model, and code derived from the model. When the model changes, the generated code and database can follow those changes while preserving data and additional hand-crafted code.

Use MDriven Framework when you need a Visual Studio-based .NET solution and want to work directly with the model in C#. You can add business-specific logic in C# and OCL, then use the compiled result with CodeDress in MDriven Turnkey or build standalone clients and servers using model-driven technology.

For example, a developer can model Product and StockMovement, generate the corresponding application layers, and add a C# rule that is specific to the organization's integration or workflow needs.

Read the complete product description and supported capabilities in Documentation:MDriven Framework – a Model driven framework.

Terms used in the product line

Term Meaning in MDriven
Model The executable definition of an information system's structure, rules, and behavior.
UML A modeling standard used to describe structures such as classes, attributes, and relationships.
OCL Object Constraint Language: expressions and rules over the model. See Documentation:OCL Operators product.
ViewModel A declarative definition used by MDriven's view engines to present and interact with model information.
EAL A MDriven expression language used in the model-driven environment. Consult the relevant product documentation for the available expression contexts.
MDrivenServer The server-side runtime that hosts models and provides server functions including database maintenance, synchronization, and periodic model-defined jobs.

Downloads and versioned releases

Use the official MDriven download channels for current product installers and extensions. For automated retrieval of versioned MDriven Server, MDriven Turnkey, and MDriven Framework releases, see Documentation:REST API For MDriven Versioned Downloads. That page documents the available product identifiers, platforms, version format, and request examples.

See also