一句话:为 dataspace actor 模型提出首个结构化类型系统,用类型接口防止错误数据传播并保障失败隔离。
Actor 通过消息交换协作,但纯消息通信存在局限。近期提出的 dataspace actor 模型借鉴 tuple space,为 actor 组提供受控共享存储:actor 可断言事实并表达兴趣,dataspace 在相关断言集合变化时通知感兴趣方。该模型易于加入无类型语言,但类型化接口必要且困难。若无交换数据限制,故障 actor 可通过畸形断言传播错误数据,使原本正常的 actor 崩溃,破坏失败隔离。本文提出首个面向 dataspace actor 模型的结构化类型系统,用类型规则约束共享断言与兴趣,排除多种不合作 actor;论文不涉及面向断言协议的行为类型。
Abstract Actors collaborate via message exchanges to reach a common goal. Experience has shown, however, that pure message-based communication is limiting and forces developers to use design patterns. The recently introduced dataspace actor model borrows ideas from the tuple space realm. It offers a tightly controlled, shared storage facility for groups of actors. In this model, actors assert facts that they wish to share and interests in such assertions. The dataspace notifies interested parties of changes to the set of assertions that they are interested in. Although it is straightforward to add the dataspace model to untyped languages, adding a typed interface is both necessary and challenging. Without restrictions on exchanged data, a faulty actor may propagate erroneous data through a malformed assertion, causing an otherwise well-behaved actor to crash—violating the key principle of failure isolation. A properly designed type system can prevent this scenario and rule out other kinds of uncooperative actors. This paper presents the first structural type system for the dataspace model of actors; it does not address the question of behavioral types for assertion-oriented protocols.