Case Study - CATCH 2004
- A simple motivation sample on Modality and Locale
- java.util.Locale
- a triplet (language, country, variant)
e.g. (en, US, WIN) or (en, UK, MAC)
- a relaxing algorithm implemented by
java.util.ResourceBundle.getBundle()
- com.ibm.*.Modality
- a triplet {modality family, modality name, modality flavor}
e.g. GUI/HTML/4.0 or SPEECH/VXML/2.0
- relaxing supported by isSubtypeOf operation
- Static resources and class factories at variation points are
parameterized in two dimensions (Locale, Modality)
- We simplified our task by saying Locale always takes precedence
- the Modality dimension imported into the Locale dimension -
flattening not always possible.
<message name="eventType">
<!-- this is default content (e.g. GUI or GUI/HTML): -->
Select the event type:
<!-- following line is content for all the GUI/WML/* modalities -->
<alt modality="GUI/WML">Event Type:</alt>
<!-- any speech modality uses following line -->
<alt modality="SPEECH">Please say the event type.</alt>
</message>