Results 1 -
4 of
4
Evaluating distributed functional languages for telecommunications software
- In Proceedings of ACM SIPLAN Erlang Workshop ’03
, 2003
"... The distributed telecommunications sector not only requires minimal time to market, but also software that is reliable, available, maintainable and scalable. High level programming languages have the potential to reduce development time and improve maintainability due to their compact code size. Mor ..."
Abstract
-
Cited by 8 (1 self)
- Add to MetaCart
The distributed telecommunications sector not only requires minimal time to market, but also software that is reliable, available, maintainable and scalable. High level programming languages have the potential to reduce development time and improve maintainability due to their compact code size. Moreover reliability is improved by safe type systems and relatively easy verification. This paper outlines plans and initial results from a joint project between Motorola and Heriot-Watt University that aims to evaluate the suitability of distributed functional languages for constructing telecommunications software. The evaluation will use the Erlang and Glasgow distributed Haskell(GdH) languages, and be based on the construction of several typical applications. The evaluation will focus on reliability issues like ease of verification, availability issues like fault-tolerance or resilience, as well as whether the languages deliver the required functionalities, like real-time capabilities. The impact of specific languages techniques will also be assessed, including type system, strictness, validation and distributed coordination. The Erlang and GdH implementations of the applications will be compared with existing C++/CORBA and Java/JINI implementations. The first application, a Dispatch Call Controller(DCC), has been constructed in Erlang and measured on a Beowulf cluster. We find that the DCC scales, achieving a relative speedup of 14.5 on 16 processors. The DCC is resilient, achieving 105 % throughput at 200 % load and 56% throughput at 9000 % load on 16 processors. The DCC is fault-tolerant, remaining available despite any one process or processor failure. The DCC has dynamic adaptability, remaining available as processors are added or removed. ∗ This project has in parts been supported by, UK EPSRC Poject No. GR/R 88137
A semantics for distributed erlang
- In Proceedings of the ACM SIPGLAN 2005 Erlang Workshop
, 2005
"... 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 ..."
Abstract
-
Cited by 6 (3 self)
- Add to MetaCart
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.
A more accurate semantics for distributed Erlang
- In Proceedings of the ACM SIPGLAN 2007 Erlang Workshop
, 2007
"... 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 was not good enough. In this ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
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 was not 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. The most distinct addition to the previous semantics is the possibility to correctly model disconnected nodes.
Towards Automatic Verification of Erlang Programs by
"... ERLANG is a concurrent, dynamically typed, distributed, purely functional programming language with non-purely functional libraries that is mainly employed in telecommunication systems. This paper provides a contribution to the formal modeling and verification of programs written in Erlang. It prese ..."
Abstract
- Add to MetaCart
ERLANG is a concurrent, dynamically typed, distributed, purely functional programming language with non-purely functional libraries that is mainly employed in telecommunication systems. This paper provides a contribution to the formal modeling and verification of programs written in Erlang. It presents a mapping of Erlang programs to the #--calculus, a process algebra whose name-- passing feature allows representation of the mobile aspects of software written in Erlang in a natural way.

