Efficient dispatch of multi-object polymorphic call sites in contextual role-oriented programming languages
Publikation: Beitrag in Buch/Konferenzbericht/Sammelband/Gutachten › Beitrag in Konferenzband › Beigetragen › Begutachtung
Beitragende
Abstract
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. The cost of adaptivity is however a high runtime overhead stemming from executing compositions of behavior-modifying code. It has been shown that the overhead can be reduced by optimizing dispatch plans at runtime when contexts do not change, but no method exists to reduce the overhead in cases with high context variability. This paper presents a novel approach to implement polymorphic role dispatch, taking advantage of run-time information to effectively guard abstractions and enable reuse even in the presence of variable contexts. The concept of polymorphic inline caches is extended to role invocations. We evaluate the implementation with a benchmark for role-oriented programming languages achieving a geometric mean speedup of 4.0× (3.8× up to 4.5×) with static contexts, and close to no overhead in the case of varying contexts over the current implementation of contextual roles in Object Teams.
Details
Originalsprache | Englisch |
---|---|
Titel | MPLR 2020 - Proceedings of the 17th International Conference on Managed Programming Languages and Runtimes |
Redakteure/-innen | Stefan Marr |
Herausgeber (Verlag) | Association for Computing Machinery (ACM), New York |
Seiten | 52-62 |
Seitenumfang | 11 |
ISBN (elektronisch) | 9781450388535 |
Publikationsstatus | Veröffentlicht - 4 Nov. 2020 |
Peer-Review-Status | Ja |
Konferenz
Titel | 17th International Conference on Managed Programming Languages and Runtimes, MPLR 2020 |
---|---|
Dauer | 4 - 6 November 2020 |
Stadt | Virtual, Online |
Land | Großbritannien/Vereinigtes Königreich |
Externe IDs
ORCID | /0000-0002-5007-445X/work/141545524 |
---|
Schlagworte
Forschungsprofillinien der TU Dresden
ASJC Scopus Sachgebiete
Schlagwörter
- context, dispatch, dynamic languages, roles