An Architecture-Based Approach to Self-Adaptive Software
IEEE Intelligent Systems
WildCAT: a generic framework for context-aware applications
MPAC '05 Proceedings of the 3rd international workshop on Middleware for pervasive and ad-hoc computing
Using Product Line Techniques to Build Adaptive Systems
SPLC '06 Proceedings of the 10th International on Software Product Line Conference
Taming Dynamically Adaptive Systems using models and aspects
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Tackling high variability in video surveillance systems through a model transformation approach
MISE '09 Proceedings of the 2009 ICSE Workshop on Modeling in Software Engineering
Software Engineering for Self-Adaptive Systems: A Research Roadmap
Software Engineering for Self-Adaptive Systems
Engineering Self-Adaptive Systems through Feedback Loops
Software Engineering for Self-Adaptive Systems
Reconfigurable SCA Applications with the FraSCAti Platform
SCC '09 Proceedings of the 2009 IEEE International Conference on Services Computing
Unifying Runtime Adaptation and Design Evolution
CIT '09 Proceedings of the 2009 Ninth IEEE International Conference on Computer and Information Technology - Volume 02
A framework for evaluating quality-driven self-adaptive software systems
Proceedings of the 6th International Symposium on Software Engineering for Adaptive and Self-Managing Systems
Hi-index | 0.00 |
Software that adapts its behavior to an operational context and/or feedback from within is self-adaptive. For instance, a computer vision system to detect people may change its behavior due to change in context such as nightfall. This may entail automatic change in architecture, software components and their parameters at runtime. Legacy software components do not possess this ability. Therefore we ask, can legacy software be successfully cast into a self-adaptive middleware framework? We present Tekio, a self-adaptive middleware platform to dynamically compose legacy software behavior. Tekio is based on dynamic component loading available in a Java implementation of Open Service Gateway Interface (OSGi). Tekio contains generic components to capture context/feedback, plan an adaptation strategy, and reconfigure domain-specific components. The domain-specific components encapsulate legacy behavior implemented possibly in native languages such as C/C++. We implement a self-adaptive vision system in Tekio as a case study. We perform experiments to validate that the self-adaptive layer based on OSGi has negligible effects on the performance of the legacy library namely OpenCV. We also demonstrate that the self-adaptive middleware can handle about 30 adaptations in a span of 2 seconds while producing meaningful output.