Efficient late binding of dynamic function compositions

Research output: Contribution to book/conference proceedings/anthology/reportConference contributionContributedpeer-review

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 and thus allow adapting the software to a given context. However, this increased variability and expressiveness has a direct impact on performance and memory consumption. We found a high overhead in the steady-state performance of executing compositions of adaptations. This paper presents a new approach to use run-time information to construct a dispatch plan that can be executed efficiently by the JVM. The concept of late binding is extended to dynamic function compositions. We evaluated the implementation with a benchmark for role-oriented programming languages leveraging context-dependent role semantics achieving a mean speedup of 2.79× over the regular implementation.

Details

Original languageEnglish
Title of host publicationSLE 2019 - Proceedings of the 12th ACM SIGPLAN International Conference on Software Language Engineering, co-located with SPLASH 2019
EditorsOscar Nierstrasz, Jeff Gray, Bruno C.d.S. Oliveira
PublisherAssociation for Computing Machinery, Inc
Pages141-151
Number of pages11
ISBN (electronic)978-1-4503-6981-7
Publication statusPublished - 20 Oct 2019
Peer-reviewedYes

Publication series

SeriesSPLASH: Systems, Programming, and Applications

Conference

Title12th ACM SIGPLAN International Conference on Software Language Engineering, SLE 2019, as part of SPLASH 2019
Duration20 - 22 October 2019
CityAthens
CountryGreece

External IDs

ORCID /0000-0002-5007-445X/work/141545537

Keywords

Research priority areas of TU Dresden

ASJC Scopus subject areas

Keywords

  • Dispatch optimization, Role-oriented programming, Virtual machine