Erlang Workshop最新文献

筛选
英文 中文
An erlang framework for autonomous mobile robots 自主移动机器人的erlang框架
Erlang Workshop Pub Date : 2007-10-05 DOI: 10.1145/1292520.1292533
C. Santoro
{"title":"An erlang framework for autonomous mobile robots","authors":"C. Santoro","doi":"10.1145/1292520.1292533","DOIUrl":"https://doi.org/10.1145/1292520.1292533","url":null,"abstract":"This paper presents an Erlang-based framework, developed by the authors, for the realisation of software systems for autonomous mobile robots.\u0000 On the basis of the analysis of the main problems arising in the design and implementation of such a kind of robots, a software infrastructure has been derived, organised in a set of layers, each one composed by some modules. This layered architecture is employed to separate hardware interfacing problems from control loops and high-level strategy tasks; such an organisation allows also a developer to concentrate only on the specific problem to be dealt with, and to immediately identify the module or layer to be involved for the realisation of a specific functionality. The proposed structure also favours reuse and rapid refactoring, since the replacement of a piece of hardware or a change in a functionality requires only few changes on a specific module, leaving the remaining system untouched.\u0000 The overall software architecture is described in the paper, as well as the functionality of the various modules composing it; the advantages introduced by the framework are also highlighted, while some examples and a case study are used to show its effectiveness.","PeriodicalId":140676,"journal":{"name":"Erlang Workshop","volume":"65 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-10-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122536076","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}
引用次数: 16
Verification of timed erlang/OTP components using the process algebra μcrl 使用进程代数μcrl验证定时erlang/OTP组件
Erlang Workshop Pub Date : 2007-10-05 DOI: 10.1145/1292520.1292529
Q. Guo, J. Derrick
{"title":"Verification of timed erlang/OTP components using the process algebra μcrl","authors":"Q. Guo, J. Derrick","doi":"10.1145/1292520.1292529","DOIUrl":"https://doi.org/10.1145/1292520.1292529","url":null,"abstract":"Recent work has looked at how Erlang programs could be model-checked via translation into the process algebra μCRL. Rules for translating Erlang programs and OTP components into μCRL have been defined and investigated. However, in the existing work, no rule is defined for the translation of timeout events into μCRL. This could degrade the usability of the existing work as in some real applications, timeout events play a significant role in the system development. In this paper, by extending the existing work, we investigate the verification of timed Erlang/OTP components in μCRL. By using an explicit tick action in the μCRL specification, a discrete-time timing model is defined to support the translation of timed Erlang functions into μCRL. Two small examples are presented, which demonstrates the applications of the proposed approach.","PeriodicalId":140676,"journal":{"name":"Erlang Workshop","volume":"27 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-10-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125648594","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
Extended process registry for erlang 用于erlang的扩展进程注册表
Erlang Workshop Pub Date : 2007-10-05 DOI: 10.1145/1292520.1292522
Ulf T. Wiger
{"title":"Extended process registry for erlang","authors":"Ulf T. Wiger","doi":"10.1145/1292520.1292522","DOIUrl":"https://doi.org/10.1145/1292520.1292522","url":null,"abstract":"The built-in process registry has proven to be an extremely useful feature of the Erlang language. It makes it easy to provide named services, which can be reached without knowing the process identifier of the serving process.\u0000 However, the current registry also has limitations: names can only be atoms (unstructured), processes can register under at most one name, and it offers no means of efficient search and iteration.\u0000 In Ericsson's IMS Gateway products, a recurring task was to maintain mapping tables in order to locate call handling processes based on different properties. A common pattern, a form of index table, was identified, and resulted in the development of an extended process registry.\u0000 It was not immediately obvious that this would be worthwhile, or even efficient enough to be useful. But as implementation progressed, designers found more and more uses for the extended process registry, which resulted in significant reduction of code volume and a more homogeneous implementation. It also provided a powerful means of debugging systems with many tens of thousand processes.\u0000 This paper describes the extended process registry, critiques it, and proposes a new implementation that offers more symmetry, better performance and support for a global namespace.","PeriodicalId":140676,"journal":{"name":"Erlang Workshop","volume":"93 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-10-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132168630","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}
引用次数: 8
A more accurate semantics for distributed erlang 为分布式erlang提供更准确的语义
Erlang Workshop Pub Date : 2007-10-05 DOI: 10.1145/1292520.1292528
Hans Svensson, Lars-Åke Fredlund
{"title":"A more accurate semantics for distributed erlang","authors":"Hans Svensson, Lars-Åke Fredlund","doi":"10.1145/1292520.1292528","DOIUrl":"https://doi.org/10.1145/1292520.1292528","url":null,"abstract":"In order to formally reason about distributed Erlang systems, it is necessary to have a formal semantics. In a previous paper we have proposed such a semantics for distributed Erlang. However, recent work with a model checker for Erlang revealed that the previous attempt wasnot good enough. In this paper we present a more accurate semantics for distributed Erlang. The more accurate semantics includes several modifications and additions to the semantics for distributed Erlang proposed by Claessen and Svensson in 2005, which in turn is an extension to Fredlund's formal single-node semantics for Erlang. Themost distinct addition to the previous semantics is the possibility to correctly model disconnected nodes.","PeriodicalId":140676,"journal":{"name":"Erlang Workshop","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-10-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131118473","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}
引用次数: 33
Towards hard real-time erlang 走向硬实时erlang
Erlang Workshop Pub Date : 2007-10-05 DOI: 10.1145/1292520.1292525
V. Nicosia
{"title":"Towards hard real-time erlang","authors":"V. Nicosia","doi":"10.1145/1292520.1292525","DOIUrl":"https://doi.org/10.1145/1292520.1292525","url":null,"abstract":"In the last decades faster and more powerful computers made possible to seriously take into account high-level and functional programming languages also for non-academic projects. Haskell, Erlang, O'CAML have been effectively exploited in many application fields, demonstrating how high-level languages can help in writing efficient, readable and almost bug-free code, rapidly stealing the prominent position gained in many fields by OO languages such as Java and C++. One of the fields where low-level imperative languages are still preferred to functional programming is that of hard real-time applications, since usually programmers (and managers) think that high-level languages are really not able to cope with the complex and critical requirements of real-time.\u0000 In this paper we propose an implementation of a hard real-time scheduler entirely written in Erlang, and perfectly integrated with the Erlang BEAM emulator. Performance analysis show that the proposed solution is effective, precise and efficient, while remaining really simple to use as expected by Erlang programmers.","PeriodicalId":140676,"journal":{"name":"Erlang Workshop","volume":"31 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-10-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134147654","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}
引用次数: 8
Learning programming with erlang 用erlang学习编程
Erlang Workshop Pub Date : 2007-10-05 DOI: 10.1145/1292520.1292534
F. Huch
{"title":"Learning programming with erlang","authors":"F. Huch","doi":"10.1145/1292520.1292534","DOIUrl":"https://doi.org/10.1145/1292520.1292534","url":null,"abstract":"This paper presents an interactive framework for pupils to learn the basic concepts of programming by means of the functional programming language Erlang. Beside the idea of the framework we also sketch the different learning targets and exercises to deepen programming skills.\u0000 The framework was successfully utilized in a programming course for pupils in their last three school years.","PeriodicalId":140676,"journal":{"name":"Erlang Workshop","volume":"96 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-10-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116990185","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
A language for specifying type contracts in erlang and its interaction with success typings 一种用于在erlang中指定类型契约及其与成功类型的交互的语言
Erlang Workshop Pub Date : 2007-10-05 DOI: 10.1145/1292520.1292523
Miguel Jimenez, Tobias Lindahl, Konstantinos Sagonas
{"title":"A language for specifying type contracts in erlang and its interaction with success typings","authors":"Miguel Jimenez, Tobias Lindahl, Konstantinos Sagonas","doi":"10.1145/1292520.1292523","DOIUrl":"https://doi.org/10.1145/1292520.1292523","url":null,"abstract":"We propose a small extension of the Erlang language that allows programmers to specify contracts with type information at the level of individual functions. Such contracts are optional and they document the intended uses of functions. Contracts allow automatic documentation tools such as Edoc to generate better documentation and defect detection tools such as Dialyzer to detect more type clashes. Since the Erlang/OTP system already contains components which perform automatic type inference of success typings, we also describe how contracts interact with success typings and can often provide some key information to the inference process.","PeriodicalId":140676,"journal":{"name":"Erlang Workshop","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-10-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114764580","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}
引用次数: 15
Optimising TCP/IP connectivity 优化TCP/IP连通性
Erlang Workshop Pub Date : 2007-10-05 DOI: 10.1145/1292520.1292532
Oscar Hellström
{"title":"Optimising TCP/IP connectivity","authors":"Oscar Hellström","doi":"10.1145/1292520.1292532","DOIUrl":"https://doi.org/10.1145/1292520.1292532","url":null,"abstract":"With the increased use of network enabled applications and server hosted software systems, scalability with respect to network connectivity is becoming an increasingly important subject. The programming language Erlang has previously been shown to be a suitable choice for creating highly available, scalable and robust telecoms systems. In this exploratory study we want to investigate how to optimise an Erlang system for maximum TCP/IP connectivity in terms of operating system, tuning of the operating system TCP stack and tuning of the Erlang Runtime System. The study shows how a series of benchmarks are used to evaluate the impact of these factors and how to evaluate the best settings for deploying and configuring an Erlang application. We conclude that the choice of operating system and the use of kernel poll both have a major impact on the scalability of the benchmarked systems.","PeriodicalId":140676,"journal":{"name":"Erlang Workshop","volume":"37 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-10-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127715361","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
Introducing records by refactoring 通过重构引入记录
Erlang Workshop Pub Date : 2007-10-05 DOI: 10.1145/1292520.1292524
L. Lövei, Zoltán Horváth, T. Kozsik, Roland Király
{"title":"Introducing records by refactoring","authors":"L. Lövei, Zoltán Horváth, T. Kozsik, Roland Király","doi":"10.1145/1292520.1292524","DOIUrl":"https://doi.org/10.1145/1292520.1292524","url":null,"abstract":"This paper focuses on introducing a new transformation to our existing model for refactoring Erlang programs. The goal of the transformation is to introduce a new abstraction level in data representation by substituting a group ofrelated data with a record. Using records enhances the legibility of the source code, makes further development easier, and makes programming less error-prone by providing better possibilities for both compilation time and runtime checks. There is a strong industrial demand for such a transformation in refactoring legacy code.\u0000 Erlang is a dynamically typed language, and many of its semantical rules are also dynamic. Therefore the main challenge in this research is to ensure the safety of statically performed refactoring steps.","PeriodicalId":140676,"journal":{"name":"Erlang Workshop","volume":"29 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-10-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122144862","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}
引用次数: 8
Dryverl: a flexible Erlang/C binding compiler 一个灵活的Erlang/C绑定编译器
Erlang Workshop Pub Date : 2006-09-16 DOI: 10.1145/1159789.1159796
R. Lenglet, S. Chiba
{"title":"Dryverl: a flexible Erlang/C binding compiler","authors":"R. Lenglet, S. Chiba","doi":"10.1145/1159789.1159796","DOIUrl":"https://doi.org/10.1145/1159789.1159796","url":null,"abstract":"This article introduces Dryverl, an Erlang/C binding code generator. Dryverl aims at becoming the most abstract, open and efficient tool for implementing any Erlang/C bindings, as either C port drivers, C port programs, or C nodes. The most original feature of Dryverl is to provide users with open Erlang/C bindings, similar to distributed bindings in open distributed processing systems, to allow specifying programmatically the data transformations that must often be performed in Erlang/C bindings. Implementation details are hidden to developers, and implementation differences between port drivers, port programs, and nodes are abstracted by Dryverl, and Dryverl aims at generating the most efficient implementations possible for every target mechanism.","PeriodicalId":140676,"journal":{"name":"Erlang Workshop","volume":"21 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-09-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125530665","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
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学术官方微信