Faster Development Through Modeling

jetmorebrisketSoftware and s/w Development

Aug 15, 2012 (5 years and 1 month ago)

206 views

Faster Development

Through Modeling



Free tools meet MDA




Jeff Cahoon


Principal for CubeModel


September 27
th
, 2006


The CWM is Very Useful



Makes tools interoperable


Useful beyond the scope of
tools


Useful beyond the scope of
data warehousing

The Key to Speeding Development

**REUSE**


Kinds of Reuse


Internal to an application


Significant speed improvement


Across Applications


Extreme speed improvement



Not Data Warehouse Specific


Not all applications fit


Repetitive structure important

Application Generation

Development Tasks

Tools Required


mofEditor


http://www.fing.edu.uy/inco/ens/aplicaci
ones/MofPlaza/web/mofplaza/mofeditor.
htm


NetBeans MDR


http://mdr.netbeans.org


XMI Diff/XSLT


Example at
http://www.cubemodel.com

MofEditor


Creates models readable by both
Humans and Machines


Allows Modeling with any MOF
Metamodel


Provides Objects of the Right Context


Only allows Sensible Associations


Still an early release


NetBeans MDR


Imports XMI models from other tools


MofEditor


Oracle Warehouse Builder


Provides JMI interface to the model


Very powerful and flexible interface


Provides Browser for checking model


Much to be discovered using this tool

XMI Diff/XSLT tools


XMI Diff/XSLT are needed for joining
models created in different tools.


Object Ids change in XMI every time
the model is changed. Associating
objects by Id becomes a problem.


XMI Diff supports relative refs, but the
tools do not.


The solution is not complicated.

Benefits Besides Faster
Development


Fewer typos with generated code


Small model changes are easy


Some people think better graphically


The code matches the model


Modeling is easier in the right context


Potential for surviving platform changes

Interesting Questions

?


How do I get reuse where tasks
are not identical?


Does reuse mean that the code will
be inefficient?


How do I make changes once the
application is deployed?


Your question goes here.

Model Silo Problem

Conclusions:


CWM is useful beyond tools and data
warehouses


Free tools are available today to do
everything you need


Model driven application development is
often faster