The widespread usage of small computing devices and the
introduction of new communication infrastructures are rapidly
changing the ways we use and interact with technology to perform
everyday tasks.
Today's networking infrastructures are typically made of mobile
resource-constrained devices, characterized by their
heterogeneity and limitedness. Ubiquitous
networking, makes it possible for mobile
users to access networked software services across heterogeneous
infrastructures through resource-constrained devices. Mobility,
inducing changes to the execution and network environments (and
therefore changes to the availability of resources), demands for
adaptable applications capable of coping with resource scarcity
and with the inherently faulty and heterogeneous nature of such
environments.
CHAMELEON
CHAMELEON is a declarative
framework for
tailoring adaptable Java applications for
resource-constrained devices and can be used for tackling a form of
adaptation to the execution context.
CHAMELEON, whose foundations are presented
in [
Inverardi04],
[
WOSP07],
is based on a static analysis approach
to the inspection of Java programs and their characterization w.r.t.
their resource consumption in a given execution environment.
Explicitly targeting resource-constrained devices, we implemented
and instantiated all the needed machinery on the Java platform (although
other platforms are eligible) due
to its widespread availability on today's mobile devices (e.g.,
smart phones, PDAs, etc.).
The approach uses a light extension of
the Java language (i.e., the CHAMELEON
Programming Model),
a
Resource Model, and an
SLS Model that
constitute the basis for a declarative technique that
can be used for supporting the development,
Over-The-Air (OTA) delivering,
and deployment of adaptable applications. By
leveraging this approach we are able to perform a quantitative
resource-oriented analysis of Java applications, further accounting
for the user preferences specified through SLS model.
In particular, the
Programming Model
allows for easily specifying, in
a flexible and declarative way, different adaptation alternatives (i.e., different implementations)
for Java applications. The model is based on an agile and
user-friendly extension of the Java language;
This project has been partially supported by the
IST PLASTIC project that has been funded by the European
Commission, FP6 contract number 026955,
http://www.ist-plastic.org/.
The goal of the PLASTIC project is the rapid and easy development/deployment of self-adapting services for B3G
networks.
In particular, the CHAMELEON framework has been exploited for supporting the PLASTIC service-oriented interaction pattern
for provision and consumption of adaptive software services.