3.4 TOOLING FOR DSM
Modeling and code generation do not work without tools: they are a fundamental part
of the automation. Modeling tools allow creating, checking, verifying, reusing,
integrating, and sharing design speci?¬?cations, among others. The importance of tools
for modeling was already recognized in the 1960s: the ?¬?rst software product sold
independently of a hardware package was a ?¬‚owchart modeling tool called Auto?¬‚ow
(Johnson, 1998). If the speci?¬?cation models are just throw-away sketches, then
naturally tools don??™t matter. In truly model-based development (see Fig. 1.1),
however, tools are mandatory. Obviously, generators translating models into code also
need to be based on tools.
3.4.1 Rethinking the Tooling
DSM gives freedom to experienced developers in companies: they de?¬?ne how the
applications should be designed, speci?¬?ed, and produced. This requires different
kinds of tools than the current development tools in which languages and transformations
are ?¬?xed. These tools, earlier called CASE tools, dictate the development
by providing a few ?¬?xed modeling languages, enforceing a certain way of modeling,
and generating code in a certain way. In reality the situation should be the opposite. In
many cases, experienced developers in a company have better knowledge of howtheir
software should be developed than a modeling tool vendor!
Unfortunately, traditional modeling tools, such asUML tools today or CASE tools
in the past, do not give adequate freedom and power to developers to adapt the
modeling languages and generators.
Pages:
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133