Similarly, the digital
wristwatch case illustrates the use of the same modeling language but with different
generators, such as one for Mobile Information Device Pro?¬?le (MIDP) Java and
another for C. This offers the bene?¬?ts of having a single source and multiple targets:
the cost of creating applications for other target environments is almost nonexistent.
Also, bug corrections and other changes need to be made in one place only and newer
versions can be generated for all the targets.
Usually in such cases, the underlying target environment is different, as are the
supporting components and framework code. In the case of the Symbian smartphone,
there are two options: when creating Python applications the generator uses the
Python for S60 library and produces corresponding framework code such as
dispatcher and stack handling code; to produce C++ code, native for Symbian, the
generator instead uses the UI platform of S60. The framework code can be produced
by the generator or it can be selected from the library during generation. The same
rules apply here that applied to selecting components: Each component that is
optional or whose use is based on variability can be represented with variation data.
For example, in the watch case there are two different Canvas components for Java
implementation: one for running the application in a browser and another for MIDP
devices.
Pages:
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440