Erlang logoBanner

Thesis, Articles, Papers and Presentations

Thesis, Articles, Papers and Presentations from Erlang Training and Consulting Ltd. and its partners.


Optimising TCP/IP connectivity


Title: Optimising TCP/IP connectivity:
Purpose: Paper presented at the 2007 Erlang Workshop
Author: Oscar Hellström
Involvement: The research, paper and presentation was made by a member of Erlang Training and Consuting staff.
PDF
PDF


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.

Priority Messaging Made Easy


Title: Priority Messaging Made Easy
Purpose: Contribution to the sixth ACM SIGPLAN Erlang Workshop 2007 in Freiburg, Germany
Author: Jan Henry Nystrom
Involvement: Research and presentation preformed by Erlang Training and Consulting staff
PDF
PDF (Presentation at the 2007 Erlang Workshop)


Abstract: \begin{abstract} This paper provides an introduction to the finer points of priority based message reception. A new behaviour is devised to provide a generic server that does priority based message reception. The combination of generic finite state machines and prioritised is also discussed. Finally it is demonstrated how behaviours could be significantly strengthened in usefulness by allowing the behaviour info to specify that a parse transform. An Erlang Extension Proposal suggesting the change is included in the appendices.

Erlang/OTP Experiences


Title: From HTTP to HTML – Erlang/OTP Experiences
Purpose: Contribution to the fifth ACM SIGPLAN Erlang Workshop 2006 in Portland, USA
Author: Francesco Cesarini, Lukas Larsson, Michal Slaski
Involvement: Research, paper and presentation by Erlang Training and Consulting staff
Paper: HTML  PDF
PDF (As presented prior to the demo at the Workshop)


Abstract: This paper describes the lessons learnt when internally developing web applications in Erlang. On the basis of these experiences, a framework called the Web Platform has been implemented. The Web Platform follows a design pattern separating data processing and formatting, allowing the construction of flexible and maintainable software architectures. It also delivers mechanisms for building dynamic pages and components. On top of the platform and components, web interfaces to commercial Erlang systems have been built.

Optimising TCP/IP connectivity


Title: Optimising TCP/IP connectivity: An exploratory study in network-intensive Erlang systems
Purpose: Bachelor's thesis at IT University of Gothenburg
Author: Oscar Hellström
Involvement: Paper is based on a project at Erlang Training and Consulting Ltd
Paper: HTML  PDF
Presentation: HTML  PDF


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.

Evaluation of Database Management Systems


Title: Evaluation of Database Management Systems for Erlang
Purpose: Bachelor's thesis at IT University of Gothenburg
Author: Emil Hellman
Involvement: Paper is based on a project at Erlang Training and Consulting Ltd
Paper: HTML  PDF



Abstract: Erlang/OTP's DBMS Mnesia is lacking in several important areas to consider when implementing very large databases with massive scalability requirements. This article reveals the result from a study examining what Erlang developers consider important aspects of DBMSs and an AHP evaluation on four mature open source DBMSs based on those criteria. AHP is suggested as good method to evaluate DBMSs for Erlang projects. The criteria used in this evaluation were derived from a survey on sent to the Erlang community. It should therefore be noted that which DBMS to use in Erlang projects should also be determined by the project's and the software's own specific criteria.

A metrics for Evaluating Internet Applications


Title: A metrics for Evaluating Internet Applications written in Erlang
Purpose: Bachelor's thesis at IT University of Gothenburg
Author: Lukas Larsson
Involvement: Paper is based on a project at Erlang Training and Consulting Ltd
Paper: HTML  PDF



Abstract: Erlang was first used for developing web based applications soon after it was invented. What is missing however, are standardized components which handle common web related activities such as news bulletins and mailing lists. To guide development of generic web components an object oriented metrics was translated to a concurrency orientated one. The metric was used to improve three web components by making them less complex, both externally and internally. As a result, the metrics only showed a marginal decrease in complexity, proving that it is of little help when creating small generic web components. It might however, help when developing more complex components in larger systems, but for the components used in this case study, the metric failed to deliver. Further study has to be done to determine whether the metric is can be used to measure complexity of larger Erlang components.

Massively Multiplayer Online Game Servers


Title: Massively Multiplayer Online Game Servers - Analysing the needs of an Erlang/OTP
Purpose: Master's Thesis at the AGH University of Science and Technology, Krakow
Author: Michal Slaski
Involvement: Paper was co-authored and presented by a consultant at Erlang Training and Consulting Ltd
Paper: HTML  PDF
Presentation: HTML  PDF (Presented at the Erlang User Conference 2005 in Stockholm, Sweden)


Abstract: At present massively multiplayer online games allow several thousands of players to stay in a single, persistent virtual world. Because of the fast growing interest in this type of servers, we started researching their efficiency and scalability. Our target was an analysis of the MMOG server, which could service up to 1000 players in a single virtual world. We made an assumption that the server will be distributed and running on a dedicated cluster. As the implementation platform we chose Erlang/OTP its main advantages being integration with a distributed database, soft real-time and supporting distributed applications. In this paper we discuss the realisation of the project, and practical aspects of the measurement of server parameters.

Remote Controlling Devices Using Instant Messaging


Title: Remote Controlling Devices Using Instant Messaging -- Building an Intelligent Gateway In Erlang/OTP
Purpose: Bachelor's thesis at IT University of Gothenburg
Author: Simon Aurell
Involvement: Paper is based on a project at Erlang Training and Consulting Ltd
Paper: HTML  PDF
Presentation: HTML  PDF


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.

Test Driven Development In Erlang


Title: Test Driven Development In Erlang
Purpose: Bachelor's thesis at IT University of Gothenburg
Author: Martin Carlson
Involvement: Paper is based on a project at Erlang Training and Consulting Ltd
Paper: HTML  PDF
Presentation: HTML  PDF


Abstract: Test Driven Development has been around for quite some time, but it has recently re-emerged through the introduction of Agile methods such as Extreme Programming and Internet Speed Programming. Test Driven Development has been proven to reduce faults in software written in Java and C++, but there are no reasons to believe these results are language specific. A case study was conducted during the development of an Erlang/OTP prototype comparing Test Last and Test Driven Development. It was concluded that Erlang/OTP based Test Driven Development improved the quality of the code by reducing faults and increasing overall productivity.

The Migration from Erlang to OTP


Title: The Migration from Erlang to OTP: A case study of a heavy duty TCP/IP based client-server application.
Purpose: Proceedings to the Seventh International Erlang User Conference, Stockholm, Sweden
Author: Francesco Cesarini and Mickaël Rémond
Involvement: Presented by Erlang Training and Consulting Ltd. and one of its clients.
Paper: HTML  PDF
HTML  


Abstract: A team of software engineers at IDEALX set out to build a proxy for a heavy duty TCP-IP application. They had Erlang experience from previous in house projects, but had never come in contact with the Open Telecom Platform's design principles. When an external Erlang/OTP consultant was taken in to review the code, he discovered a system written in pure Erlang. This paper describes reasons why development on OTP design principles were developed in the first place, and explains why they were bypassed in the prototype phase of this project. It concludes by describing how the migration of the Erlang prototype to an OTP product was achieved, looking at the advantages gained through such a migration. The intended readers are companies and individuals considering using Erlang in product development, but do not have access to in house Erlang expertise.

Interfacing Erlang with Standardised Management Protocols.


Title: Interfacing Erlang with Standardised Management Protocols.
Purpose: A Master's thesis from Uppsala University, Sweden.
Author: Francesco Cesarini
Involvement: Thesis written by the founder of the company.
Paper: HTML  PDF



Abstract: This report describes how different standardised management protocols can be incorporated into telecom applications with little or no impact on the overall software architecture. It presents a framework providing the necessary flexibility needed when different standardised management protocols have to coexist along side each other, or need to be interchanged due to changing system requirements. The report shows there is a mapping from this framework to management protocols commonly used in telecom applications, namely SNMP, Corba and HTTP. OSI based management is also superficially discussed. The framework has been developed in Erlang, but can be used in any high level functional programming language.

Expert System Engine


Title: ERESYE: an Erlang Expert System Engine
Purpose: Contribution to the fourth ACM SIGPLAN Erlang Workshop 2005 in Tallinn, Estonia
Author: Antonella Di Stefano, Francesca Gangemi, Corrado Santoro
Involvement: Research involving Erlang Training and Consulting staff
PDF
Presentation: HTML  PDF


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.



© 1999 - 2008 Erlang Training and Consulting Ltd.Powered by Erlang
Erlang Events
21 May 2008: Smarkets Erlang Web Framework, (London User Group Talk)
11 Jun 2008: Developments in Wrangler, a refactoring tool for Erlang, (London User Group Talk)
26 Jun 2008: Erlang eXchange, a 2-day User Conference (London, UK)

Erlang eXchange
Subscribe to our newsletter!

Sign up to receive the latest news about our Erlang/OTP scheduled training courses, new offerings and special offers.

 
Subscribe to our RSS feeds:


  Jobs feeds
  News feeds
  Events feeds