ArticleslgStudy

engineering

Model-driven engineering

Model-driven engineering is a engineering topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Model-driven engineering rather than just read about it. In short: Model-driven engineering (MDE) is a software development methodology that focuses on creating and exploiting domain models, which are conceptual models of all the topics related to a specific problem. Hence, it highlights and aims at abstract representations of the knowledge and activities that govern a particular application domain, rather than the computing (i.e., algorithmic) concepts.

Model-driven engineering — main illustration
Model-driven engineering — illustration

Key takeaways

  • Model-driven engineering belongs to engineering; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Model-driven engineering to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Model-driven engineering from memory before moving on to harder problems.

Reference excerpt

Model-driven engineering (MDE) is a software development methodology that focuses on creating and exploiting domain models, which are conceptual models of all the topics related to a specific problem. Hence, it highlights and aims at abstract representations of the knowledge and activities that govern a particular application domain, rather than the computing (i.e., algorithmic) concepts. MDE is a subfield of a software design approach referred as round-trip engineering. The scope of the MDE is much wider than that of the model-driven architecture.

Overview The MDE approach is meant to increase productivity by maximizing compatibility between systems (via reuse of standardized models), simplifying the process of design (via models of recurring design patterns in the application domain), and promoting communication between individuals and teams working on the system (via a standardization of the terminology and the best practices used in the application domain). For instance, in model-driven development, technical artifacts such as source code, documentation, tests, and more are generated algorithmically from a domain model. A modeling paradigm for MDE is considered effective if its models make sense from the point of view of a user that is familiar with the domain, and if they can serve as a basis for implementing systems. The models are developed through extensive communication among product managers, designers, developers and users of the application domain. As the models approach completion, they enable the development of software and systems. Some of the better known MDE initiatives are:

The Object Management Group (OMG) initiative Model-Driven Architecture (MDA) which is leveraged by several of their standards such as Meta-Object Facility, XMI, CWM, CORBA, Unified Modeling Language (to be more precise, the OMG currently promotes the use of a subset of UML called fUML together with its action language, ALF, for model-driven architecture; a former approach relied on Executable UML and OCL, instead), and QVT. The Eclipse "eco-system" of programming and modelling tools represented in general terms by the (Eclipse Modeling Framework). This framework allows the creation of tools implementing the MDA standards of the OMG; but, it is also possible to use it to implement other modeling-related tools.

History The first tools to support MDE were the Computer-Aided Software Engineering (CASE) tools developed in the 1980s. Companies like Integrated Development Environments (IDE – StP), Higher Order Software (now Hamilton Technologies, Inc., HTI), Cadre Technologies, Bachman Information Systems, and Logic Works (BP-Win and ER-Win) were pioneers in the field. The US government got involved in the modeling definitions creating the IDEF specifications. With several variations of the modeling definitions (see Booch, Rumbaugh, Jacobson, Gane and Sarson, Harel, Shlaer and Mellor, and others) they were eventually joined creating the Unified Modeling Language (UML). Rational Rose, a product for UML implementation, was done by Rational Corporation (Booch) responding automation yield higher levels of abstraction in software development. This abstraction promotes simpler models with a greater focus on problem space. Combined with executable semantics this elevates the total level of automation possible. The Object Management Group (OMG) has developed a set of standards called Model-Driven Architecture (MDA), building a foundation for this advanced architecture-focused approach. The first research paper to explicitly refer to MDE appears to be . These ideas originated from the work of the "Precise UML" group (pUML) of researchers including Robert France, Bernhard Rumpe, Kevin Lano and others.

Advantages According to Douglas C. Schmidt, model-driven engineering technologies offer a promising approach to address the inability of third-generation languages to alleviate the complexity of platforms and express domain concepts effectively.

Tools Notable software tools for model-driven engineering include:

See also Application lifecycle management (ALM) Business Process Model and Notation (BPMN) Business-driven development (BDD) Domain-driven design (DDD) Domain-specific language (DSL) Domain-specific modeling (DSM) Domain-specific multimodeling Language-oriented programming (LOP) List of Unified Modeling Language tools Model transformation (e.g. using QVT) Model-based testing (MBT) Modeling Maturity Level (MML) Model-based systems engineering (MBSE) Service-oriented modeling Framework (SOMF) Software factory (SF) Story-driven modeling (SDM) Open API, open source specification for description of models and operations for HTTP interoperation and REST APIc

References

Further reading David S. Frankel, Model Driven Architecture: Applying MDA to Enterprise Computing, John Wiley & Sons, ISBN 0-471-31920-1 Marco Brambilla, Jordi Cabot, Manuel Wimmer, Model Driven Software Engineering in Practice, foreword by Richard Soley (OMG Chairman), Morgan & Claypool, USA, 2012, Synthesis Lectures on Software Engineering #1. 182 pages. ISBN 9781608458820 (paperback), ISBN 9781608458837 (ebook). https://www.mdse-book.com da Silva, Alberto Rodrigues (2015). "Model-Driven Engineering: A Survey Supported by a Unified Conceptual Model". Computer Languages, Systems & Structures. 43 (43): 139–155. doi:10.1016/j.cl.2015.06.001.

External links Model-Driven Architecture: Vision, Standards And Emerging Technologies at omg.org

Worked examples

Example 1 — a first encounter with Model-driven engineering

Start with the simplest possible case. Write down what Model-driven engineering claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In engineering, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Model-driven engineering before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Model-driven engineering ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Model-driven engineering

In research
Model-driven engineering appears in engineering research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Model-driven engineering in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Model-driven engineering is common in secondary-school and first-year university syllabi. It links to neighbouring topics Systems engineering, Unified Modeling Language, so understanding it makes those chapters shorter.
In everyday life
Look for Model-driven engineering outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.
Ask Teacher Smith questions about this articleOpens your AI tutor with a question about “Model-driven engineering” →

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Model-driven engineering in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Model-driven engineering means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Model-driven engineering out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Model-driven engineering in simple terms?

Model-driven engineering (MDE) is a software development methodology that focuses on creating and exploiting domain models, which are conceptual models of all the topics related to a specific problem. Hence, it highlights and aims at abstract representations of the knowledge and activities that gov…

Why does Model-driven engineering matter?

Because it connects several engineering ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Model-driven engineering?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Model-driven engineering.

Tags

  • Systems engineering
  • Unified Modeling Language

Keep exploring