Expression of interest of participation in the Workshop

Ignacio Marín Prendes, Javier Rodríguez Escolar
CTIC-CT, Spain

Introduction

Who are we? What do we do?

The Unit of Device Independence and Mobility (DIM, from now and on in this paper) of the R&D Department of CTIC-CT is devoted to the development of solutions which enable users to access applications and services regardless of the device they intend to use. Applications and services must be prepared to deliver information to the general public. For example, they must fulfill the needs of people accessing information from their desktop PC or a set-top-box connected to a TV set, with a fixed Internet connection, or from in-car embedded devices or mobile phones connecting to remote systems by means of a cellular network. In order to be able to achieve this general goal, it is recommendable to have proper models about the delivery context. This term has been defined in the W3C Working Draft titled "Glossary of Terms for Device Independence" [1] as "A set of attributes that characterizes the capabilities of the access mechanism, the preferences of the user and other aspects of the context into which a web page is to be delivered". Due to device heterogeneity, Device Independence is a problem per-se, but the special relevance of device fragmentation in the mobile technologies arena and the problems of users on-the-move have specifically led us to mention the term "mobility" in our name.

In the beginning, DIM started studying the most popular software platforms on which desktop and mobile applications run. Based on those studies, the ways in which Device Independent applications and services were created were based on the "manual" reusage of the software components which were created after the different projects faced by the Unit. This reusage was made taking into account all the possible common factors between software platforms (or their different flavours and versions). For instance, JavaSE shares functionality (in the form of software packages) with JavaME, although many differences exist –for example, in the lifecycle of a "desktop" Java application versus the MIDlet-based lifecycle concept of a MIDP/CLDC application.

Already in the early steps of the existence of DIM, the Web was identified as an intermediate software stack which soothed away some of the pain caused to developers by device fragmentation. DIM joined the effort of the W3C Mobile Web Initiative [2] since its early steps in 2005 and began its participation into the MyMobileWeb project in 2006. The alliance with Telefónica I+D, original creator of the platform within the Morfeo Project [3] and project leader, and other partners enabled the construction of an open-source standards-based framework to develop mobile web applications. This platform has shifted from the imperative paradigm to build applications to a declarative approach based on state machines which model application flow and define the views associated to some of the states. Although this approach has significantly improved MyMobileWeb, the organizations involved in its roadmap are aware that it is just a first step towards a model-based strategy to solve not only the generation of user interfaces but also the generation of all the pieces of a mobile web application.

In early 2009, after the detection of the need from the software industry for generation of distributed device-independent applications running on native software platforms (with native as a synonym for non-web), the DIM Unit starts working on DIMAG (Device-Independent Mobile Application Generation) framework [4]. From a research point of view, the challenge lies on taking advantage of the pros of creating applications on a software layer closer to the hardware while dealing with many of the cons (for example, transparent version upgrade of an application, which is not a problem in web development).

The idea is that the user (a person, an organization) chooses which is the best "channel" to interact with an application or a service and that technology is ready to create the software supporting the application/service in the preferred way. So no matter if the application is published as a Web application or as a client-server application with the client running on a "native" software platform, there must be a way (platform/framework) to make it happen regardless of all the aspects comprising the delivery context. For now, MyMobileWeb would be the proposed platform in the former case and the DIMAG framework for the latter, with an intention in the long-term to have one single application authoring tool to develop once for both worlds.

Technical approach

The works in the MyMobileWeb project have proved the necessity of declarative approaches which help developers creating applications indicating "what" they want to do instead of "how". MyMobileWeb started using an imperative approach to define the application flow by means of a set of Java classes which responded to application events by, among other things, changing the application state and the rendered view. Although the UI was already created by means of a declarative approach so the platform is in charge to translate it into different actual UIs depending on delivery context information (basically extracted from a Device Description Repository), the declarative definition of the application flow is a step forward towards a complete declarative approach. MyMobileWeb defines the application flow by means of SCXML, an XML vocabulary which represents a deterministic state machine. This language has been extended in order to enhance its power expressivity so different requirements of MyMobileWeb are met. In this sense, the definition of dialog models at different levels of abstraction (preferably, automatic-generated from task models), significantly improve the development process. It helps not only to improve application maintainability, but also to guarantee its extensibility to add new functionalities or to manage new scenarios under different delivery contexts.

Being able to describe application flow and user interfaces and couple them together has been a huge advance for the platform, but additional model-based approaches are candidate to enhance it. Model-based strategies should allow interpreting delivery context information and then applying different sets of rules to modify the behaviour of the application in run-time (for instance, adapting the UI to the specific needs of a user on-the-move or exploring different subsets of a complex state machine depending on whether the user is driving, visting a museum or shopping.

In the last months, the work of CTIC on the DIMAG framework intends to provide new "channels" to access application, services and media content. This framework is meant to ease the development of distributed applications based on the client-server approach by means of a declarative approach, in a similar way as in the MyMobileWeb project. In this case, the server side of an application can be executed as a JavaEE application whereas the client side is intended to be executed in a heterogeneous set of devices: desktop PCs, set-top boxes, mobile phones and any kind of connected embedded devices. New challenges show up in comparison to a web-based approach. For example, a larger diversity of APIs to build applications enter the scene and other problems like the absolute need for data and state synchronization is needed between both server and client sides (also including synchronization of application version ). The need of model-based approaches to facilitate the construction of this framework is obviously the same as in the web-based approach of MyMobileWeb, although models need to be aware of application features which are more relevant to DIMAG (as synchronization-related problems).

The development of the first works around the DIMAG framework (backed by the previous experience in MyMobileWeb) have stressed the necessity for research on declarative approaches based on application models like the ones suggested by the works around the UsiXML [5] language (led by Dr. Jean Vanderdonckt from the Université Catholique de Louvain) and the Concurrent Task Trees [6] model (led by Dr. Fabio Paternò from CNR-ISTI in Pisa). Right after those early works, CTIC has been kindly invited by Telefónica I+D to join the SERENOA Project -a STREP Project of the VII Framework Programme of the European Union starting in September 2010, with the participation of both UCL and CNR/ISTI. This project and its goals will be surely commented during the workshop and will take into account its results and conclusions so they can be applied to the project.

Scientific approach

Apart from the fulfilment of the industry requirements, the Unit of Device Independence and Mobility of the R&D Department of CTIC-CT, has special interest in the research aspects related to MDA (including not only MB-UIs, but also other aspects of an application). Further evidence of it is the previously mentioned publication defining the DIMAG framework (plus other additionnal submissions to different journals currently under revision). Besides, some of the researchers in the DIM Unit are nowadays developing their PhD Thesis in matters dealing with MDA -involving FUI code generation, task and dialog models, etc.

References

  1. Glossary of Terms for Device Independence , R. Lewis, Editor, W3C Working Draft (work in progress), 18 January 2005, http://www.w3.org/TR/2005/WD-di-gloss-20050118/. Latest version available at http://www.w3.org/TR/di-gloss/ .
  2. W3C Mobile Web Initiative. Activity Lead: Dominique Hazaël-Massieux. http://www.w3.org/Mobile
  3. Morfeo Project. http://morfeo-project.org
  4. Miravet, P., Marín, I., Ortín, F. and Rionda, A.. DIMAG: a framework for automatic generation of mobile applications for multiple platforms. in International Conference On Mobile Technology, Applications, And Systems. 2009. Nice, France: ACM Press. Article No. 23. Available at ACM Portal.
  5. Q. Limbourg, J. Vanderdonckt, B. Michotte, L. Bouillon, M. Florins, and D. Trevisan, "USIXML : A User Interface Description Language for Context-Sensitive User Interfaces", Information Systems Research.
  6. F. Paternò, C. Mancini, and S. Meniconi, "ConcurTaskTrees: A diagrammatic notation for specifying task models," Citeseer, 1997, pp. 362-369.

Acknowledgments

The work of the Unit of Device Independence and Mobility of the R&D Department of CTIC-CT on declarative and model-based approaches for application definition has been carried out thanks to the rest of the members participating in these issues: Cristina González, Patricia Miravet, Germán Pedrosa and Celia Montes.

We would also like to thank our research partners José M. Cantera and his team at Telefónica I+D for their leadership in MyMobileWeb and also to Dr. Francisco Ortín Soler from the University of Oviedo for his research leadership in the development of the DIMAG framework.