作者: Wouter Joosen , Eddy Truyen
DOI:
关键词:
摘要: Ensuring that software can display different behavior in use contexts requires adapting at runtime dynamically created scopes (e.g. a thread, client session, collaboration). ContextOriented Programming (COP) offers dedicated language constructs for performing such scoped adaptations. COP supports powerful customizations as concurrent customization where independent clients concurrently customize the functionality of shared component, and system-wide cross technical boundaries. However, like any dynamic adaptation technique, hits conceptual barrier when new variations existing program entities are integrated into running system: if applied uncarefully, adaptations may lead to faulty especially layer activation occurs stages affected system components themselves transitional, inconsistent state. Inherently, ways managing state consistency is highly specific application hand therefore additional application-specific logic from itself. What needed management framework guides programmer specifying this principled way. 1 Flavors context-oriented programming Many languages exists date. Althoug there be flavors COP, common goal most enable layers scope program, parallel with other program. For example, our research platform Lasagne [7] per-client request aspectual layers. This allows same component instance parallel. Looking further however it seen least two types supported [2]: loyal layers, once activated, continously activated their current scope, versus prompt flexibly deactivated scope. instance, language. The notion per-request implies