paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Flo: A Semantic Foundation for Progressive Stream Processing

Flo:渐进式流处理的语义基础
POPL 9(POPL)2025匹配度 1/10 · 论文研究流处理语言的形式语义与类型系统,属于程序语言理论,但未涉及用户的静态分析、Agentic/LLM、浮点程序分析或贝叶斯程序分析等核心方向,仅在PL理论层面极弱相关。引用 7 inbox
Shadaj Laddad, Alvin Cheung, Joseph M. Hellerstein, Mae Milano
crossref: 2026-09-10

AI 速览

一句话:提出参数化流语言 Flo,形式化 streaming progress 与 eager execution,统一流处理语义基础。

现有流处理语言在语义模型和保证上各不相同,甚至彼此不兼容,却都被归为“流处理”,缺少共同的精确语义基础。本文提炼出 streaming progress 与 eager execution 两条一般性质,用以保证流式输出确定且相对输入保持新鲜。作者在参数化流语言 Flo 中形式化这些性质,该语言抽象 dataflow 算子与流结构,并用轻量类型系统区分允许算子阻塞于终止的 bounded streams 与 unbounded streams;同时支持 dataflow 组合以及带环的嵌套图。为说明性质的通用性,论文将 Flink、LVars 与 DBSP 的代表性思想建模到 Flo 中,并证明其保证可映射到上述性质。

问题
现有流处理语言各自采用不同的语义模型和保证,彼此常不兼容,缺少对“流处理”共同语义的精确刻画。
方法
论文提出 streaming progress 与 eager execution 两条性质,并在参数化流语言 Flo 中形式化;Flo 抽象 dataflow 算子和流结构,用轻量类型系统区分 bounded 与 unbounded streams,并支持 dataflow 组合、嵌套图与环。
评估
通过将 Flink、LVars 和 DBSP 的代表性机制建模为 Flo,并说明其保证可映射到这两条性质,展示该语义基础的通用性。
原文摘要(Abstract)

Streaming systems are present throughout modern applications, processing continuous data in real-time. Existing streaming languages have a variety of semantic models and guarantees that are often incompatible. Yet all these languages are considered “streaming”–what do they have in common? In this paper, we identify two general yet precise semantic properties: streaming progress and eager execution. Together, they ensure that streaming outputs are deterministic and kept fresh with respect to streaming inputs. We formally define these properties in the context of Flo, a parameterized streaming language that abstracts over dataflow operators and the underlying structure of streams. It leverages a lightweight type system to distinguish bounded streams, which allow operators to block on termination, from unbounded ones. Furthermore, Flo provides constructs for dataflow composition and nested graphs with cycles. To demonstrate the generality of our properties, we show how key ideas from representative streaming and incremental computation systems—Flink, LVars, and DBSP—have semantics that can be modeled in Flo and guarantees that map to our properties.

链接与引用

DOI 原文 · arXiv · PDF(开放获取) · DBLP

BibTeX
@article{LaddadCHM25,
  title = {Flo: A Semantic Foundation for Progressive Stream Processing},
  author = {Shadaj Laddad and Alvin Cheung and Joseph M. Hellerstein and Mae Milano},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {9},
  number = {POPL},
  year = {2025},
  doi = {10.1145/3704845}
}