Learn More
Thanks to steady advances in hardware, mobile computing platforms are nowadays much more connected to their physical and logical environment than ever before. To ease the construction of adaptable applications that are smarter with respect to their execution environment , the context-oriented programming paradigm has emerged. However , up until now there(More)
Software-as-a-Service (SaaS) applications are multi-tenant software applications that are delivered as highly configurable web services to individual customers, which are called tenants in this context. For reasons of complexity management and to lower maintenance cost, SaaS providers maintain and deploy a single version of the application code for all(More)
Context-oriented programming enables adaptation of systems to their execution environment. Behavioral adaptations are defined in the system and then associated to a context. Such adaptations are made available at runtime when their context is deemed more appropriate by the execution environment. Context activation is reified using two techniques. Global to(More)
Ensuring the consistent composition of context-dependent behavior is a major challenge in context-aware systems. Developers have to manually identify and validate existing interactions between behav-ioral adaptations, which is far from trivial. This paper presents a run-time model for the consistency management of context-dependent behavior, called context(More)
Context-oriented programming languages provide language abstractions for the dynamic activation and deactivation of behavioral adaptations, based on the system's context of execution. As contexts are freely activated and deactivated, their associated behavior adaptations are added and removed to and from the system, which may break its consistency with(More)
Context-Oriented Programming languages enable the definition of systems that can adapt their behavior according to specific situations in their surrounding environment. Current approaches require developers to have prior knowledge about such situations and the adaptations applicable in each one. Such approach hinders the use of Context-Oriented Programming(More)
This paper presents our vision of applications as feature clouds, providing software services that are composed dynamically from a set of available fine-grained features. Our feature cloud programming model realizing this vision, relies on context-oriented programming technology, enabling new or adapted features to be added to or removed from running(More)
Context-oriented programming enables the composition of behavioral adaptations into a running software system. Behavioral adaptations provide the most appropriate behavior of a system when their contexts are activated or deactivated, according to the situations at hand in the system's execution environment. Behavioral adaptations can be defined by(More)
—The development of self-adaptive systems requires the definition of the parts of the system that will be adapted, when such adaptations will take place, and how these adaptations will interact with each other. However, foreseeing all possible adaptations and their interactions is a difficult task, opening the possibility to inconsistencies or erroneous(More)