Erlang Workshop最新文献

筛选
英文 中文
Bit-level binaries and generalized comprehensions in Erlang Erlang中的位级二进制和广义推导
Erlang Workshop Pub Date : 2005-09-26 DOI: 10.1145/1088361.1088363
Per Gustafsson, Konstantinos Sagonas
{"title":"Bit-level binaries and generalized comprehensions in Erlang","authors":"Per Gustafsson, Konstantinos Sagonas","doi":"10.1145/1088361.1088363","DOIUrl":"https://doi.org/10.1145/1088361.1088363","url":null,"abstract":"Binary (i.e., bit stream) data are omnipresent in computer and network applications but most functional programming languages currently do not provide sufficient support for them. Erlang is an exception since it does support direct manipulation of binary data, albeit currently restricted to byte streams, not bit streams. To ameliorate the situation, we extend Erlang's built-in binary datatype so that it becomes flexible enough to handle bit streams properly. To further simplify programming on bit streams we then show how binary comprehensions can be introduced in the language and how binary and list comprehensions can be extended to allow both binary and list generators.","PeriodicalId":140676,"journal":{"name":"Erlang Workshop","volume":"36 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2005-09-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114184635","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}
引用次数: 6
A new leader election implementation 新领导人选举实施
Erlang Workshop Pub Date : 2005-09-26 DOI: 10.1145/1088361.1088368
Hans Svensson, T. Arts
{"title":"A new leader election implementation","authors":"Hans Svensson, T. Arts","doi":"10.1145/1088361.1088368","DOIUrl":"https://doi.org/10.1145/1088361.1088368","url":null,"abstract":"In this article we introduce a new implementation of a leader election algorithm used in the generic leader behavior known as gen_leader.erl. The first open source release of the generic leader [6] contains a few errors. The new implementation is based on a different algorithm, which has been adopted to fulfill the existing requirements. The testing techniques used to identify the errors in the first implementation have also been used to check the implementation we propose here. We even extended the amount of testing and used an additional new testing technique to increase our confidence in the implementation of this very tricky algorithm. The new implementation passed all tests successfully. In this paper we describe the algorithm and we discuss the testing techniques used during the implementation.","PeriodicalId":140676,"journal":{"name":"Erlang Workshop","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2005-09-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114953605","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}
引用次数: 11
A semantics for distributed Erlang 分布式Erlang的语义
Erlang Workshop Pub Date : 2005-09-26 DOI: 10.1145/1088361.1088376
Koen Claessen, Hans Svensson
{"title":"A semantics for distributed Erlang","authors":"Koen Claessen, Hans Svensson","doi":"10.1145/1088361.1088376","DOIUrl":"https://doi.org/10.1145/1088361.1088376","url":null,"abstract":"We propose an extension to Fredlund's formal semantics for Erlang that models the concept of nodes. The motivation is that there exist sequences of events that can occur in practice, but are impossible to describe using a single-node semantics, such as Fredlund's. The consequence is that some errors in distributed systems might not be detected by model checkers based on Fredlund's original semantics, or by other single-node verification techniques such as testing. Our extension is modest; it re-uses most of Fredlund's work but adds an extra layer at the top-level.","PeriodicalId":140676,"journal":{"name":"Erlang Workshop","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2005-09-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129822046","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}
引用次数: 27
A stream library using Erlang binaries 一个使用Erlang二进制文件的流库
Erlang Workshop Pub Date : 2005-09-26 DOI: 10.1145/1088361.1088364
Jay Nelson
{"title":"A stream library using Erlang binaries","authors":"Jay Nelson","doi":"10.1145/1088361.1088364","DOIUrl":"https://doi.org/10.1145/1088361.1088364","url":null,"abstract":"An implementation of a Stream Library for erlang is described which uses Built-In Functions (BIFs) for fast access. The approach uses binaries to represent and process stream data in high volume, high performance applications. The library is intended to assist developers dealing with communication protocols, purely textual content, formatted data records and the routing of streamed data. The new BIFs are shown to improve performance as much as 250 times over native erlang functions. The reduction in memory usage caused by the BIFs also allows successful processing in situations that crashed the runtime as application functions.","PeriodicalId":140676,"journal":{"name":"Erlang Workshop","volume":"38 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2005-09-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121278643","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
Modeling Erlang in the pi-calculus 用微积分对Erlang建模
Erlang Workshop Pub Date : 2005-09-26 DOI: 10.1145/1088361.1088375
T. Noll, C. Roy
{"title":"Modeling Erlang in the pi-calculus","authors":"T. Noll, C. Roy","doi":"10.1145/1088361.1088375","DOIUrl":"https://doi.org/10.1145/1088361.1088375","url":null,"abstract":"This paper provides a contribution to the formal modeling and verification of programs written in the concurrent functional programming language Erlang, which is designed for telecommunication applications. It presents a mapping of Core Erlang programs into the π--calculus, a process algebra whose name--passing feature allows to represent the mobile aspects of Erlang software in a natural way.","PeriodicalId":140676,"journal":{"name":"Erlang Workshop","volume":"179 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2005-09-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122280786","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}
引用次数: 13
Verifying fault-tolerant Erlang programs 验证Erlang程序的容错性
Erlang Workshop Pub Date : 2005-09-26 DOI: 10.1145/1088361.1088367
Clara Benac Earle, Lars-Åke Fredlund, J. Derrick
{"title":"Verifying fault-tolerant Erlang programs","authors":"Clara Benac Earle, Lars-Åke Fredlund, J. Derrick","doi":"10.1145/1088361.1088367","DOIUrl":"https://doi.org/10.1145/1088361.1088367","url":null,"abstract":"In this paper we target the verification of fault tolerant aspects of distributed applications written in Erlang. Erlang is unusual in several respects. First, it is one of a few functional languages that is used in industry. Secondly the programming language contains support for concurrency and distribution as well as including constructs for handling fault-tolerance.Erlang programmers, of course, mostly work with ready-made language components. Our approach to verification of fault tolerance is to verify systems built using two central components of most Erlang software, a generic server component with fault tolerance handling, and a supervisor component that restarts failed processes.To verify Erlang programs built using these components we automatically translate them into processes of the μCRL process algebra, generate their state spaces, and use a model checker to determine whether they satisfy correctness properties specified in the μ-calculus.The key observation of this paper is that, due to the usage of these higher-level design patterns (supervisors and generic servers) that structure process communication and fault recovery, the state space generated from a Erlang program, even with failures occurring, is relatively small, and can be generated automatically. Moreover the method is independent from the actual Erlang program studied, and is thus reusable.We demonstrate the approach in a case study where a server, built using the generic server component, implements a locking service for a number of client processes, and show that the server tolerates client failures.","PeriodicalId":140676,"journal":{"name":"Erlang Workshop","volume":"392 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2005-09-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133167738","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}
引用次数: 13
ERESYE: artificial intelligence in Erlang programs ERESYE: Erlang程序中的人工智能
Erlang Workshop Pub Date : 2005-09-26 DOI: 10.1145/1088361.1088373
A. Stefano, F. Gangemi, C. Santoro
{"title":"ERESYE: artificial intelligence in Erlang programs","authors":"A. Stefano, F. Gangemi, C. Santoro","doi":"10.1145/1088361.1088373","DOIUrl":"https://doi.org/10.1145/1088361.1088373","url":null,"abstract":"This paper describes ERESYE, a tool for the realization of intelligent systems expert systems) using the Erlang language. ERESYE is a rule production system that allows rules to be written as Erlang function clauses, providing support for their execution. ERESYE is also able to support object-oriented concepts and ontologies thanks to a suitable ontology handling tool, providing means to translate object-based concepts into an Erlang form. The architecture of ERESYE and its basic working scheme are described in the paper. A comparison with CLIPS, one of the most known tools for expert system programming, is also made. The description of some examples of ERESYE usage are provided to show the effectiveness and the validity of the proposed solution, which opens new and interesting application scenario for Erlang.","PeriodicalId":140676,"journal":{"name":"Erlang Workshop","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2005-09-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130353849","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}
引用次数: 22
Atom garbage collection 原子垃圾收集
Erlang Workshop Pub Date : 2005-09-26 DOI: 10.1145/1088361.1088369
Thomas Lindgren
{"title":"Atom garbage collection","authors":"Thomas Lindgren","doi":"10.1145/1088361.1088369","DOIUrl":"https://doi.org/10.1145/1088361.1088369","url":null,"abstract":"Atoms are a central data type in Erlang, yet there is currently no method for memory management of atoms in the most popular implementations. For long-lived systems, this leads to obscure bugs or defensive programming.In this paper, we discuss the relevant issues for atom garbage collection and propose some principles. We then devise an incremental copying collector with some optimizations.While a full implementation of the collector still remains to be done, an examination of pause times and space overheads, based on existing systems and realistic data, indicates that the algorithm is practical.","PeriodicalId":140676,"journal":{"name":"Erlang Workshop","volume":"150 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2005-09-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134410676","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
A high performance Erlang Tcp/Ip stack 一个高性能的Erlang Tcp/Ip栈
Erlang Workshop Pub Date : 2005-09-26 DOI: 10.1145/1088361.1088372
J. París, V. M. Gulías, Alberto Valderruten
{"title":"A high performance Erlang Tcp/Ip stack","authors":"J. París, V. M. Gulías, Alberto Valderruten","doi":"10.1145/1088361.1088372","DOIUrl":"https://doi.org/10.1145/1088361.1088372","url":null,"abstract":"Functional languages are not often associated with the development of network stacks, mainly due to the lower performance and lack of support for system programming than more conventional languages such as C. However, there are functional languages that offer features which make it easier to develop network protocols than using a more conventional approach based on an imperative language. Erlang, for instance, offers support for distribution, concurrency and soft real time built-in into the language. All those features are desirable to ease the development of network protocol implementations. It is also possible to implement a reasonably efficient network stack in this language, provided some precautions are taken in the design. By using Erlang distribution it is possible to support fault tolerant distributed Tcp connections that take advantage of the distributed nature of the applications implemented in Erlang to provide low cost synchronization, with just some support from the application itself.","PeriodicalId":140676,"journal":{"name":"Erlang Workshop","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2005-09-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129097287","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}
引用次数: 6
Remote controlling devices using instant messaging: building an intelligent gateway in Erlang/OTP 使用即时消息的远程控制设备:在Erlang/OTP中构建智能网关
Erlang Workshop Pub Date : 2005-09-26 DOI: 10.1145/1088361.1088371
Simon Aurell
{"title":"Remote controlling devices using instant messaging: building an intelligent gateway in Erlang/OTP","authors":"Simon Aurell","doi":"10.1145/1088361.1088371","DOIUrl":"https://doi.org/10.1145/1088361.1088371","url":null,"abstract":"This paper shows how instant messaging technology can be used for remote controlling of devices, and outlines some of the issues involved, of which the most important is security. The concept of controlling and monitoring devices using instant messaging dialogue, presence and buddy list features is applied to a home automation context, and the idea and implementation of a prototype system is described. The paper describes how the excellent robustness and prototyping qualities of Erlang/OTP were exploited to quickly build a prototype system. It also shows how a gateway capable of speaking multiple device protocols can provide a single access point to different kinds of devices and services, and how the concept of agents can be used to add a layer of intelligence to the set of devices being controlled or monitored.","PeriodicalId":140676,"journal":{"name":"Erlang Workshop","volume":"102 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2005-09-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132488171","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}
引用次数: 14
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学术官方微信