A declarative framework for adaptable applications in heterogeneous environments

  • Authors:
  • P. Inverardi;F. Mancinelli;M. Nesi

  • Affiliations:
  • Via Vetoio, 1, 67010 L'Aquila - Italy;Via Vetoio, 1, 67010 L'Aquila - Italy;Via Vetoio, 1, 67010 L'Aquila - Italy

  • Venue:
  • Proceedings of the 2004 ACM symposium on Applied computing
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

In this paper we present an approach for developing adaptable software applications. The problem we are facing is that of a (possibly mobile) user who wants to download and execute an application from a remote server. The user's hosting device can be of different kinds (laptops, personal digital assistants, cellular phones, communicators, etc.) with specific hardware and software capabilities. The problem is to be able to decide whether the user's current device characteristics are compatible with the application requirements in order to prevent execution failures. In the negative case we want to identify the reasons that determined the incompatibility and perform an automatic adaptation of the application, so that it can match the user's device capabilities. We adopt a declarative approach: we provide each device with a declarative description of its characteristics and, possibly, context constraints. Inspired by Proof Carrying Code (PCC), we use first-order logic formulae to model both the behavior of the code, with respect to the properties of interest, and the execution context. The adaptation process is carried out by using theorem proving techniques, in particular, the proof assistant HOL4. The aim is to derive a formal proof which asserts that the behavior of the code can be correctly adapted to the given context. By construction, the proof, if it exists, gives information on how the adaptation has to be done. On the application side, Java2 Micro Edition (J2ME) is the chosen reference application development environment.