My current research focuses on the design of languages for distributed systems with a wide range of software architectures – e.g., peer-to-peer, cloud, edge, serverless, IoT – regarding areas such as sound programming models for the interaction between components, their composition, privacy protection issues, type systems for reasoning about the placement of data and computation.
Within the MAKI project, I worked on complex event processing (CEP) and multitier languages for developing modular distributed applications. I’m the main developer of the ScalaLoci multitier programming language.
I served in the program committee of ProWeb 2020 (Workshop on Programming Technology for the Future Web) at ‹Programming› ’20.
I got my PhD from the Departement of Computer Science at the Technical University of Darmstadt under the supervision of Prof. Guido Salvaneschi in 2020. My doctoral dissertation focuses on multitier programming for developing distributed software systems. I worked as a postdoc with Prof. Mira Mezini at the Technical University of Darmstadt until spring 2021. I joined the Programming Group at the University of St. Gallen in May 2021.
- IEEE Software
Decentralizing Infrastructure as CodeIEEE Software 40 (01), 2023
Prisma: A Tierless Language for Enforcing Contract-client Protocols in Decentralized AppsIn Proceedings of the European Conference on Object-Oriented Programming (ECOOP), Leibniz International Proceedings in Informatics (LIPIcs), 2022
Change Is the Only Constant: Dynamic Updates for WorkflowsIn Proceedings of the 44th International Conference on Software Engineering, ICSE, 2022
TCEP: Transitions in Operator Placement to Adapt to Dynamic Network EnvironmentsJournal of Computer and System Sciences 122, 2021
Automating Serverless Deployments for DevOps OrganizationsIn Proceedings of the 29th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering, ESEC/FSE, 2021
Multiparty Languages: The Choreographic and Multitier CasesIn Proceedings of the 35th European Conference on Object-Oriented Programming (ECOOP), Leibniz International Proceedings in Informatics (LIPIcs), 2021
Rethinking Safe Consistency in Distributed Object-Oriented ProgrammingProceedings of the ACM on Programming Languages 4 (OOPSLA), 2020
A Survey of Multitier ProgrammingACM Computing Surveys 53 (4), 2020
Implementing a Language for Distributed Systems: Choices and Experiences with Type Level and Macro Programming in ScalaThe Art, Science, and Engineering of Programming 4 (3), 2020
- A Programming Language for Distributed SystemsDoctoral dissertation, Technische Universität Darmstadt, 2020
GRASS: Generic Reactive Application-Specific SchedulingIn Proceedings of the 6th ACM SIGPLAN International Workshop on Reactive and Event-Based Languages and Systems, REBLS, 2019
Smart Street Lights and Mobile Citizen Apps for Resilient Communication in a Digital CityIn Proceedings of the 2019 IEEE Global Humanitarian Technology Conference, GHTC, 2019
Multitier ModulesIn Proceedings of the 33rd European Conference on Object-Oriented Programming (ECOOP), Leibniz International Proceedings in Informatics (LIPIcs), 2019
Tutorial: Developing Distributed Systems with Multitier ProgrammingIn Proceedings of the 13th ACM International Conference on Distributed and Event-Based Systems, DEBS, 2019
Distributed System Development with ScalaLociProceedings of the ACM on Programming Languages 2 (OOPSLA), 2018
Static Latency Tracking with Placement TypesIn Companion Proceedings for the ISSTA/ECOOP 2018 Workshops, ISSTA/ECOOP Companion, 2018
TCEP: Adapting to Dynamic User Environments by Enabling Transitions between Operator Placement MechanismsIn Proceedings of the 12th ACM International Conference on Distributed and Event-Based Systems, DEBS, 2018
Quality-Aware Runtime Adaptation in Complex Event ProcessingIn Proceedings of the 12th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, SEAMS, 2017
- SPLASH DS
Multitier Reactive AbstractionsIn Companion Proceedings of the 2016 ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for Humanity, SPLASH Companion, 2016