Similarly, we could have allowed the same transition to be triggered by
multiple buttons (???Press any button to stop alarm ringing???), and a transition could
clearly trigger multiple actions (e.g., setting an alarm and turning on the alarm
icon).
However, as the transition would generally link four objects anyway??”quite a large
number??”it was thought better to allow one From State, an optional Event from a
Button, an optional Action, and one To State. A small Action object would serve as a
placeholder for multiple actions, which would be connected to it by relationships. The
Event role from the Button object would be optional: some state transitions could
happen without any button press.
The transition from the Start State to the ?¬?rst State would be required not to have a
Button: an application is never actually in the Start State, which simply marks the
entrance point. Additionally, there was a constraint that a Start State could have only
one transition leaving it, and similarly there should only be one Start State in each
Watch Application. Interestingly, the Stop State behaves differently: there can be
many Stop States, each with possibly many transitions arriving at it. While an
application is never actually in a Stop State, there is no ambiguity resulting from this
situation, in contrast with the case of Start States.
Pages:
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379