Model-driven engineering
This article includes a list of general references, but it lacks sufficient corresponding inline citations. (August 2014) |
Part of a series on |
Software development |
---|
Model-driven engineering (MDE) is a
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.[1]
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
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
- 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 US government got involved in the modeling definitions creating the
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.[4]
Tools
Notable software tools for model-driven engineering include:
- AADL from Carnegie-Mellon Software Engineering Institute
- Acceleo an open source code generator from Obeo
- Actifsource
- AgileUML an open source MDE toolset from AgileMDE Ltd
- ATLAS Transformation Language or ATL, a model transformation language from Obeo
- DUALLy, an MDE framework to create interoperability
- Eclipse Modeling Framework (EMF)
- Enterprise Architect from Sparx Systems
- Open Source implementation of the Real-Time Object-Oriented Modelingstandard
- Generic Eclipse Modeling System (GEMS)
- declarative, multi-platform, multi-language development solution
- Graphical Modeling Framework (GMF)
- JetBrains MPS, a metaprogramming system from JetBrains
- MagicDraw from No Magic Inc
- MERODE JMermaid from KU Leuven (educational)
- MetaEdit+ from MetaCase
- ModelCenter from Phoenix Integration
- Open ModelSphere
- OptimalJ from Compuware
- PREEvision from Vector Informatik
- Rhapsody from IBM
- SAP
- Simulink from MathWorks
- Software Ideas Modeler from Dusan Rodina
- Sirius an Eclipse Open Source project to create custom graphical modeling workbenches
- Together Architect from Borland
- Umbrelloby KDE
- Umple from the University of Ottawa
- Uniface from Compuware
- YAKINDU Statechart Tools open source tool build on top of Eclipse
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
- ^ "8 Reasons Why Model-Driven Approaches (will) Fail". InfoQ. Retrieved 2023-07-26.
- ISBN 978-3-031-14131-7.
- ^ Object Management Group (2006-05-24). "OMG Trademarks". Retrieved 2008-02-26.
- S2CID 10006139. Archived from the original(PDF) on 2006-09-09. Retrieved 2006-05-16., "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..."
Further reading
- ISBN 0-471-31920-1
- Marco Brambilla, Jordi Cabot, Manuel Wimmer, Model Driven Software Engineering in Practice, foreword by ISBN 9781608458837 (ebook). http://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. .