Model-driven application

A model-driven application is a software application that the functions or behaviors are based on, or in control of, some evolutionary applied models of the target things to the application. The "applied models" are served as a part of the application system in which it can be changed at runtime. The "target things" are what the application deals with, such as the objects and affairs in business for a business application. Follows the definition of application in "TOGAF", a "model-driven business application" could be described as an IT system that supports business functions and services running on the models of the (things in) business.
History.
The ideal of the architecture for a model-driven application was first put forward by Tong-Ying Yu on "the Enterprise Engineering Forum" in 1999, which have been studied and spread through some internet media for a long time. It had influence on the field of enterprise application development in China; there were successful cases of commercial development of enterprise/business applications in the architectural style of a model-driven application. Gartner Group carried out some studies into the subject in 2008; they defined the "model-driven packaged applications" as "enterprise applications that have explicit metadata-driven models of the supported processes, data and relationships, and that generate runtime components through metadata models, either dynamically interpreted or compiled, rather than hardcoded." The model-driven application architecture is one of few technology trends to driven the next generation of application modernization, that claimed by some industrial researchers in 2012.
Instance.
Business process management (BPM) is the significant practice to the model-driven application. According to the definition, a BPM system is model-driven if the functions are operated based on the business process models which are built and changed at the operational time but not the design or implementation time; the biggest advantage is that it can deal with the continuous changing of business process directly without modifying the code of the software.
Notes.
Note that it should be distinguished from the Model-Driven Architecture (MDA); the latter is a software design approach for the development of software systems and generally does not specify a specific system style or the runtime configuration.