Proceedings of the 18th ACM SIGPLAN International Workshop on Erlang最新文献

筛选
英文 中文
Erlang as an enabling technology for resilient general-purpose applications on edge IoT networks Erlang是边缘物联网网络上弹性通用应用的使能技术
Proceedings of the 18th ACM SIGPLAN International Workshop on Erlang Pub Date : 2019-08-18 DOI: 10.1145/3331542.3342567
Igor Kopestenski, P. V. Roy
{"title":"Erlang as an enabling technology for resilient general-purpose applications on edge IoT networks","authors":"Igor Kopestenski, P. V. Roy","doi":"10.1145/3331542.3342567","DOIUrl":"https://doi.org/10.1145/3331542.3342567","url":null,"abstract":"Edge computing is one of the key success factors for future Internet solutions that intend to support the ongoing IoT evolution. By offloading central areas using resources that are closer to clients, providers can offer reliable services with higher quality. But even industry standards are still lacking a valid solution for edge systems with actual sense-making capabilities when no preexisting infrastructure whatsoever is available. The current edge model involves a tight coupling with gateway devices and Internet access, even when autonomous ad hoc IoT networks could perform partial or even complete tasks correctly. In our previous research efforts, we have introduced Achlys, an Erlang programming framework that takes advantage of the GRiSP embedded system capabilities in order to bring edge computing one step further. GRiSP is an embedded board that can easily be programmed directly in Erlang without requiring deep low level knowledge, which offers the extensive toolset of the Erlang ecosystem directly on bare metal hardware. We have been able to demonstrate that our framework allows building reliable applications on unreliable networks of unreliable GRiSP nodes with a very simple programming API. In this paper, we present how Erlang can successfully be used to address edge computing challenges directly on IoT sensor nodes, taking advantage of our existing framework. We display results of deployed distributed programs at the edge and examples of the unique advantage that is offered by Erlang higher-order and concurrent programming in order to achieve reliable general-purpose computing through Achlys.","PeriodicalId":115673,"journal":{"name":"Proceedings of the 18th ACM SIGPLAN International Workshop on Erlang","volume":"30 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-08-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127166000","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 5
Gaining trust by tracing security protocols 通过跟踪安全协议获得信任
Proceedings of the 18th ACM SIGPLAN International Workshop on Erlang Pub Date : 2019-08-18 DOI: 10.1145/3331542.3342573
Lars-Åke Fredlund, Clara Benac Earle, T. Arts, Hans Svensson
{"title":"Gaining trust by tracing security protocols","authors":"Lars-Åke Fredlund, Clara Benac Earle, T. Arts, Hans Svensson","doi":"10.1145/3331542.3342573","DOIUrl":"https://doi.org/10.1145/3331542.3342573","url":null,"abstract":"In this article we test an Erlang implementation of the Noise Protocol Framework, using a novel form of white-box testing. We extend interoperability testing of an Erlang enoise implementation against an implementation of Noise in C. Testing typically performs a noise protocol handshake between the two implementations. If successful, then both implementations are somehow compatible. But this does, for example, not detect whether we reuse keys that have to be newly generated. Therefore we extend such operability testing: During the handshake the Erlang noise implementation is traced. The resulting protocol trace is refactored, obtaining as the end result a symbolic description (a functional term) of how key protocol values are constructed using cryptographic operations and keys. Therafter, this symbolic term is compared, using term rewriting, with a symbolic term representing the ideal symbolic execution of the tested noise protocol handshake (i.e., the \"semantics\" of the handshake). The semantic symbolic term is obtained by executing a symbolic implementation of the noise protocol that we have developed.","PeriodicalId":115673,"journal":{"name":"Proceedings of the 18th ACM SIGPLAN International Workshop on Erlang","volume":"36 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-08-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127715856","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Tools supporting green computing in Erlang 支持Erlang绿色计算的工具
Proceedings of the 18th ACM SIGPLAN International Workshop on Erlang Pub Date : 2019-08-18 DOI: 10.1145/3331542.3342570
G. Nagy, Áron Attila Mészáros, István Bozó, M. Tóth
{"title":"Tools supporting green computing in Erlang","authors":"G. Nagy, Áron Attila Mészáros, István Bozó, M. Tóth","doi":"10.1145/3331542.3342570","DOIUrl":"https://doi.org/10.1145/3331542.3342570","url":null,"abstract":"Energy efficiency is one of the key aspects of modern software. Therefore, we present a tool for measuring the energy consumption of Erlang programs. Using this tool, we measured the energy consumption of different basic language elements, such as data structures, higher-order functions and parallel language constructs. Based on the results of our measurements, we present refactorings that may help to decrease the energy consumption of Erlang software. The refactorings are part of the well-known RefactorErl static analyser and transformer framework for Erlang.","PeriodicalId":115673,"journal":{"name":"Proceedings of the 18th ACM SIGPLAN International Workshop on Erlang","volume":"39 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-08-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116574009","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 1
Runtime type safety for Erlang/otp behaviours Erlang/otp行为的运行时类型安全
Proceedings of the 18th ACM SIGPLAN International Workshop on Erlang Pub Date : 2019-08-18 DOI: 10.1145/3331542.3342571
J. Harrison
{"title":"Runtime type safety for Erlang/otp behaviours","authors":"J. Harrison","doi":"10.1145/3331542.3342571","DOIUrl":"https://doi.org/10.1145/3331542.3342571","url":null,"abstract":"Callback-oriented Erlang/OTP behaviours such as the gen_server library are susceptible to malformed requests and ill-typed messages, causing server processes to crash unless a defensive programming style is used. We contribute an alternative approach in the form of a fully automatic hybrid analysis of callback modules using a notion of type safety based upon a sub-typing relation for Erlang. A combination of compile-time type inference, automatic code injection, and modifications to the request dispatch code of gen_server are used to demonstrate how generic server processes can be protected from client-side type errors.","PeriodicalId":115673,"journal":{"name":"Proceedings of the 18th ACM SIGPLAN International Workshop on Erlang","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-08-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129185584","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 4
Lux: an expect-like test tool written in Erlang: synchronised testing of multiple sessions Lux:一个用Erlang编写的类似预期的测试工具:对多个会话进行同步测试
Proceedings of the 18th ACM SIGPLAN International Workshop on Erlang Pub Date : 2019-08-18 DOI: 10.1145/3331542.3342574
Håkan Mattsson, Cons T. Åhs
{"title":"Lux: an expect-like test tool written in Erlang: synchronised testing of multiple sessions","authors":"Håkan Mattsson, Cons T. Åhs","doi":"10.1145/3331542.3342574","DOIUrl":"https://doi.org/10.1145/3331542.3342574","url":null,"abstract":"We present Lux, an open source system level test tool with expect-like properties and support for debugging. Lux solves the problem of testing real world scenarios with multiple concurrent sessions. A typical scenario is a server and multiple clients, with synchronisation between sessions (interaction with server and/or clients). Lux is written (almost) entirely in Erlang, with no use of additional libraries, proving Erlang to be a very good fit for this problem. Nevertheless, Lux is not limited to the testing of systems written in Erlang, but can test any system with text based interfaces or where writing text based adapters is feasible.","PeriodicalId":115673,"journal":{"name":"Proceedings of the 18th ACM SIGPLAN International Workshop on Erlang","volume":"23 6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-08-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127757179","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Scaling Erlang distribution: going beyond the fully connected mesh 扩展Erlang分布:超越完全连接的网格
Proceedings of the 18th ACM SIGPLAN International Workshop on Erlang Pub Date : 2019-08-18 DOI: 10.1145/3331542.3342572
Adam Lindberg, Sébastien Merle, Peer Stritzinger
{"title":"Scaling Erlang distribution: going beyond the fully connected mesh","authors":"Adam Lindberg, Sébastien Merle, Peer Stritzinger","doi":"10.1145/3331542.3342572","DOIUrl":"https://doi.org/10.1145/3331542.3342572","url":null,"abstract":"Distributed Erlang, the process of transparently running Erlang programs over networks, has a long history of immense usefulness but has problems when distributed systems reach certain scales. We explain the issues and show research done towards the goal of transparently enhancing Erlang distribution, so that changes to existing applications and systems can be avoided. We propose several research directions together with prototype implementations that all serve the purpose of improving the current status quo. This includes using different transport protocols, generalizing implementation efforts and incorporating routing protocols for more dynamic node constellations. We then describe some background and history of various work to solve Erlang distribution scalability issues. We show that there is much room for improvement on the Erlang distribution layer without breaking abstractions that developers are used to and rely on.","PeriodicalId":115673,"journal":{"name":"Proceedings of the 18th ACM SIGPLAN International Workshop on Erlang","volume":"74 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-08-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114084472","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 2
Intro to web prolog for Erlangers 为Erlangers介绍web prolog
Proceedings of the 18th ACM SIGPLAN International Workshop on Erlang Pub Date : 2019-08-18 DOI: 10.1145/3331542.3342569
T. Lager
{"title":"Intro to web prolog for Erlangers","authors":"T. Lager","doi":"10.1145/3331542.3342569","DOIUrl":"https://doi.org/10.1145/3331542.3342569","url":null,"abstract":"We describe a programming language called Web Prolog. We think of it as a web programming language, or, more specifically, as a web logic programming language. The language is based on Prolog, with a good pinch of Erlang added. We stay close to traditional Prolog, so close that the vast majority of programs in Prolog textbooks will run without modification. Towards Erlang we are less faithful, picking only features we regard as useful in a web programming language, e.g. features that support concurrency, distribution and intra-process communication. In particular, we borrow features that make Erlang into an actor programming language, and on top of these we define the concept of a pengine – a programming abstraction in the form of a special kind of actor which closely mirrors the behaviour of a Prolog top-level. On top of the pengine abstraction we develop a notion of non-deterministic RPC and the concept of the Prolog Web.","PeriodicalId":115673,"journal":{"name":"Proceedings of the 18th ACM SIGPLAN International Workshop on Erlang","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-08-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128046675","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Towards online profiling of Erlang systems 对Erlang系统的在线分析
Proceedings of the 18th ACM SIGPLAN International Workshop on Erlang Pub Date : 2019-08-18 DOI: 10.1145/3331542.3342568
Michal Slaski, Wojciech Turek
{"title":"Towards online profiling of Erlang systems","authors":"Michal Slaski, Wojciech Turek","doi":"10.1145/3331542.3342568","DOIUrl":"https://doi.org/10.1145/3331542.3342568","url":null,"abstract":"Recent releases of Erlang/OTP introduced features, which can be used to improve profiling tools for systems executed on the BEAM virtual machine. We discuss the need to introduce improvements into profiling tools with the Erlang-style concurrency in mind, so that they can help to understand performance of message passing and utilization of processes. We propose a new approach to implementation of the crucial element of such tools: the concurrent counters updates mechanism. To demonstrate the limitations of current tools in this area and verify the proposed approach, we present the results of a synthetic benchmark. The results clearly show that the proposed approach is a step towards a new generation of online profiling tools.","PeriodicalId":115673,"journal":{"name":"Proceedings of the 18th ACM SIGPLAN International Workshop on Erlang","volume":"192 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-08-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114225291","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 2
Proceedings of the 18th ACM SIGPLAN International Workshop on Erlang 第18届ACM SIGPLAN国际Erlang研讨会论文集
{"title":"Proceedings of the 18th ACM SIGPLAN International Workshop on Erlang","authors":"","doi":"10.1145/3331542","DOIUrl":"https://doi.org/10.1145/3331542","url":null,"abstract":"","PeriodicalId":115673,"journal":{"name":"Proceedings of the 18th ACM SIGPLAN International Workshop on Erlang","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121524957","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
相关产品
×
本文献相关产品
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信