Kompics, Scala and Kola
Component-based distributed programming, with language support for clearer algorithms and stronger static checks.
Motivation and approach
Kompics expresses distributed systems as components that exchange events through ports. Kompics Scala brings that model closer to the notation used to describe algorithms, while Kola explores static checking through a dedicated language.
My contribution
I maintained Kompics until around 2020–2021, when I finished my PhD and subsequently joined Databricks. I created Kompics Scala and Kola, focusing on making distributed algorithms easier to express and checking more of their component interactions before execution.
Outcome and current status
Kompics was used to teach distributed systems at KTH even before I began my PhD. Kompics Scala and Kola formed part of my doctoral research and informed my later work on Kompact.