Content deleted Content added
m caps. WP:DUPLINK. |
→Tools: Add listing, reduce wording Tags: Mobile edit Mobile web edit |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 2:
{{more footnotes|date=August 2014}}
{{Software development process}}
'''Model-driven engineering''' ('''MDE''') is a [[software development methodology]] that focuses on creating and exploiting [[___domain model]]s, which are [[
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 [[
==
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]]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.<ref>{{Cite book |last=Flatt |first=Amelie |title=Model-Driven Development of Akoma Ntoso Application Profiles - A Conceptual Framework for Model-Based Generation of XML Subschemas |last2=Langner |first2=Arne |last3=Leps |first3=Olof |publisher=Sprinter Nature |year=2022 |isbn=978-3-031-14131-7 |edition=1st |___location=Heidelberg |language=en}}</ref>
Line 12:
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]], [[XML Metadata Interchange|XMI]], [[Common Warehouse Metamodel|CWM]], [[CORBA]], [[Unified Modeling Language]] (to be more precise, the OMG currently promotes the use of a subset of UML called [[Executable UML#fUML and ALF|fUML]] together with its action language, [[Executable UML#fUML and ALF|ALF]], for model-driven architecture; a former approach relied on Executable UML and [[Object Constraint Language|OCL]], instead), and [[QVT]].<ref name="omgtm">{{cite web|author=Object Management Group|author-link=Object Management Group|title=OMG Trademarks|url=
* The [[Eclipse (software)|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.
==
[[File:Métamodèle, modèle et original.png|thumb|A chart showing the instantiations and representation links between a metamodel, a model and an original (in French)|250px|right]]The first tools to support MDE were the Computer-Aided Software Engineering ([[Computer Aided Software Engineering|CASE]]) tools developed in the 1980s. Companies like Integrated Development Environments (IDE
The US government got involved in the modeling definitions creating the [[IDEF]] specifications. With several variations of the modeling definitions (see [[Booch method|Booch]], [[
▲[[File:Métamodèle, modèle et original.png|thumb|A chart showing the instantiations and representation links between a metamodel, a model and an original (in French)|250px|right]]The first tools to support MDE were the Computer-Aided Software Engineering ([[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, [[Charles Bachman#Bachman Information Systems|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 method|Booch]], [[Object-modeling technique|Rumbaugh]], [[Object-oriented software engineering|Jacobson]], Gane and Sarson, [[State diagram#Harel statechart|Harel]], [[Shlaer-Mellor|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.
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.<ref>{{cite journal|last=Schmidt|first=D.C.|title=Model-Driven Engineering|journal=[[IEEE Computer]]|volume=39|issue=2|date=February 2006|doi=10.1109/MC.2006.58|s2cid=10006139|url=
▲== 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.<ref>{{cite journal|last=Schmidt|first=D.C.|title=Model-Driven Engineering|journal=[[IEEE Computer]]|volume=39|issue=2|date=February 2006|doi=10.1109/MC.2006.58|s2cid=10006139|url=http://www.cs.wustl.edu/~schmidt/PDF/GEI.pdf|access-date=2006-05-16|archive-url=https://web.archive.org/web/20060909034327/http://www.cs.wustl.edu/%7Eschmidt/PDF/GEI.pdf|archive-date=2006-09-09|url-status=dead}}, ''"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..."''</ref>
==Tools==
Line 31 ⟶ 30:
* [[Actifsource]]
* [[AgileUML]] an open source MDE toolset from AgileMDE Ltd
* [[Ash Framework]] an open source Elixir-based declarative application framework
* [[ATLAS Transformation Language]] or ATL, a model transformation language from Obeo
* [[DUALLy]], an MDE framework to create interoperability
Line 37:
* [[eTrice]] an open source implementation of the [[Real-Time Object-Oriented Modeling]] standard
* [[Generic Eclipse Modeling System]] (GEMS)
* [[GeneXus]] a [[
* [[Graphical Modeling Framework]] (GMF)
* [[JetBrains MPS]], a [[metaprogramming]] system from [[JetBrains]]
* [[MagicDraw]] from No Magic Inc
* [[MDriven]] – a UML-based, model-driven development platform that generates .NET and web applications from executable models.
* [[MERODE]] JMermaid from KU Leuven (educational)
* [[MetaEdit+]] from MetaCase
Line 83 ⟶ 84:
==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]] ([[Object Management Group|OMG]] Chairman), Morgan & Claypool, USA, 2012, Synthesis Lectures on Software Engineering #1. 182 pages. {{ISBN|9781608458820}} (paperback),
* {{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==
* [
{{Software engineering}}
|