Towards Virtual Machine Support for Contextual Role-Oriented Programming Languages
Adaptive software becomes more and more important as computing is increasingly context-dependent. Runtime adaptability can be achieved by dynamically selecting and applying context-specific code. Role-oriented programming has been proposed as a paradigm to enable runtime adaptive software by design. Roles change the objects’ behavior at runtime, thus adapting the software to a given context. Most approaches focus on optimizing language implementations neglecting the fact that the generated code is a verbose description of contextual roles in an object-oriented paradigm, which incurs an overhead. This paper takes a novel approach to reduce the semantic gap. We propose ObjectTeams/Truffle, to the best of our knowledge, the first virtual machine that optimizes the dispatch of contextual roles. We evaluate the implementation with a benchmark for role-oriented programming languages achieving a speedup of up to 2.49× over the reference implementation ObjectTeams/Java and 1.2× over an optimized version ObjectTeams/Java using Dispatch Plans.
Mon 17 JulDisplayed time zone: Pacific Time (US & Canada) change
08:30 - 10:00 | Session 1COP at Habib Classroom (Gates G01) Chair(s): Lars Schütze Technische Universität Dresden, Yudai Tanabe Kyoto University | ||
08:50 10mDay opening | Opening COP | ||
09:00 30mTalk | Temporal Layers: Reactive Activation Scope of First-class Layer Instances COP Tetsuo Kamina Oita University Link to publication DOI | ||
09:30 30mTalk | Towards Virtual Machine Support for Contextual Role-Oriented Programming Languages COP Link to publication DOI |