To avoid having one huge generator, generators
can be broken down into subgenerators and call each other, forming a hierarchy or
network. The top level of the Watch DSM solution is the Watch Family modeling
language, and this also forms the top level of the generator. The generators at this top
level are shown in Fig. 9.10 (a ???*??? in the name of a subgenerator denotes an individual
version for each target platform). Arrows denote calls to subgenerators, and the order
of execution is depth ?¬?rst and left to right.
At the top is the main generator, ???Autobuild.??? The role of ???Autobuild??? here is
similar to that of the ???main??? function in many programming languages: it initiates the
212 DIGITAL WRISTWATCH
whole generation process but does not itself contain anything other than calls to the
subgenerators on the next level down. The subgenerators on the next level relate
closely to the steps of the Autobuild process presented earlier in this section. As
???_JavaComponents??? just outputs the prede?¬?ned Java code for the framework
components, and ???_compile and execute *??? just executes scripts produced during the
earlier steps of the generation process, we can concentrate on the more complex
subgenerators, ???_create make for *??? and ???_Models.???
The basic task of the ???_create make for *??? subgenerators is to create the executable
scripts that will take care of the compilation and execution of the generated code.
Pages:
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393