- AutorIn
- Lars Schütze Technische Universität Dresden
- Titel
- Runtime Optimization of Contextual Role-oriented Programming Languages
- Zitierfähige Url:
- https://nbn-resolving.org/urn:nbn:de:bsz:14-qucosa2-960945
- Erstveröffentlichung
- 2025
- Datum der Einreichung
- 24.09.2024
- Datum der Verteidigung
- 18.12.2024
- Abstract (EN)
- Starting since the computer revolution, the invention of the microprocessor, and the ubiquitously accessible internet software transformed the industries. This process was accompanied by the emergence of new methods and tools to take on the increasing complexity of software due to the more complex problems that could be solved by computers. Over the past 40 years, role-based modeling and programming have been proposed as a solution to many different technical spaces such as data modeling, framework design, and adaptive software for cyber-physical systems. This thesis deals primarily with role-oriented concepts in programming languages, as a basis for adaptive code execution. This thesis provides an extensive review of 25 role-oriented programming languages since 1990. Each approach is classified according to the provided role-oriented features using a classification scheme proposed in the literature. We introduce a presentation framework that enables the comparison of the design decisions and implementation strategies. From the review, we conclude promising and potentially efficient implementation and mapping strategies. Through benchmarking, we assess the performance of state-of-the-art implementations. By investigating their abstractions and implementation techniques we examine the semantic gap that incurs a high runtime overhead to role-oriented programming languages. The focus of this thesis is on the implementation of contextual role-oriented programming language semantics, in particular on the efficient execution. In most approaches the semantics is implemented via meta-object protocols. The execution of role-oriented programs uses the meta-object protocol to evaluate the runtime state. We explore the applicability of partial evaluation at different stages of compilation to increase efficiency. First, we explore the application of partial evaluation to the evaluation algorithm of the runtime state. To overcome the overhead introduced by executing role-oriented dispatches we propose dispatch plans, constructed from partially evaluating the meta-object protocol of the contextual role-oriented programming language ObjectTeams/Java at run time. To place the discussion on a more formal ground we introduce a reference object model that captures the semantics represented by the meta-object protocol. We discuss the approach in the context of dynamic code generation and show how dispatch plans allow the generation of call graphs. Applying our methodology not only results in a more performant execution of role-oriented programs but also allows capturing the variability at contextual call sites. This approach enables the definition of polymorphic inline caches extended to polymorphic call sites of contextual roles. Second, we postulate essential primitives required to bridge the semantic gap of role-oriented programming languages. We extend a virtual machine with these essential primitives, explore the optimization potential based on partial evaluation, and compare it with state-of-the-art implementations.
- Freie Schlagwörter (DE)
- Rollen, Kompilierung, Laufzeit
- Freie Schlagwörter (EN)
- Roles, Just-in-Time Compilation, Compilation
- Klassifikation (DDC)
- 004
- Klassifikation (RVK)
- ST 233
- ST 240
- GutachterIn
- Prof. Dr. Jerónimo Castrillón Mazo
- Prof. Dr. Robert Hirschfeld
- Den akademischen Grad verleihende / prüfende Institution
- Technische Universität Dresden, Dresden
- Förder- / Projektangaben
- Deutsche Forschungsgemeinschaft GRK 1907
Role-based Software-Infrastructures for Continuous-Context-Sensitive Systems
(RoSI)
ID: 221322883 - Version / Begutachtungsstatus
- publizierte Version / Verlagsversion
- URN Qucosa
- urn:nbn:de:bsz:14-qucosa2-960945
- Veröffentlichungsdatum Qucosa
- 22.04.2025
- Dokumenttyp
- Dissertation
- Sprache des Dokumentes
- Englisch
- Lizenz / Rechtehinweis
CC BY 4.0