ABSTRACT

This chapter discusses the software engineering challenges and approaches to building pervasive applications with the characteristics. It considers the application developer's point of view and also discusses the programming models and tools that can support pervasive application development. The chapter summarizes some of the promising approaches already being developed and to point out some of the pitfalls that these approaches are trying to avoid. The software infrastructure elements for supporting the execution of such applications are discussed. A multidevice application is one that is able to execute on devices with different capabilities. A contextaware application is one that is able to sense some aspects of the environment in which it is executing and adapt its behavior to the sensed environment. There are fundamental reasons why pervasive application development is more difficult than conventional application development. The controller of an application represents the control flow, including data validation and error handling, typically via event-handlers.