2 ms·
This article describes model driven application development, the focus of my current company, where an application is considered to have a model that describes
by keefe 17y ago
This article describes model driven application development, the focus of my current company, where an application is considered to have a model that describes the application state and a domain specific model and the model that describes application state may be varied dynamically. This is completely distinct from programming. Programming is about manipulating data and how a computer actually operates on data (threads & ram etc). Somebody will always have to do programming in some language in order to enable "interesting" business users with such point of views to do things easily. The other side of the model-driven coin (distinct from UI code) is using rules to describe data transformations. This is not exactly a shameless plug because I am leaving this company but you can see model driven development in action by downloading TopBraid Composer Maestro Edition http://www.topquadrant.com/products/TB_Composer.html http://www.topquadrant.com/products/TB_Composer.html and navigating to http://localhost:8083/tbl http://localhost:8083/tbl You will see several applications which you can select and then select a data model to work with.... at that point your application is in a particular state (such and such widget configuration) that application state may then be saved off as another application and so forth. Going back to TBC you can see that actual data models that represent this application state and you can look into SparqlMotion and SPIN for how inferencing can be used to add support for rules in a model driven manner. The advantage of TQ's approach is that it is based on open standards most notably RDF, which is a sufficiently generic data model that it may be considered universal. I still believe that actually implementing components and complex algorithms should still be done in code. To me the memory state of an operating system represents a very particular closed world that can then be mapped to the general, open world expressed in RDF (or however you like to express the universe of data, I believe RDF is best atm)