1,071 research outputs found
Enabling Personalized Composition and Adaptive Provisioning of Web Services
The proliferation of interconnected computing devices is fostering the emergence of environments where Web services made available to mobile users are a commodity. Unfortunately, inherent limitations of mobile devices still hinder the seamless access to Web services, and their use in supporting complex user activities. In this paper, we describe the design and implementation of a distributed, adaptive, and context-aware framework for personalized service composition and provisioning adapted to mobile users. Users specify their preferences by annotating existing process templates, leading to personalized service-based processes. To cater for the possibility of low bandwidth communication channels and frequent disconnections, an execution model is proposed whereby the responsibility of orchestrating personalized processes is spread across the participating services and user agents. In addition, the execution model is adaptive in the sense that the runtime environment is able to detect exceptions and react to them according to a set of rules
A Framework for Agile Development of Component-Based Applications
Agile development processes and component-based software architectures are
two software engineering approaches that contribute to enable the rapid
building and evolution of applications. Nevertheless, few approaches have
proposed a framework to combine agile and component-based development, allowing
an application to be tested throughout the entire development cycle. To address
this problematic, we have built CALICO, a model-based framework that allows
applications to be safely developed in an iterative and incremental manner. The
CALICO approach relies on the synchronization of a model view, which specifies
the application properties, and a runtime view, which contains the application
in its execution context. Tests on the application specifications that require
values only known at runtime, are automatically integrated by CALICO into the
running application, and the captured needed values are reified at execution
time to resume the tests and inform the architect of potential problems. Any
modification at the model level that does not introduce new errors is
automatically propagated to the running system, allowing the safe evolution of
the application. In this paper, we illustrate the CALICO development process
with a concrete example and provide information on the current implementation
of our framework
- …