ISSTA/ECOOP 2024
Mon 16 - Fri 20 September 2024 Vienna, Austria
Fri 20 Sep 2024 14:30 - 15:00 at EI 4 Reithoffer - Technical Talks

Orthogonal synchronization [1] is the notion that a programming language should allow programs to designate data as synchronizable, and that the language implementation should ensure that all synchronizable data reachable from a set of designated roots is synchronized across multiple runtimes. I propose to give a very quick overview of orthogonal synchronization and relate it to the modern notion of local-first software. The talk is an evolution and extension of [4].

To facilitate the goal of orthogonal synchronization, we proposed that the language should be a dynamic, message-based object capability language. A dynamic language allows for dynamic program update, supporting schema evolution and treating code as data, so that the code can be synchronized and co-evolve with the data it operates on. A message-based language further minimizes the impact of schema changes. An object-capability language fosters modularity and security, increasing trust in dynamic program update over the network.

The Newspeak programming language [2, 3] was designed based on these principles. However, the fundamental challenge that arises is that of merge conflicts. Newspeak never successfully addressed this problem. Today, we might revisit the issue using newer technologies such as CRDTs (obviously) or even AI.

Language support for (orthogonal) synchronization is clearly related to local-first software and especially the PLF workshop. However, synchronizing code is at odds with the idea that the software is never superseded by new, different versions. This discrepancy points at a tension within the ideal of local-first itself: how is collaboration achieved across versions? Orthogonal synchronization in its pure form advocates for the absence of versions altogether. The only version is the latest one. Software is always up to date.

Orthogonal synchronization is compatible with either a client-server architecture, or with a fully distributed protocol. Pragmatically, we believe a reliable network service is desirable in any case. We’ll touch upon these an additional issues as time permits.

It remains unclear if and how truly orthogonal synchronization can be attained, but we argue that orthogonal persistence of both code and data, dynamic software update, object capabilities and message based program provide a strong foundation for linguistic support for local-first software.

[1] Gilad Bracha. Object as Software Services. Unpublished manuscript. August 2006. https://bracha.org/objectsAsSoftwareServices.pdf [2] Newspeak programming language website. https://newspeaklanguage.org [3] Gilad Bracha, Peter Ahe, Vassili Bykov, Yaron Kashai, William Maddox and Eliot Miranda. Modules as Objects in Newspeak. ECOOP 2010. https://bracha.org/newspeak-modules.pdf [4] Gilad Bracha. Bitrot Revisited: Local First Software and Orthogonal Synchronization. Invited Talk at Programming 22. March 2022, Porto, Portugal. https://youtu.be/qx6ekxXdidI

Gilad Bracha is the creator of the Newspeak programming language and a well known researcher in the area of object-oriented programming languages. He was awarded the senior Dahl-Nygaard prize in 2017. He is currently a Technical Fellow at F5, and has held positions at Google, SAP Labs, Cadence, and Sun. He has authored or co-authored several books including the Java Language and Virtual Machine Specifications, and the Dart Programming Language. Prior to joining Sun, he worked on Strongtalk, the Animorphic Smalltalk System. He received his B.Sc in Mathematics and Computer Science from Ben Gurion University in Israel and a Ph.D. in Computer Science from the University of Utah.

Fri 20 Sep

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

13:30 - 15:00
Technical TalksPLF at EI 4 Reithoffer
13:30
30m
Talk
Agreement without Coordination - Revisiting Consensus from a Local-First Perspective
PLF
Julian Haas Technische Universität Darmstadt
Pre-print
14:00
30m
Talk
Undo and Redo in Concurrent Multifaceted Low-code Application Models
PLF
Hugo Lourenço OutSystems SA, Carla Ferreira NOVA University Lisbon, João Costa Seco NOVA-LINCS; Nova University of Lisbon
14:30
30m
Talk
Orthogonal Synchronization Revisited
PLF

Information for Participants
Fri 20 Sep 2024 13:30 - 15:00 at EI 4 Reithoffer - Technical Talks
Info for room EI 4 Reithoffer:

Map: https://tuw-maps.tuwien.ac.at/?q=CF0245

Room tech: https://raumkatalog.tiss.tuwien.ac.at/room/15735