Acute: High-level programming language design for distributed computation

Author:

SEWELL PETER,LEIFER JAMES J.,WANSBROUGH KEITH,NARDELLI FRANCESCO ZAPPA,ALLEN-WILLIAMS MAIR,HABOUZIT PIERRE,VAFEIADIS VIKTOR

Abstract

AbstractExisting languages provide good support for typeful programming of stand-alone programs. In a distributed system, however, there may be interaction between multiple instances of many distinct programs, sharing some (but not necessarily all) of their module structure, and with some instances rebuilt with new versions of certain modules as time goes on. In this paper, we discuss programming-language support for such systems, focussing on their typing and naming issues. We describe an experimental language, Acute, which extends an ML core to support distributed development, deployment, and execution, allowing type-safe interaction between separately built programs. The main features are (1) type-safe marshalling of arbitrary values; (2) type names that are generated (freshly and by hashing) to ensure that type equality tests suffice to protect the invariants of abstract types, across the entire distributed system; (3) expression-level names generated to ensure that name equality tests suffice for type safety of associated values, for example, values carried on named channels; (4) controlled dynamic rebinding of marshalled values to local resources; and (5) thunkification of threads and mutexes to support computation mobility. These features are a large part of what is needed for typeful distributed programming. They are a relatively lightweight extension of ML, should be efficiently implementable, and are expressive enough to enable a wide variety of distributed infrastructure layers to be written as simple library code above the byte-string network and persistent store APIs. This disentangles the language run-time from communication intricacies. This paper highlights the main design choices in Acute. It is supported by a full language definition (of typing, compilation, and operational semantics), by a prototype implementation, and by example distribution libraries.

Publisher

Cambridge University Press (CUP)

Subject

Software

Reference53 articles.

1. Weirich S. (2002). Programming With Types, Ph.D. thesis. Ithaca, NY: Cornell University.

2. Nomadic pict

3. Stoyle G. (2006) A Theory of Dynamic Software Updates, Ph.D. thesis. Cambridge, England: University of Cambridge.

4. Sewell P. , Leifer J. J. , Wansbrough K. , Allen-Williams M. , Zappa Nardelli F. , Habouzit P. & Vafeiadis V. (2005a) Source release of the Acute system. Available at: http://www.cl.cam.ac.uk/users/pes20/acute/.

Cited by 25 articles. 订阅此论文施引文献 订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献

1. Tierless Web Programming in the Large;Companion of the The Web Conference 2018 on The Web Conference 2018 - WWW '18;2018

2. Function passing: a model for typed, distributed functional programming;Proceedings of the 2016 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software;2016-10-20

3. Coeffects;ACM SIGPLAN Notices;2014-11-26

4. F-ing modules;Journal of Functional Programming;2014-09

5. Coeffects;Proceedings of the 19th ACM SIGPLAN international conference on Functional programming;2014-08-19

同舟云学术

1.学者识别学者识别

2.学术分析学术分析

3.人才评估人才评估

"同舟云学术"是以全球学者为主线,采集、加工和组织学术论文而形成的新型学术文献查询和分析系统,可以对全球学者进行文献检索和人才价值评估。用户可以通过关注某些学科领域的顶尖人物而持续追踪该领域的学科进展和研究前沿。经过近期的数据扩容,当前同舟云学术共收录了国内外主流学术期刊6万余种,收集的期刊论文及会议论文总量共计约1.5亿篇,并以每天添加12000余篇中外论文的速度递增。我们也可以为用户提供个性化、定制化的学者数据。欢迎来电咨询!咨询电话:010-8811{复制后删除}0370

www.globalauthorid.com

TOP

Copyright © 2019-2024 北京同舟云网络信息技术有限公司
京公网安备11010802033243号  京ICP备18003416号-3