Capturing the requirements for multiple user interfaces

In this paper we describe MANTRA, a model-driven approach for the development of multiple consistent user interfaces for one application. The common requirements of all these user interfaces are captured in an abstract UI model (AUI) which is annotated with constraints on the dialogue flow. We exemplify all further steps along a well known application scenario in which a user queries train connections from a simple timetable service. We consider in particular how the user interface can be adapted on the AUI level by deriving and tailoring dialogue structures which take into account constraints imposed by front-end platforms or inexperienced users. With this input we use model transformations to derive concrete, platform-specific UI models (CUI). These can be used to generate implementation code for several UI platforms including GUI applications, dynamic websites and mobile applications. The user interfaces are integrated with a multi tier application by referencing WSDL-based (Web Service Description Language) interface descriptions. Finally, we discuss how our approach can be extended to include voice interfaces. This imposes special challenges as these interfaces tend to be structurally different from visual platforms and have to be specified using speech-input grammars.