中文

论类型状态导向Actor的化学特性

编程语言 2016-07-12 v1

摘要

类型状态导向编程(typestate-oriented programming)是面向对象范式的扩展,其中对象不仅依据接口建模,还依据其使用协议建模,描述方法调用的合法序列,这可能取决于对象的内部状态。我们论证Actor模型允许在固有分布式设置中进行类型状态面向对象编程,其中对象/actor可被多个进程并发访问,且本地实体协作以执行通信协议。本文通过若干用Scala Akka编写的示例阐释该方法。我们展示Scala的抽象以通常的异步与非阻塞语义支持干净自然的类型状态导向actor编程。我们还展示Scala的标准类型系统以及对通常(无类型)Akka的ActorRef的类型化封装足以提供丰富形式的类型安全,使得良类型actor遵守其预期的通信协议。该方法依托于坚实的理论背景,即针对Join演算的一个可靠行为类型系统,该演算是分布式异步过程的基础演算,其语义基于化学抽象机(Chemical Abstract Machine),它揭示了其与类型状态导向的并发对象与actor编程之间的强联系。

关键词

引用

@article{arxiv.1607.02927,
  title  = {On the chemistry of typestate-oriented actors},
  author = {Silvia Crafa and Luca Padovani},
  journal= {arXiv preprint arXiv:1607.02927},
  year   = {2016}
}