A Model–View–Controller extension for pervasive multi-client user interfaces

This paper addresses the implementation of pervasive Java Web applications using a development approach that is based on the Model–View–Controller (MVC) design pattern. We combine the MVC methodology with a hierarchical task-based state transition model in order to achieve the distinction between the task state and the view state of an application. More precisely, we propose to add a device-independent TaskStateBean and a device-specific ViewStateBean for each task state as an extension to the J2EE Service to Worker design pattern. Furthermore, we suggest representing the task state and view state transition models as finite state automata in two sets of XML files. This paper shows that the distinction between an application’s task state and view state is both intuitive and facilitates several, otherwise complex, tasks, such as changing devices “on the fly.”