Two Variables
may thus share a name, but because of the scoping they are two different objects in
the models, and two different variables in the running watch applications. The
scoping is implicit in the modeling language, and made explicit in the code
generation.
The same Display Function will normally be referred to by many States. In the
simplest case, all States in a Watch Application will use its single Display Function.
To make this as easy as possible for the modeler, such a Display Function can be given
a blank name, and then each State that does not de?¬?ne a Display Function will use this
default Display Function.
In the Watch Application diagrams we also take advantage of another kind of
reuse: reuse by relationship. The clearest case is the reuse of Actions: an Action can be
reused by more than one Transition, simply by having each Transition link to it with its
Action role line. Another case, so obvious that it might be overlooked, is the reuse of
States, which are reused within a single application in the sense that they may be
reached by more than one path.
Since in some cases trying to link disparate objects together can lead to a visual
spaghetti of crisscrossing lines, it is also possible to make representational
duplicates of objects in a diagram. For instance, in the Time application in Fig.
Pages:
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388