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

This introduction helps software architects, developers, and business stakeholders understand what The MDriven Book teaches: how to keep a system's essential business knowledge separate from changing implementation technology.

Purchase the printed book on Amazon.

The central problem

Every business application must do two enduring jobs:

  • Store and retrieve information.
  • Show that information to users and let them change it while enforcing the required rules.

For example, a rental business may need to store rental contracts, customers, and the items being rented. Users need to find a contract, create one, and change it only when the business rules allow it. The details of the web interface, hosting environment, and current technology choices may change over time, but the business information and its rules remain important.

This book distinguishes these two concerns as system gist and system modernity. Keeping them distinct is the basis for the approach described throughout the book.

System gist

System gist is the business meaning that the system must preserve. It includes:

  • The information the business works with.
  • The relationships between that information.
  • The rules that govern valid information and how it may evolve.
  • The domain language that users and developers need to share.

In the rental example, the concepts Customer, RentalContract, and RentalItem, their relationships, and the rules for changing a contract are system gist. A model can hold this knowledge explicitly, rather than scattering it across implementation details.

The book starts from the position that understanding a business means understanding its information. Read Training:Information design for the information-first approach and its rationale.

System modernity

System modernity is the current technical and presentation strategy used to deliver the system. It includes the technology used to store data, present user interfaces, deploy the application, and integrate it with other systems.

For the same rental system, a web-based interface is an implementation choice. A later interface may look and behave differently while serving the same contracts, customers, and business rules. The delivery technology can change because expectations and technical practices change; the system gist should not have to be rediscovered each time it does.

Concern What it describes Rental-system example
System gist The business information, relationships, and rules that define the system. A rental contract belongs to a customer and has rules for its valid changes.
System modernity The current technology and user-facing form that delivers the system. A web interface used to search for and edit rental contracts.

Why separate them?

Technology and visual fashion change frequently. If business knowledge is embedded directly in a short-lived implementation strategy, replacing that strategy risks turning a technical update into a costly effort to recover and rebuild the business understanding.

A model-centric approach places the system gist in a model and uses an execution engine and user interface to bring that model to life at an appropriate level of modernity. The model can then serve as documentation, know-how, and the enduring description of the system.

This does not make system modernity unimportant. Usability, maintainability, security, efficiency, and deployment are all necessary concerns. The point is to manage them as concerns that can change without unnecessarily entangling them with the business gist. Training:What is next explains this model-centric direction in more detail.

How MDriven relates to the book

MDriven is a model-driven development platform for modeling, prototyping, and executing business applications. The book uses MDriven to show how you can describe system gist in a model and then use execution and delivery mechanisms to work with that model.

You do not need to treat the model as a static diagram. In MDriven, you can model information and test ideas in an executable prototype. For a practical first exercise, Training:Bootcamp:Chapter 1 shows how to create a class, add an attribute, start a prototype, create objects, and inspect them with an OCL expression.

How to read the book material

Use the chapters in sequence when you are new to the ideas:

  1. Read Training:What is MDriven to understand the platform and the role of modeling.
  2. Continue to Training:Information design to learn why information is the starting point for understanding a business.
  3. Read Training:Short introduction to UML– class diagram to begin representing that information in UML class diagrams.
  4. Work through Training:Bootcamp:Chapter 1 when you are ready to build and run your first model.

As you proceed, evaluate each design decision with two questions:

  • Does this describe the business information or rule that must endure? If so, it belongs to the system gist.
  • Does this select a current way to present, host, store, or otherwise deliver that gist? If so, it belongs to system modernity.

What this book sets out to show

The book presents ways to:

  • Maintain the idea and business knowledge of a system in a model.
  • Use model execution mechanisms as delivery mechanisms for that model.
  • Evolve a system while keeping its business information and rules understandable.
  • Avoid making a change in current technology require a complete rewrite of the system's meaning.

The following chapters develop these ideas through information design, UML, and the MDriven tools and strategies used to execute and deliver models.

See also