The C programming language
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Java Virtual Machine Specification
Java Virtual Machine Specification
SLAng: A Language for Defining Service Level Agreements
FTDCS '03 Proceedings of the The Ninth IEEE Workshop on Future Trends of Distributed Computing Systems
An Architecture for Post-Development Configuration Management in a Wide-Area Network
ICDCS '97 Proceedings of the 17th International Conference on Distributed Computing Systems (ICDCS '97)
A declarative framework for adaptable applications in heterogeneous environments
Proceedings of the 2004 ACM symposium on Applied computing
Mobile resource guarantees for smart devices
CASSIS'04 Proceedings of the 2004 international conference on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices
Managing distributed adaptation of mobile applications
DAIS'07 Proceedings of the 7th IFIP WG 6.1 international conference on Distributed applications and interoperable systems
Feature oriented evolutions for context-aware adaptive systems
Proceedings of the Joint ERCIM Workshop on Software Evolution (EVOL) and International Workshop on Principles of Software Evolution (IWPSE)
Hi-index | 0.00 |
Adaptable applications are software applications that can be adapted with respect to the environment that will host their execution. In order to be able to perform an adaptation it is essential to provide an actual way to model the characteristics of both the application and the execution environment. In this paper we describe a resource model that is the basis of a framework for the development and the deployment of adaptable applications targeted to mobile and limited devices (e.g., smart phones, PDAs, etc.). By using this resource model we are able to reason about the resources required by an application (and its possible adaptations) and the ones supplied by the hosting environment. In this model we introduce the notions of compatibility and goodness. The first one is used to verify that the supplied resources are enough to satisfy the application needs (and thus to choose the correct adaptations). The second one provides a flexible mechanism that can be used to choose the "best" adaptation.