In more complicated cases, for example setting the time,
itmightbetrueifunderstoodsuf?¬?ciently broadly.For instance, pressingSetin theAlarm
application would start setting the alarm, and pressing Set again would stop setting the
alarm. While starting and stopping the set process were two different things, they could
perhaps be understood as a toggling of the set process. Going further, though, within the
set process it would be normal to press the Mode button to toggle between setting the
hours and setting the minutes. However, outside of the set process the Mode button
would be expected to exit the Alarm application and move us to the next application.
Although further stretching of semantics might have made it possible to model
applications as simply one behavior per button, that behavior would have been more
and more conditional on what had occurred before. It thus seemed best to admit that the
action taken when a button was pressed depended on what state the application was in.
A watch application could thus be modeled as some kind of state machine. Pressing
buttons would cause transitions between states, and possibly also other actions.
At this point, it would normally have been a good idea to move from models that
were either imagined or drawn simply on paper, to actually building a prototype
modeling language.
Pages:
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362