A development environment for intelligent applications on mobile devices

https://doi.org/10.1016/j.eswa.2004.05.010Get rights and content

Abstract

Mobile computing devices are becoming increasingly prevalent in a huge range of physical guises, offering a considerable market opportunity for software. Mature Artificial Intelligence technologies offer the potential to create compelling software for the mobile platform. However, few intelligent applications have been developed for mobile devices. This lack of development is related firstly to mobile device limitations, such as memory and processing power, and secondly to the requirement for portability due to the diversity in the mobile device market. This paper presents a development environment for intelligent applications for mobile devices that successfully addresses both of these issues. Case studies of intelligent applications developed with this development environment are briefly described. Some conclusions are presented and directions for future research considered.

Introduction

The attraction of the mobile device market for software deployment is considerable, with penetration close to 80% for mobile phones in the UK (Peters, 2002) and expected to remain at this level (Kacker, 2002). Gartner reports that the mobile market is continuing to grow with expectations that between 450 and 460 million mobile phones will be sold globally in 2003 (Reuters, 2003). Handheld sales increased by 51% in Europe in 2002, with Palm, who lead the data-centric handheld segment experiencing a 45% growth Canalys (2003). Within the phone market, smart phones (e.g. Nokia 3650 and Sony Ericsson P800) continue to provide much of the growth showing the increasing popularity of integrated handheld devices (Canalys, 2001).

The prediction is that application development for mobile devices will explode (Cripps, 2001). Although this explosion may occur, currently there is considerable duplication within the application market, with the majority of applications for mobile devices tending to be scaled down versions of Office software, personal productivity tools, enhancement software (e.g. file management, ring tones) dictionaries and games. However, to ensure their success mobile devices, particularly handhelds need useful and compelling applications (Craig, 2002) or as Symbian's David Levin has prophesised, ‘The PDA is dead.’ (BBC, 2003, Cripps, 2001, Hall, 2004, Loke, 2002, Newall, Newall, Smith, Whiteis)

Artificial Intelligence (AI) is a mature field with proven technology for activities such as data mining, information retrieval and natural language processing (Menzies, 2003). It has had increasing success in domains such as finance (Nedovic & Devedzic, 2002), games (Smith & EgenfeldtNielsen, 2003) and medical diagnostics (Willems, 1991). There are many potential applications for Intelligent Systems which would offer obviously improved usefulness by being supported on mobile devices. Examples might be:

  • A system to help a horticulturist diagnose and propose treatments for plant disorders out in the field.

  • A system that helps a Health and Safety officer conduct detailed compliance reviews on such things as fire risks whilst on site.

  • A system that helps an athlete to plan, monitor and change an exercise regime while he or she is actually in the Gym.

  • A system that negotiates on behalf of a user for a hotel room which has the right set of features and facilities at the right price.

Currently, although the technologies for implementing intelligent applications are well established, they have not yet been adapted for delivery via mobile computing devices. Two main reasons can be suggested for this. Firstly, that mobile devices can in some cases be severely constrained in terms of processing power and memory size, both of which are required for successful deployment of many intelligent applications. Secondly, the mobile device market is highly fragmented with a large number of different hardware, software and operating system configurations existing in the devices currently on the market. It is likely that no one dominant product will emerge (Smiley, 2003), thus requiring the portability of applications across diverse hardware and software platforms.

The obvious approach to the development of intelligent systems for deployment on mobile devices might appear to be to adopt a ‘thin client’ strategy, whereby a mobile device connects wirelessly to a remote, already existing intelligent system. However, there are several reasons why this is not the best approach, including cost (most wireless carriers charge for connection by the byte or by the minute), reliability (there are still problems of network coverage and performance on devices (Evans & Baughan, 2000), constant connection impact on battery life (Canalys, 2001) and security. Here, we present an approach taken by Mimosa Wireless Ltd. to mobile intelligent application development that seeks to address the problems of the constrained nature and diversity of mobile devices.

Conventionally, intelligent systems are considered to require very powerful computing environments, with powerful processors and a lot of memory. However, a lot of this power is in fact only required in the process of developing intelligent systems. Intelligent systems are typically developed using some kind of prototyping methodology, where tools are used which enable systems to be constructed and tested rapidly. It is actually the development tools which require the power. Once a system has been constructed, tested, and verified, it can actually be executed with far fewer computing resources. In this paper we discuss the approach taken to provide a powerful set of tools for the construction of an intelligent system. Once the system has been constructed and tested, an executable version of the system can be derived, and ported to a range of mobile devices. The development environment essentially consists of an interpreter for programs, written in a simple programming language developed to enable intelligent system construction, and a compiler which can generate executable versions of the program targeted at a range of different devices.

The intelligent applications developed are based on a simple paradigm: production systems using forward chaining. Not only has this proven to be a very powerful programming approach for a range of different classes of intelligent systems, but additionally it has a number of characteristics that lend themselves to portability. The implementation of this programming approach is based around a very simple programming language for constructing intelligent systems, where systems are expressed as a set of facts and inference rules.

The approach described in this paper has been used to construct a number of intelligent systems, of different types, and targeted at a range of different mobile devices. These include an expert system for diagnosing and treating high levels of blood cholesterol and an intelligent agent which aims to negotiate for an appropriate hotel room on behalf of a user.

Section 2 discusses earlier approaches to intelligent application development environments for mobile devices. Section 3 discusses our development environment and describes the programming language that was developed. Section 4 briefly describes a number of intelligent applications that have been developed using this environment. Section 5 describes some ongoing development projects using the approach described in this paper and Section 6 presents some conclusions.

Section snippets

Approaches to intelligent applications development for mobile devices

This section outlines a number of different approaches to intelligent application development for mobile devices. Initially, a number of platform specific intelligent applications are illustrated. We then discuss development environments for intelligent applications for mobile devices, identifying the potential and problems of those environments.

Early approaches to intelligent applications development for mobile devices were proprietary solutions with development restricted to a limited set of

The development environment

The development environment for intelligent systems targeted at mobile devices consists of a programming language for expressing intelligent systems, and an integrated development environment (IDE). This IDE provides an interpreter for the programming language, tools for testing and debugging the systems written using this programming language, and a compiler for generating executable versions of a functioning intelligent system which can be targeted at a range of mobile devices.

Applications

The MADE and MEE have been used to create a number of intelligent applications. Here, two of these are discussed, firstly an expert system that diagnoses and proposes treatments for high levels of blood cholesterol, and secondly, an intelligent agent that negotiates for hotel rooms. Both of these applications have been extensively tested on a variety of devices and device emulators and have acceptable performance in terms of robustness, reliability and speed.

Discussion and future work

Although some intelligent applications have already been developed for mobile devices, these are typically either limited by platform dependence (Whiteis, McGovern, & Johnston, 2001) or are scaled down versions that offer restricted functionality (O'Hare et al., 2002). The approach that we have described here permits the development and deployment of the same intelligent application (possibly with a slightly modified interface) across a diverse range of devices including PCs, laptops, tablets,

Conclusions

The mobile device market continues to grow, with ever increasing numbers of consumers with diverse backgrounds, professions and expectations. This market offers considerable potential for software producers, however, hitherto few compelling software applications have been developed.

Artificial Intelligence offers a range of proven techniques and technologies that have been used for the development of intelligent applications for the workstation market. Intelligent applications provide compelling

References (43)

  • Ala-Siuru, P., Belkin, N. J., Mayora-Ibarra, O., & Mizzaro, S. (2003). Preface. In AI moves to IA: Workshop on...
  • Albuquerque, R., Guedes, P., Figueira Filho, C., Robin, J., & Ramalho, G. (2002). Embedding J2ME-based inference engine...
  • Albuquerque, R. L., Hubner, J. F. de Paula, G. E., Sichman, J. S., & Ramalho, G. (2001). KSACI: A handheld device...
  • BBC. Mobiles to replace handheld PCs. BBC News On-line,...
  • Bellifemine, F., Poggi A., & Rimassa G. (1999). JADE—A FIPA-compliant agent framework. Fourth International Conference...
  • Bergenti, F., & Poggi, A. (2001). LEAP: A FIPA platform for handheld and mobile devices. ATAL 2001 Conference, Seattle,...
  • Brachtl, M., Slajs, J., & Slavik, P. (2000). PDA based navigation system for a 3D environment. In Third International...
  • L Brownston et al.

    Programming expert systems in ops5: An introduction to rule-based programming

    (1985)
  • Busetta, P., Ronnquist, R., Hodgson, A., & Lucas, A. (1999). JACK intelligent agents—components for intelligent agents...
  • Canalys

    Canalys research release 2003/71

    Canalys

    (2003)
  • Canalys

    Mobile analysis: A choice of one or two devices

    Canalys

    (2001)
  • Collier, R. W., O'Hare, G. M. P. Lowen, T. D., & Rooney, C. F. B. (2003). Beyond prototyping in the factory of agents....
  • C Craig

    Compelling apps key to mobile devices' success

    InfoWorld

    (2002)
  • Cripps, T. (2001). Applications on the move. Computer Business Review...
  • Ellsworth, L. (2002). Business on the move: empowering your mobile workers....
  • Evans, B. G., & Baughan, B., Visions of 4G. (2000). IEE Electronics and Communication Engineering Journal, 12(6)....
  • FIPA. FIPA specifications,...
  • Forgy, C.L. (1982). Rete: A fast algorithm for the many pattern/many object pattern match problem. Artificial...
  • E.J Friedman-Hill

    The Java expert system shell: Version 5.2

    (2001)
  • Hall, L., Gordon, A., James, R., & Newall, L. (2004). A lightweight rule -based AI engine for mobile games. Advances in...
  • Hameed, K., (2003). The application of mobile computing and technology to health care services. Telematics and...
  • Cited by (0)

    View full text