Escaping the DAG Dogma: Toward Modular Reactive Architectures
This program is tentative and subject to change.
\emph{Functional Reactive Programming~(FRP)} simplifies a universal concept found in software architecture and infrastructure: the idea that dependencies between data units should be managed by the underlying language, leaving developers and domain experts to merely define the units and their relationships. This pattern is ubiquitous, appearing in \texttt{React}’s unidirectional dataflow, build system graphs, and spreadsheet formulas.
A prevailing dogma dictates that to achieve determinism, dependency graphs must be \emph{Directed Acyclic Graphs (DAGs)}. This creates a fundamental tension between the \emph{software architect}, who examines the big picture to strictly enforce topology and prevent errors, and the \emph{software developer}, who focuses on the single unit of data and intuitively adds dependencies as needed. Consequently, safe languages restrict the developer with DAGs, while flexible systems allow cycles but force manual state management—defeating the very purpose of the reactive paradigm.
We introduce a semantic framework that resolves this tension. We define cyclic dependencies not as errors, but via \emph{constructive assignment}, where a variable’s value is the deterministic merge of converging data streams.
We present:
-
A semantic model by which FRP may contain cycles;
-
An architecture that integrates this model into \emph{Object-Oriented Programming (OOP)};
-
A change-propagation algorithm for the semantic model and architecture;
-
A concrete framework in the form of a language extension.
-
A clinical \emph{User Interface (UI)} prototype with a comparative analysis regarding modularity and code reuse as application requirements evolve.
This program is tentative and subject to change.
Tue 6 OctDisplayed time zone: Pacific Time (US & Canada) change
13:30 - 15:00 | |||
13:30 30mTalk | Proxies All the Way Down: Bootstrapping a Userland Speculative Optimizer for the OpenSmalltalk VM Onward! Papers Christoph Thiede Hasso Plattner Institute, University of Potsdam, Marius Dörbandt Hasso Plattner Institute, University of Potsdam, Eliot Miranda Cadence Design Systems, Marcel Taeumel University of Potsdam; Hasso Plattner Institute, Robert Hirschfeld Hasso Plattner Institute; University of Potsdam DOI Media Attached | ||
14:00 30mTalk | Escaping the DAG Dogma: Toward Modular Reactive Architectures Onward! Papers | ||
14:30 30mTalk | Glassbox Debugging: Code as Interface for No-Code Onward! Papers | ||