Jump to content

Model-driven engineering: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Yobot (talk | contribs)
m WP:CHECKWIKI errors fixed + general fixes using AWB (8961)
Line 58: Line 58:
* [[Simulink]] from [[MathWorks]], see also [[Stateflow]] and [[Real-Time Workshop Embedded Coder]], [[TargetLink]]
* [[Simulink]] from [[MathWorks]], see also [[Stateflow]] and [[Real-Time Workshop Embedded Coder]], [[TargetLink]]
* [[Borland Together|Together Architect]] from [[Borland]]
* [[Borland Together|Together Architect]] from [[Borland]]
* [[TOPCASED]] ([[Open Source]]-Tool)
* [http://www.topcased.org/ TOPCASED] ([[Open Source]]-Tool)
* [[Uniface]] from Compuware
* [[Uniface]] from Compuware
* [http://www.xcomponent.com/ XComponent], a user-friendly solution
* [http://www.xcomponent.com/ XComponent], a user-friendly solution

Revision as of 12:55, 7 May 2013

Model-driven engineering (MDE) is a software development methodology which focuses on creating and exploiting domain models (that is, abstract representations of the knowledge and activities that govern a particular application domain), rather than on the computing (or 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 practices used in the application domain).

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:

History

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, and Logic Works (BP-Win and ER-Win) were pioneers in the field. Except for HTI's 001AXES Universal Systems Language (USL) and its associated automation (001), CASE had the same problem that current MDA/MDE tools have today: the model gets out of sync with the application (see below).

The US government got involved in the modeling definitions creating the IDEF specifications. With several variations of the modeling definitions (see Booch, Rumbaugh, Jacobson, Gane and Sarson, Harel, 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.[2]

Tools

Template:Multicol

Template:Multicol-break

Template:Multicol-break

Template:Multicol-end

See also

References

  1. ^ Object Management Group (2006-05-24). "OMG Trademarks". Retrieved 2008-02-26.
  2. ^ Schmidt, D.C. (2006). "Model-Driven Engineering" (PDF). IEEE Computer. 39 (2). Retrieved 2006-05-16. {{cite journal}}: Unknown parameter |month= ignored (help), "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

  • 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 (OMG Chairman), Morgan & Claypool, USA, 2012, Synthesis Lectures on Software Engineering #1. 182 pages. ISBN 9781608458820 (paperback), ISBN 9781608458837 (ebook). http://www.mdse-book.com