Abstract

We are witnessing increasing demand for applications that are runnable on a wide range of mobile devices (e.g. wireless laptops, mobile phones, sensors). In addition, the emergence of new software technologies (e.g. component approaches, publish subscribe bindings, web services, service discovery protocols) has demanded that such applications face heterogeneous software platforms. However, existing approaches for building mobile device applications are often targeted to a particular platform (e.g. mobile phones, PDAs, sensors) and software technology (Web Services, Microsoft COM, Java components). This paper discusses the use of a generic component approach for the construction of adaptive applications that can integrate and re-use technologies (e.g. middleware and legacy components) and deploy them across heterogeneous devices. We have implemented a Java prototype for J2ME virtual machines and evaluated the potential benefits using development case-studies and performance measures. We show that we can address a wide range of heterogeneity with minimal resource overheads.