preloader
Glossary
Model-Driven Engineering Glossary

Definition

Model-Driven Engineering (MDE) is a software development methodology that focuses on creating and exploiting domain models, which are conceptual representations of the knowledge and activities that govern a particular application domain. Unlike traditional software development approaches that emphasize coding, MDE uses models as primary artifacts throughout the development lifecycle, from specification and analysis to design, implementation, and maintenance.

 

Key Concepts

  • Models as Primary Artifacts: In MDE, models are the central focus of development activities. They are used to abstractly represent the system, capturing both its structure and behavior.
  • Automation: MDE promotes the automation of software development tasks, such as code generation, model transformation, and validation, through tools that process and manipulate models.
  • Abstraction: By using models, MDE enables developers to work at a higher level of abstraction, which can simplify complex systems, enhance communication among stakeholders, and improve productivity.
  • Separation of Concerns: MDE encourages the separation of different aspects of the system into distinct models, such as platform-independent models (PIMs) that capture business logic and platform-specific models (PSMs) that include implementation details.

Benefits

  • Improved Productivity: Automation of repetitive and error-prone tasks can significantly speed up the development process.
  • Consistency and Quality: Models ensure a consistent representation of the system, which helps maintain quality throughout the development lifecycle.
  • Better Communication: High-level models are often more understandable to non-technical stakeholders, facilitating better communication and collaboration.
  • Flexibility and Adaptability: Models can be easily modified and transformed, allowing for more agile and adaptive development processes.

Historical Context

The roots of MDE can be traced back to the early 1990s with the advent of visual modeling languages like the Unified Modeling Language (UML). The concept was further formalized with the introduction of the Model-Driven Architecture (MDA) by the Object Management Group (OMG) in 2001, which set the foundation for using models as primary artifacts in software development.

 

In summary, Model-Driven Engineering (MDE) is a methodological approach that leverages high-level models to drive the entire software development process, aiming to improve efficiency, quality, and communication within and across development teams.