ECOOP 2015
Sun 5 - Fri 10 July 2015 Prague, Czech Republic
Sun 5 Jul 2015 13:30 - 14:00 at FIT-107 - Session 2

Context-oriented Programming extends object-oriented languages with a mechanism to dynamically adapt behavior. Object Constraint Programming orthogonally extends object-oriented run-times by integrating constraints, including support for constraints over mutable state, object identity, and the results of message sends. Using these two language extensions in conjunctions offers interesting opportunities.

In this paper, we report on new mechanisms involving layers and constraints that evolved from our experiences with combining Babelsberg/JS, an Object Constraint Language, and ContextJS, an implementation of Context-oriented Programming in JavaScript. First, our experience shows that it is desirable to dynamically adapt declarative constraints, which offer an orthogonal mechanism to the definition of imperative behavior, likewise at runtime. In this work, we show an extension to ContextJS to scope activation or refinement of constraints dynamically using layers. Second, ContextJS already provides different activation mechanisms for layers, including dynamically or structurally scoped, or globally through system generated events. Constraints provide an activation mechanism based on arbitrary boolean expressions changing their value, allowing for interesting applications of behavioral adaption based on certain conditions.

Sun 5 Jul

13:30 - 15:00: COP - Session 2 at FIT-107
COP-2015-papers143609580000013:30 - 14:00
Stefan LehmannHasso-Plattner-Institute, Potsdam, Tim FelgentreffHasso-Plattner-Institute, Potsdam, Robert HirschfeldHPI
COP-2015-papers143609760000014:00 - 14:30
Tetsuo KaminaRitsumeikan University, Tomoyuki AotaniTokyo Institute of Technology, Hidehiko MasuharaTokyo Institute of Technology, Atsushi IgarashiKyoto University
COP-2015-papers143609940000014:30 - 15:00
Nicolás CardozoTrinity College Dublin, Ireland, Siobhán ClarkeTrinity College Dublin, Ireland