<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Model-driven_engineering</id>
	<title>Model-driven engineering - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Model-driven_engineering"/>
	<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Model-driven_engineering&amp;action=history"/>
	<updated>2026-05-05T16:40:17Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=Model-driven_engineering&amp;diff=2710569&amp;oldid=prev</id>
		<title>178.73.35.130: /* Tools */  Add Ash Framework</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Model-driven_engineering&amp;diff=2710569&amp;oldid=prev"/>
		<updated>2025-05-14T13:21:27Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Tools: &lt;/span&gt;  Add Ash Framework&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Short description|Software development methodology}}&lt;br /&gt;
{{more footnotes|date=August 2014}}&lt;br /&gt;
{{Software development process}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Model-driven engineering&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;MDE&amp;#039;&amp;#039;&amp;#039;) is a [[software development methodology]] that focuses on creating and exploiting [[domain model]]s, which are [[conceptual model (computer science)|conceptual models]] of all the topics related to a specific problem. Hence, it highlights and aims at [[representation (mathematics)|abstract representations]] of the [[Knowledge representation and reasoning|knowledge]] and activities that govern a particular [[domain (software engineering)|application domain]], rather than the computing (i.e. algorithmic) concepts.&lt;br /&gt;
&lt;br /&gt;
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|Model-Driven Architecture]].&amp;lt;ref&amp;gt;{{Cite web |title=8 Reasons Why Model-Driven Approaches (will) Fail |url=https://www.infoq.com/articles/8-reasons-why-MDE-fails/ |access-date=2023-07-26 |website=InfoQ |language=en}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
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.&amp;lt;ref&amp;gt;{{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}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Some of the better known MDE initiatives are:&lt;br /&gt;
* 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]].&amp;lt;ref name=&amp;quot;omgtm&amp;quot;&amp;gt;{{cite web|author=Object Management Group|author-link=Object Management Group|title=OMG Trademarks|url=https://www.omg.org/legal/tm_list.htm|access-date=2008-02-26|date=2006-05-24}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The [[Eclipse (software)|Eclipse]] &amp;quot;eco-system&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
[[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.&lt;br /&gt;
&lt;br /&gt;
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 method|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|Model-Driven Architecture]] (MDA), building a foundation for this advanced architecture-focused approach.&lt;br /&gt;
&lt;br /&gt;
==Advantages==&lt;br /&gt;
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.&amp;lt;ref&amp;gt;{{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=https://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}}, &amp;#039;&amp;#039;&amp;quot;A promising approach to address platform complexity&amp;amp;mdash;and the inability of third-generation languages to alleviate this complexity and express domain concepts effectively&amp;amp;mdash;is to develop Model-Driven Engineering (MDE) technologies...&amp;quot;&amp;#039;&amp;#039;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tools==&lt;br /&gt;
Notable software tools for model-driven engineering include:&lt;br /&gt;
{{div col|colwidth=27em}}&lt;br /&gt;
* [[Architecture Analysis &amp;amp; Design Language|AADL]] from Carnegie-Mellon Software Engineering Institute&lt;br /&gt;
* [[Acceleo]] an [[open source]] code generator from Obeo&lt;br /&gt;
* [[Actifsource]]&lt;br /&gt;
* [[AgileUML]] an open source MDE toolset from AgileMDE Ltd&lt;br /&gt;
* [[Ash Framework]] an open source Elixir-based declarative application framework&lt;br /&gt;
* [[ATLAS Transformation Language]] or ATL, a model transformation language from Obeo&lt;br /&gt;
* [[DUALLy]], an MDE framework to create interoperability&lt;br /&gt;
* [[Eclipse Modeling Framework]] (EMF)&lt;br /&gt;
* [[Enterprise Architect (software)|Enterprise Architect]] from [[Sparx Systems]]&lt;br /&gt;
* [[eTrice]] an open source implementation of the [[Real-Time Object-Oriented Modeling]] standard&lt;br /&gt;
* [[Generic Eclipse Modeling System]] (GEMS)&lt;br /&gt;
* [[GeneXus]] a [[knowledge representation|knowledge]]-based, [[declarative language|declarative]], multi-platform, multi-language development solution&lt;br /&gt;
* [[Graphical Modeling Framework]] (GMF)&lt;br /&gt;
* [[JetBrains MPS]], a [[metaprogramming]] system from [[JetBrains]]&lt;br /&gt;
* [[MagicDraw]] from No Magic Inc&lt;br /&gt;
* [[MERODE]] JMermaid from KU Leuven (educational)&lt;br /&gt;
* [[MetaEdit+]] from MetaCase&lt;br /&gt;
* [[ModelCenter]] from Phoenix Integration&lt;br /&gt;
* [[Open ModelSphere]]&lt;br /&gt;
* [[OptimalJ]] from [[Compuware]]&lt;br /&gt;
* [[Vector Informatik|PREEvision]] from [[Vector Informatik]]&lt;br /&gt;
* [[Telelogic Rhapsody|Rhapsody]] from [[IBM]]&lt;br /&gt;
* [[PowerDesigner]] from [[SAP SE|SAP]]&lt;br /&gt;
* [[Simulink]] from [[MathWorks]]&lt;br /&gt;
* [[Software Ideas Modeler]] from Dusan Rodina&lt;br /&gt;
* [[Eclipse Sirius|Sirius]] an Eclipse open source project to create custom graphical modeling workbenches&lt;br /&gt;
* [[Borland Together|Together Architect]] from [[Borland]]&lt;br /&gt;
* [[Umbrello]] by KDE&lt;br /&gt;
* [[Umple]] from the University of Ottawa&lt;br /&gt;
* [[Uniface (programming language)|Uniface]] from Compuware&lt;br /&gt;
* [[YAKINDU Statechart Tools]] open source tool build on top of [[Eclipse (software)|Eclipse]]&lt;br /&gt;
{{div col end}}&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Application lifecycle management]] (ALM)&lt;br /&gt;
* [[Business Process Model and Notation]] (BPMN)&lt;br /&gt;
* [[Business-driven development]] (BDD)&lt;br /&gt;
* [[Domain-driven design]] (DDD)&lt;br /&gt;
* [[Domain-specific language]] (DSL)&lt;br /&gt;
* [[Domain-specific modeling]] (DSM)&lt;br /&gt;
* [[Domain-specific multimodeling]]&lt;br /&gt;
* [[Language-oriented programming]] (LOP)&lt;br /&gt;
* [[List of Unified Modeling Language tools]]&lt;br /&gt;
* [[Model transformation]] (e.g. using [[QVT]])&lt;br /&gt;
* [[Model-based testing]] (MBT)&lt;br /&gt;
* [[Modeling Maturity Level]] (MML)&lt;br /&gt;
* [[Model-based systems engineering]] (MBSE)&lt;br /&gt;
* [[Service-oriented modeling]] Framework (SOMF)&lt;br /&gt;
* [[Software factory]] (SF)&lt;br /&gt;
* [[Story-driven modeling]] (SDM)&lt;br /&gt;
* [[Open API]], open source specification for description of models and operations for HTTP interoperation and REST APIc&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
==Further reading==&lt;br /&gt;
* [[David S. Frankel]], &amp;#039;&amp;#039;Model Driven Architecture: Applying MDA to Enterprise Computing&amp;#039;&amp;#039;, John Wiley &amp;amp; Sons, {{ISBN|0-471-31920-1}}&lt;br /&gt;
* Marco Brambilla, Jordi Cabot, Manuel Wimmer, &amp;#039;&amp;#039;Model Driven Software Engineering in Practice&amp;#039;&amp;#039;, foreword by [[Richard Soley]] ([[Object Management Group|OMG]] Chairman), Morgan &amp;amp; Claypool, USA, 2012, Synthesis Lectures on Software Engineering #1. 182 pages. {{ISBN|9781608458820}} (paperback), {{ISBN|9781608458837}} (ebook). https://www.mdse-book.com&lt;br /&gt;
* {{cite journal|first=Alberto Rodrigues |last=da Silva |title=Model-Driven Engineering: A Survey Supported by a Unified Conceptual Model |journal=Computer Languages, Systems &amp;amp; Structures |volume=43 |pages=139–155 |number=43 |date=2015|doi=10.1016/j.cl.2015.06.001 |doi-access=free }}&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* [https://www.omg.org/mda/mda_files/Model-Driven_Architecture.pdf &amp;#039;&amp;#039;Model-Driven Architecture: Vision, Standards And Emerging Technologies&amp;#039;&amp;#039;] at omg.org&lt;br /&gt;
{{Software engineering}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Systems engineering]]&lt;br /&gt;
[[Category:Unified Modeling Language]]&lt;/div&gt;</summary>
		<author><name>178.73.35.130</name></author>
	</entry>
</feed>