Model-driven engineering (MDE) is a
software development methodology that focuses on creating and exploiting
domain model
In software engineering, a domain model is a conceptual model of the domain that incorporates both behavior and data.Fowler, Martin. ''Patterns of Enterprise Application Architecture''. Addison Wesley, 2003, p. 116. In ontology engineering, a d ...
s, which are conceptual models of all the topics related to a specific problem. Hence, it highlights and aims at
abstract representations of the
knowledge
Knowledge can be defined as awareness of facts or as practical skills, and may also refer to familiarity with objects or situations. Knowledge of facts, also called propositional knowledge, is often defined as true belief that is disti ...
and activities that govern a particular
application domain, rather than the computing (i.e. algorithmic) concepts.
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 practice
A best practice is a method or technique that has been generally accepted as superior to other known alternatives because it often produces results that are superior to those achieved by other means or because it has become a standard way of doing ...
s 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
The Object Management Group (OMG) is a computer industry standards consortium. OMG Task Forces develop enterprise integration standards for a range of technologies.
Business activities
The goal of the OMG was a common portable and interoperab ...
(OMG) initiative
Model-Driven Architecture
Model Driven Architecture (MDA) is a software design approach for the development of software systems. It provides a set of guidelines for the structuring of specifications, which are expressed as models. Model Driven Architecture is a kind of doma ...
(MDA) which is leveraged by several of their standards such as
Meta-Object Facility
The Meta-Object Facility (MOF) is an Object Management Group (OMG) standard for model-driven engineering. Its purpose is to provide a type system for entities in the CORBA architecture and a set of interfaces through which those types can be crea ...
,
XMI,
CWM,
CORBA,
Unified Modeling Language
The Unified Modeling Language (UML) is a general-purpose, developmental modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system.
The creation of UML was originally ...
(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
An eclipse is an astronomical event that occurs when an astronomical object or spacecraft is temporarily obscured, by passing into the shadow of another body or by having another body pass between it and the viewer. This alignment of three ce ...
"eco-system" of programming and modelling tools represented in general terms by the (
Eclipse Modeling Framework
Eclipse Modeling Framework (EMF) is an Eclipse (software), Eclipse-based Model-driven architecture, modeling framework and Automatic programming, code generation facility for building tools and other applications based on a structured data model. ...
). 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
Case or CASE may refer to:
Containers
* Case (goods), a package of related merchandise
* Cartridge case or casing, a firearm cartridge component
* Bookcase, a piece of furniture used to store books
* Briefcase or attaché case, a narrow box to c ...
) 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 Bachman may refer to:
*Bachman (surname)
*Bachman, Ohio
*Bachman, West Virginia
*Bachman Khan (1210–1239 or 1240), a Kimak khan
*Bachmann knot, often used in mountaineering for ascending on ropes
* Bachman Station, a train station on the Dallas A ...
, 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
Jacobson may refer to:
* Jacobson (surname), including a list of people with the name
* Jacobson, Minnesota, a place in the United States
* Jacobson's, an American regional department store chain
See also
* Jacobsen (disambiguation)
* Jakobs ...
, Gane and Sarson,
Harel Harel is both a surname and a given name. Notable people with the name include:
Surname
* Alon Harel (1957-), Israeli law professor
* Dan Harel (1955-), general in the Israeli Defense Force
* David Harel (1950-), computer sciences professor
* Eden ...
,
Shlaer and Mellor, and others) they were eventually joined creating the
Unified Modeling Language
The Unified Modeling Language (UML) is a general-purpose, developmental modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system.
The creation of UML was originally ...
(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
The Object Management Group (OMG) is a computer industry standards consortium. OMG Task Forces develop enterprise integration standards for a range of technologies.
Business activities
The goal of the OMG was a common portable and interoperab ...
(OMG) has developed a set of standards called
model-driven architecture
Model Driven Architecture (MDA) is a software design approach for the development of software systems. It provides a set of guidelines for the structuring of specifications, which are expressed as models. Model Driven Architecture is a kind of doma ...
(MDA), building a foundation for this advanced architecture-focused approach.
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.
[, ''"A promising approach to address platform complexity—and the inability of third-generation languages to alleviate this complexity and express domain concepts effectively—is to develop Model-Driven Engineering (MDE) technologies..."'']
Tools
Notable software tools for model-driven engineering include:
*
AADL from Carnegie-Mellon Software Engineering Institute
*
Acceleo
Acceleo is an open-source code generator from the Eclipse Foundation that allows people to use a model-driven approach to building applications. It is an implementation of the " MOFM2T" standard, from the Object Management Group (OMG), for perfo ...
an open source code generator from Obeo
*
Actifsource
Actifsource is a domain specific modeling workbench. It is realized as plug-in for the software development environment Eclipse. Actifsource supports the creation of multiple domain models which can be linked together. It comes with a UML-like gr ...
*
AgileUML an open source MDE toolset from AgileMDE Ltd
*
ATLAS Transformation Language
ATL (ATLAS Transformation Language) is a model transformation language and toolkit developed and maintained by OBEO and AtlanMod. It was initiated by the AtlanMod team (previously called ATLAS Group). In the field of Model-Driven Engineering (M ...
or ATL, a model transformation language from Obeo
*
DUALLy, an MDE framework to create interoperability
*
Eclipse Modeling Framework
Eclipse Modeling Framework (EMF) is an Eclipse (software), Eclipse-based Model-driven architecture, modeling framework and Automatic programming, code generation facility for building tools and other applications based on a structured data model. ...
(EMF)
*
Enterprise Architect from
Sparx Systems
*
Generic Eclipse Modeling System
Generic Eclipse Modeling System (GEMS) is a configurable toolkit for creating domain-specific modeling and program synthesis environments for Eclipse. The project aims to bridge the gap between the communities experienced with visual metamodeling ...
(GEMS)
*
GeneXus a
Knowledge
Knowledge can be defined as awareness of facts or as practical skills, and may also refer to familiarity with objects or situations. Knowledge of facts, also called propositional knowledge, is often defined as true belief that is disti ...
-based,
declarative, multi-platform, multi-language development solution
*
Graphical Modeling Framework
The Graphical Modeling Framework (GMF) is a framework within the Eclipse platform. It provides a generative component and runtime infrastructure for developing graphical editors based on the Eclipse Modeling Framework (EMF) and Graphical Editing ...
(GMF)
*
JetBrains MPS, a
metaprogramming
Metaprogramming is a programming technique in which computer programs have the ability to treat other programs as their data. It means that a program can be designed to read, generate, analyze or transform other programs, and even modify itself ...
system from
JetBrains
JetBrains s.r.o. (formerly IntelliJ Software s.r.o.) is a Czech software development company which makes tools for software developers and project managers. , the company has offices in Prague; Munich; Berlin; Boston, Massachusetts; Amsterdam ...
*
MagicDraw from No Magic Inc
*
MERODE
Merode may refer to:
People
* House of Merode, a princely dynasty belonging to the Belgian nobility
** Jean Philippe Eugène de Mérode (1674–1732), Imperial Field Marshal
** Félix de Mérode (1791–1857), Belgian politician
** Xavier de Mé ...
JMermaid from KU Leuven (educational)
*
MetaEdit+
MetaEdit+ is an environment for creating and using Domain-Specific Modeling languages.
Research History
The research behind the genesis of MetaEdit+ was carried out at the University of Jyväskylä, as part of the MetaPHOR project. A metamodeli ...
from MetaCase
*
ModelCenter from Phoenix Integration
*
Open ModelSphere
Open ModelSphere is a data, process and UML modeling tool written in Java and distributed as free software under the GPL License. It provides support for forward and reverse engineering between UML and relational schemas.
History
Open ModelSphere ...
*
OptimalJ from
Compuware
*
PREEvision from
Vector Informatik
*
Rhapsody from
IBM
*
RISE Editor from RISE to Bloome Software
*
PowerDesigner from
SAP
Sap is a fluid transported in xylem cells (vessel elements or tracheids) or phloem sieve tube elements of a plant. These cells transport water and nutrients throughout the plant.
Sap is distinct from latex, resin, or cell sap; it is a separ ...
*
Simulink from
MathWorks
*
Software Ideas Modeler
Software Ideas Modeler is a CASE and an UML tool. The modeler supports all 14 diagram types specified in UML 2.5. It also supports among others the following diagrams and standards:
* ER diagrams
* BPMN 2.0
* CMMN
* SysML 1.5
* ArchiMate 3
* ...
from Dusan Rodina
*
Sirius
Sirius is the brightest star in the night sky. Its name is derived from the Greek word , or , meaning 'glowing' or 'scorching'. The star is designated α Canis Majoris, Latinized to Alpha Canis Majoris, and abbreviated Alpha CMa ...
an Eclipse Open Source project to create custom graphical modeling workbenches
*
Together Architect from
Borland
*
Umple from the University of Ottawa
*
Uniface from Compuware
*
YAKINDU Statechart Tools open source tool build on top of
Eclipse
An eclipse is an astronomical event that occurs when an astronomical object or spacecraft is temporarily obscured, by passing into the shadow of another body or by having another body pass between it and the viewer. This alignment of three ce ...
See also
*
Application lifecycle management
Application lifecycle management (ALM) is the product lifecycle management ( governance, development, and maintenance) of computer programs. It encompasses requirements management, software architecture, computer programming, software tes ...
(ALM)
*
Business Process Model and Notation (BPMN)
*
Business-driven development (BDD)
*
Domain-driven design
Domain-driven design (DDD) is a major software design approach, focusing on modeling software to match a domain according to input from that domain's experts.
Under domain-driven design, the structure and language of software code (class names, ...
(DDD)
*
Domain-specific language (DSL)
*
Domain-specific modeling (DSM)
*
Domain-specific multimodeling
Domain-specific multimodeling
is a software development paradigm where each view is made explicit as a separate domain-specific language (DSL).
Successful development of a modern enterprise system requires the convergence of multiple views. Bus ...
*
Language-oriented programming (LOP)
*
List of Unified Modeling Language tools
*
Model transformation (e.g. using
QVT)
*
Model-based testing
Model-based testing is an application of model-based design for designing and optionally also executing artifacts to perform software testing or system testing. Models can be used to represent the desired behavior of a system under test (SUT), ...
(MBT)
*
Modeling Maturity Level (MML)
*
Model-based systems engineering (MBSE)
*
Service-oriented modeling
Service-oriented modeling is the discipline of modeling business and software systems, for the purpose of designing and specifying Service-orientation, service-oriented business systems within a variety of architectural styles and paradigms, such ...
Framework (SOMF)
*
Software factory
A software factory is a structured collection of related software assets that aids in producing computer software applications or software components according to specific, externally defined end-user requirements through an assembly process. A s ...
(SF)
*
Story-driven modeling (SDM)
References
Further reading
*
David S. Frankel
David S. Frankel (born 1950) is an American Information Technology expert and consultant, known for his work on model-driven engineering and semantic information modeling.
Biography
Frankel obtained his BS in Mathematics from the University of ...
, ''Model Driven Architecture: Applying MDA to Enterprise Computing'', John Wiley & Sons,
* Marco Brambilla, Jordi Cabot, Manuel Wimmer, ''Model Driven Software Engineering in Practice'', foreword by
Richard Soley (
OMG
OMG may refer to:
* Oh my God (sometimes also Oh my Goodness or Oh my Gosh), a common abbreviation, often used in SMS messages and Internet communication
Acronyms
* OMG is the IATA code for Omega Airport, Omega, Namibia
* Operational manoeuvre ...
Chairman), Morgan & Claypool, USA, 2012, Synthesis Lectures on Software Engineering #1. 182 pages. (paperback), (ebook). http://www.mdse-book.com
* {{cite journal, first=Alberto Rodrigues , last=da Silva , title=Model-Driven Engineering: A Survey Supported by a Unified Conceptual Model , journal=Computer Languages, Systems & Structures , volume=43 , pages=139–155 , number=43 , date=2015, doi=10.1016/j.cl.2015.06.001 , doi-access=free
External links
''Model-Driven Architecture: Vision, Standards And Emerging Technologies''at omg.org
Systems engineering
Unified Modeling Language