This article includes a list ofgeneral references, butit lacks sufficient correspondinginline citations. Please help toimprove this article byintroducing more precise citations.(August 2014) (Learn how and when to remove this message) |
| Part of a series on |
| Software development |
|---|
Paradigms and models |
Standards and bodies of knowledge |
Model-driven engineering (MDE) is asoftware development methodology that focuses on creating and exploitingdomain models, which areconceptual models of all the topics related to a specific problem. Hence, it highlights and aims atabstract representations of theknowledge and activities that govern a particularapplication domain, rather than the computing (i.e. algorithmic) concepts.
MDE is a subfield of asoftware design approach referred asround-trip engineering. The scope of the MDE is much wider than that of theModel-Driven Architecture.[1]
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 recurringdesign patterns in the application domain), and promoting communication between individuals and teams working on the system (via a standardization of the terminology and thebest 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.[2]
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 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, andLogic Works (BP-Win and ER-Win) were pioneers in the field.
The US government got involved in the modeling definitions creating theIDEF specifications. With several variations of the modeling definitions (seeBooch,Rumbaugh,Jacobson, Gane and Sarson,Harel,Shlaer and Mellor, and others) they were eventually joined creating theUnified 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. TheObject Management Group (OMG) has developed a set of standards calledModel-Driven Architecture (MDA), building a foundation for this advanced architecture-focused approach.
According toDouglas 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.[4]
Notable software tools for model-driven engineering include: