We tried several different schemes for specifying mappings, including specifying
which time unit would be shown in the leftmost or rightmost digit pair. Neither of
these gave satisfactory results when wewrote out on paper what would be displayed in
various states, applications, and physical watches. In the end, we hit on the idea of a
Display Function specifying a ???Central time unit,??? where ???Central??? was a mixture of
???most important??? and ???should be displayed in the center digit pair.??? A little
heuristic??”for what counts as ???center??? when there are an even number of digit pairs??”
rounded off the scheme, and we added an appropriate property to Display Function.
Now we had a language that could specify all we could think of about watch
applications.
MODELING LANGUAGE 201
9.3.6 Putting it all Together
Having a language that could specify watch applications brought us back to our
starting point: Secio wanted to be able to compose a product family ofWatches out of
Watch Applications. One part of each Watch would thus clearly be a list of the
applications it contained, for example, Time, Stopwatch, and Alarm. AWatch would
not just be a jumble of applications though: the user would cycle through the
applications in a certain order. At ?¬?rst, we thought this would be represented as a
collection property, to which the modeler could add the desired Watch Applications.
Pages:
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374