The idea of the cycle, however, gave us the idea of representing this graphically. Since
we had already considered the possibility of having layered state machines for the
Watch Application??”a State in an application could decompose to a subapplication??”
we hit on the idea of using the sameWatch Application modeling language to specify
application composition.
This approach brought several bene?¬?ts. First, it reduced the number of concepts the
modeler would have to learn. Second, it gave the modeler more freedom in deciding
how many levels the models should be divided up into: if a Watch had only one
Application, for example a Stopwatch, the Watch could point directly to the
Stopwatch, rather than having to specify an intermediate level with a single Stopwatch
Application. Similarly, if a given application became too large for a single graph, or if
parts of an application could be reused in other applications, they could be separated
out into their own subapplications??”on as many levels as seemed appropriate. Third, it
allowed the possibility of more freedom at the application composition level: rather
than restricting allWatches to always move between their applications in a ?¬?xed cycle,
the choice of which application to go to next could be as complicated as the modeler
desired. An example model is shown in Fig.
Pages:
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375