Nothing could be truer than the fact that all things are flowing everything is under constant change. Even in the field of computing, we are witnessing great changes right before our eyes. When it first began, computing was limited to huge machines operated by scientists in research laboratories. At present, computing covers a lot more devices, such as PCs, laptops, and are used by a lot more people, even by those who don't have any technical background.
With the millennium, there is an advent of a new computing environment. Computing is no longer limited to a computer per se. You see more and more different types of devices, such as personal digital assistants (PDA's) and mobile phones, taking advantage of wireless networks to connect to the Internet to provide some sort of services to the user.
The trend towards mobile computing should not be ignored. Like every other computing paradigm, mobile computing has its features and limitations. However, what sets it apart from the other paradigms is the amount of change it is affected by. Everything, from devices used, to resources available, to network bandwidths, to user context, can change drastically at run-time. From a computing environment's perspective, we could say that things in mobile computing flow more quickly and in more directions than traditional computing environments.
It, therefore, becomes imperative for software systems and applications to be able to adapt to changes, in order to provide a suitable and relatively stable working environment for users. Various adaptation techniques have been previously explored from lower-level techniques of dynamically changing routing information, to changing fidelity (i.e. quality) of data. However, dynamically changing how an application carries out its functionality, functionality adaptation has not been sufficiently explored, in the context of mobile computing. Techniques do exist; however, with limited flexibility and adaptive capability.
[...] We wanted to investigate whether the delay in retrieving the facets from the network in the context of such an application can be considered acceptable by the user TESTBED The Sparkle client system is built on Java. Thus, every client system requires a Java Virtual Machine. The size of the class files of the Sparkle system is 252KB, not including the dom4j XML parser which is actually 2.4 MB. When installed together as a jar file which is compressed, the client system and the parser comes up to 630KB. [...]
[...] Often an analogy between software components and hardware components in integrated circuits is brought up. Just as how a modem can be made by assembling different IC components and wiring them together, similarly, software systems can be built by wiring together different software components. Software components, hence, have become commercial-off the shelf (COTS) products. This chapter provides a brief overview of current component-based technology. We first define what a component is. Then we describe the stages involved in carrying out component-based development. [...]
[...] The client system is designed in such a way that it takes care of all the dynamic composition of the facets. Networking, negotiation and resource management details are transparent to the programmer, allowing the programmer to focus on the application functionality Facets All facets implement only a single functionality. A direct implication of this is that facets can only contain a single publicly callable method. Facets are made up of two parts: a shadow which describes the properties of the facet and a code segment which implements the functionality Shadow The shadow is actually an XML file, shadow.xml, with tags describing the properties of a particular facet. [...]
[...] In Proceedings of the 17th ACM Symposium on Operating System Principles, pp. 48-63, December A. Fox, S. Gribble, Y. Chawathe and E. A. Brewer. Adapting to Network and Client Variation Using Active Proxies: Lessons and Perspectives. In IEEE Personal Communications, Special Issue on Adaptation, August A. Fuggetta, G. P. Picco, and G. Vigna. Understanding Code Mobility. In IEEE Transactions on Software Engineering vol. pp. 342- J. Gao, P. Steenkiste, E. Takahashi and A. Fisher. A Programmable Router Architecture Supporting Control Plane Extensibility. [...]
[...] The facet model lays a foundation for a flexible software system for mobile computing. However, there are many issues which need to be resolved to realize a practical system. The facet model forms the ground work on which other research can be based on. Thus, its significance and contribution cannot be undermined. BIBLIOGRAPHY 1 E. Amir, S. McCanne, and R. Katz. An Active Service Framework and its Application to Real-time Multimedia Transcoding. In Proceedings of ACM SIGCOMM,pp. 178-189, September D. [...]
using our reader.