当前位置: X-MOL 学术J. Funct. Program. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
A theory of RPC calculi for client–server model
Journal of Functional Programming ( IF 1.1 ) Pub Date : 2019-03-22 , DOI: 10.1017/s0956796819000029
KWANGHOON CHOI , BYEONG-MO CHANG

With multi-tier programming languages, programmers can specify the locations of code to run in order to reduce development efforts for the web-based client–server model where programmers write client and server programs separately and test the multiple programs together. The RPC calculus, one of the foundations of those languages by Cooper and Wadler, has the feature of symmetric communication in programmer’s writing arbitrarily deep nested client–server interactions. The feature of the calculus is fully implemented by asymmetric communication in trampolined style suitable for the client–server model. However, the existing research only considers a stateless server strategy in which all server states are encoded for transmission to the client so that server states do not need to be stored in the server. It cannot always correctly handle all stateful operations involving disks or databases. To resolve this problem, we first propose new stateful calculi that fully support both symmetric communication from the programmer’s viewpoint and asymmetric communication in its implementation using trampolined style. All the existing calculi either provide only the feature of asymmetric communication or propose only symmetric implementation suitable for the peer-to-peer model, rather than the client–server model. Second, the method used to design our stateful server strategy is based on a new locative type system which paves the way for a theory of RPC calculi for the client–server model. Besides proposing the new stateful calculi, this theory can improve the existing stateless server strategy to construct new state-encoding calculi that eliminate runtime checks on remote procedure calls present in the existing strategy, and it enables us to design a new mixed strategy that combines the benefits of both kinds of strategies. As far as we know, there are no typed multi-tier calculi that offer programmers the feature of symmetric communication with the implementation of asymmetric communication under the three strategies together.

中文翻译:

用于客户端-服务器模型的 RPC 演算理论

使用多层编程语言,程序员可以指定要运行的代码的位置,以减少基于 Web 的客户端-服务器模型的开发工作,在这种模型中,程序员分别编写客户端和服务器程序并一起测试多个程序。RPC 演算是 Cooper 和 Wadler 的这些语言的基础之一,在程序员编写任意深度嵌套的客户端-服务器交互时具有对称通信的特征。微积分的特征完全通过适合客户端-服务器模型的蹦床风格的非对称通信来实现。然而,现有的研究只考虑了一种无状态的服务器策略,其中所有服务器状态都被编码以传输到客户端,因此服务器状态不需要存储在服务器中。它不能始终正确处理涉及磁盘或数据库的所有有状态操作。为了解决这个问题,我们首先提出了新的状态演算,它完全支持从程序员的角度来看的对称通信和使用蹦床风格实现的非对称通信。所有现有的演算要么只提供非对称通信的特性,要么只提出适合点对点模型的对称实现,而不是客户端-服务器模型。其次,用于设计我们的有状态服务器策略的方法是基于一种新的定位类型系统,它为客户端-服务器模型的 RPC 演算理论铺平了道路。除了提出新的有状态演算,该理论可以改进现有的无状态服务器策略来构建新的状态编码演算,从而消除现有策略中存在的对远程过程调用的运行时检查,并且它使我们能够设计一种新的混合策略,将两种策略的优点结合起来。据我们所知,目前还没有类型化的多层演算能够为程序员提供对称通信的特性,同时在三种策略下实现非对称通信。
更新日期:2019-03-22
down
wechat
bug