Context-oriented programming proposes a language-level technique to enable dynamic adaptations by the activation of contextual situations sensed from the environment. Context activation triggers the dynamic composition of behavioral adaptations with the running system. Currently, theres is a close relationship between contexts and the environment, narrowing the application of these techniques to systems that react to sensed data. This can also be a difficulty for system testing, where sensor data is not available, or in systems requiring explicit activation from users. Such systems require a uniform way to express the activation of different contexts based on a set of their defining properties. We posit a declarative language, CQL, that unifies different mechanisms to activate contexts. CQL can be incorporated as a domain-specific language to any context-oriented language. We validated the appropriateness of the language in two directions. First, we use the expressiveness of the language to realize different mechanisms for context activation in a uniform model. All existing mechanism in the literature are effectively implemented for CQL. Second, we use CQL to automate the explicit activation of many contexts, as is the case of a context-driven multi-versioning application. Both validation cases use Context Traits as a representative context-oriented programming language for their implementation.
I have been working on adaptive systems for the last couple of years. Currently I am approaching adaptive systems from programming language perspective, working on development (programming language design), verification (partial, and incremental techniques), and application (smart environments, CPS, and IoT) of these systems.
Mon 16 Jul
|14:00 - 14:30|
|14:30 - 15:00|
|15:00 - 15:30|
Nicolás CardozoUniversidad de los Andes