6

Managing Resources

6.1 Resource-Related Concerns in Mobile Devices

A mobile device is a specialized piece of hardware. It has several different types of resources that may require special monitoring and management activities that require scalable yet uniform designs. In addition to hardware resources, when the level of abstraction is raised, some parts of software can be treated as resources as well. At the very least, applying similar techniques to them can ease the development.

Based on the above, resource management is an important concern when aiming at software running in a mobile device. Following the conventional guidelines of modularity addressed by Parnas (1972) and Parnas et al. (1985) for instance, implementing the access to resources is therefore a good candidate for separation from the rest of the system. In this section, we discuss the different paradigms of separation and their implications.

6.1.1 Overview

In many ways, each resource included in a mobile device can be considered as a potential variation and management point. Additional motivation for this is gained from the fact that different configurations used in actual phones seldom follow the same line of hardware, but include updates due to pricing and logistics reasons, for instance. Moreover, many resources offer different facilities to higher levels of abstraction, Therefore, it is only natural that the underlying software architecture should adopt a principle where each resource is associated with a manageable, ...

Get Programming Mobile Devices: An Introduction for Practitioners now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.