Lars Schütze

portrait Lars Schütze




Visitor's Address

+49 351 463-43733

+49 351 463-39995

Chair for Compiler Construction
Helmholtzstrasse 18
3rd floor, Room BAR III57
01069 Dresden


Curriculum Vitae

Lars has a bachelor and master degrees in computer science from the TU Dresden and had worked as researcher at the Software Technology Group headed by Prof. Uwe Aßmann. Lars will work on his PhD in the context of the RoSI project, which studies role-based software infrastructures for continuous-context-sensitive systems.



Dispatch for Role-Oriented Programming Languages

During the lifetime of an object-oriented program objects collaborate with other objects. This is a result of the different roles an object plays at runtime yielding adaptations to the behavior of the role-playing object. Role-oriented programming is an extension to object-oriented programming where those collaborations are first-class citizens of the language. This provides means to separate the different context-dependent behaviors that can be attached to objects at runtime.

In traditional object-oriented programming languages the dispatch is dependent on the type of the receiver and the method name including its arguments (2-dimensional dispatch). However, role-oriented programming languages take the role of the sender and also the current context into account forming a 4-dimensional dispatch. This dispatch is currently not optimized as dispatches before (e.g., vtables, inline caches, devirtualization), but implemented as abstraction on top of the host language (e.g., as DSL or library).

Lars is interested in different approaches to provide optimizations for role-oriented method dispatch. This includes special-purpose compilers that extend the Java compiler, or library approaches that are seamlessly embedded into the language making use of the invokedynamic bytecode instruction. Providing a new interpreter for role-oriented programming languages allows to research the impact of different object models on the performance of the resulting virtual machine.


Benchmarking Role-Oriented Programming Languages

Benchmarks provide an insight into the performance characteristics of the system under test. For programming languages, beside benchmarking whole programs (i.e., mandelbrot) it is also interesting to benchmark single parts in isolation (e.g., method dispatch, memory consumption).

However, there is no pedant to established benchmarks such as SPECjvm for role-oriented programming languages. Because of the many different features of role-oriented programming languages it is hard to develop comparable benchmarks.

This project is interested to develop a benchmark suite that is able to handle a variety of different role-oriented programming languages yet providing insightful information that allows to compare and reason about the performance of each approach.

Student Theses Topics

Some possible topics for Bachelor/Master/Diploma Thesis or SHK/WHK in the following directions:

Dispatch optimization and programming language implementation

Role-oriented programming will be a key concept in realizing future complex, adaptive software systems. Therefore, the object-oriented paradigm is extended with roles. Objects can play and remove roles at runtime. Playing a role changes the type of objects and may add or change attributes and methods to the object. Moreover, roles describe dynamic relationships between other objects

Possible project topics include:

  • Design and Implementation of a Graceful Degradation Approach of Role Function Invocation in Object Teams Java [PDF]
  • Benchmarking and Evaluating the Performance of Role-Oriented Programming Languages [PDF]

  • 2021

  • Nesrine Khouzami, Lars Schütze, Pietro Incardona, Landfried Kraaz, Tina Subic, Jeronimo Castrillon, Ivo F. Sbalzarini, "The OpenPME Problem Solving Environment for Numerical Simulations" (to appear), In Proceeding: International Conference on Computational Science, pp. 14pp, Jun 2021. [Bibtex & Downloads]
  • 2020

  • Lars Schütze, Jeronimo Castrillon, "Efficient Dispatch of Multi-Object Polymorphic Call Sites in Contextual Role-Oriented Programming Languages", Proceedings of the17th International Conference on Managed Programming Languages & Runtimes (MPLR'20), Association for Computing Machinery, pp. 52–62, New York, NY, USA, Nov 2020. [doi] [Bibtex & Downloads]
  • 2019

  • Lars Schütze, Jeronimo Castrillon, "Efficient Late Binding of Dynamic Function Compositions", Proceedings of the 12th ACM SIGPLAN International Conference on Software Language Engineering, ACM, pp. 141–151, New York, NY, USA, Oct 2019. [doi] [Bibtex & Downloads]
  • 2017

  • Lars Schütze, Jeronimo Castrillon, "Analyzing State-of-the-Art Role-based Programming Languages", Proceedings of the First International Conference on the Art, Science and Engineering of Programming (Programming'17), ACM, pp. 9:1–9:6, New York, NY, USA, Apr 2017. [doi] [Bibtex & Downloads]