terça-feira, 14 de outubro de 2008

Discussion about "Challenges: An Application Model for Pervasive Computing"

The Pervasive Computing paradigm aims at connecting devices and providing services anytime, anywhere, which is considered to be an evolution of Mobile Computing and Distributed System areas. However, the process of developing, deploying and using nowadays pervasive software does not match user's interesting and does not make use of the whole potential features provided by pervasive computing. As a consequence, researchers have been studied new software development processes to meet user expectations and make features such as invisibility, heterogeneity and smartness really become a reality.

In this context, the paper "Challenges: An Application Model for Pervasive Computing" [1] gives a new vision about pervasive computing considering how pervasive applications, devices and environment must be understood and interconnected to achieve the whole potential of pervasive computing. First, it is about how people view mobile computing devices and use them to exploit and perform tasks in the environment; second, it is about how applications are created and deployed to help users perform this task and, finally, the third goal is about how environment can support new ubiquity information and technology. This point of view enforces us to see devices and environment in a different way. Devices are front-end for an application/data access, not a repository of software; a user must perform his/her task through the application, since it can not have a goal of exploiting devices' capabilities; and the environment must be enhanced of information, not a virtual space for executing and storing applications.

Based on this such point of view about devices, applications and environment, the paper proposes a new model for pervasive software development considering it's life-cycle, which is divided into three steps: (1) design-time - where the developer creates, maintain and enhances the application -, (2) load-time - where the system composes, adapts and loads the application components into an application instance on particular hardware devices and (3) run-time - where the user performs tasks using the installed application, which run in the environment and is adapted depending on the context available in the environment. Therefore, to achieve this goal, it is needed to make some improvements on today's devices, networking and programming standards, despite the problem covers more improvements than those just cited before.

Finally, the paper contributes with a model for pervasive software development, allowing software engineers achieve the whole potential of pervasive systems through a device-independent application development process, dynamic load-time system, which provides discovery and negotiation capabilities and a powered run-time system, which allows resources to be dynamically shared. Despite of the paper had been written in the beginning of the 21st century, the authors did not address how this model can be achieved through concrete technology examples or, in other words, how available technologies could be used to achieve non independent device application, for instance. And, it is needless to say that the authors goal exceeds the current state of the art.

Thiago Sales

[1] G. Banavar, J. Beck, E. Gluzberg, J. Munson, J. Sussman, D. Zukowski, Challenges: An Application Model for Pervasive Computing, Proceedings of the Sixth Annual International Conference on Mobile Computing and Networking, 2000, pp.266-274.