Implementing Babylonian/S by Putting Examples into Contexts: Tracing Instrumentation for Example-based Live Programming as a Use Case for Context-oriented Programming
By using context-oriented programming (COP), we were able to implement source code instrumentation for example-based live programming in a modular way. Example-based live programming tools provide programmers with feedback on the dynamic program behavior by showing traced values of example invocations of a program. To provide feedback on the runtime behavior, these tools have to trace intermediate, expression-level runtime states during the execution of an example. As the instrumentation is only intended to improve tool support, the default behavior of the system should not be altered. In this paper, we demonstrate how contextoriented programming (COP) can be used to keep the execution of examples separate from the default behavior even in the presence of expression-level behavior variations. We illustrate how our approach can be implemented by implementing Babylonian Programming based on ContextS2 in Squeak/Smalltalk. Based on the implementation, we compare our approach to the approach used in the JavaScript implementation of Babylonian Programming which is based on rewriting complete modules. Further, the described implementation scenario illustrates a use case for expression-level behavior variations in COP.
Mon 15 Jul Times are displayed in time zone: Greenwich Mean Time : Belfast change
15:30 - 17:00: Research PapersCOP at Bouzy Chair(s): David H. LorenzOpen University and Technion IIT | |||
15:30 - 16:15 Talk | Implementing Babylonian/S by Putting Examples into Contexts: Tracing Instrumentation for Example-based Live Programming as a Use Case for Context-oriented Programming COP Patrick ReinHasso Plattner Institute, Germany, Jens LinckeHasso Plattner Institute, University of Potsdam, Germany, Stefan RamsonHasso Plattner Institute, Germany, Toni MattisUniversity of Potsdam Potsdam, Fabio NiephausHasso Plattner Institute, University of Potsdam, Robert HirschfeldHasso-Plattner-Institut (HPI), Germany DOI | ||
16:15 - 17:00 Talk | Distributed Context Petri Nets COP Jose Daniel Fandiño de la HozUniversidad de los Andes, Juan Sebastián SosaUniversidad de los Andes, Nicolás CardozoUniversidad de los Andes DOI |