DocumentCode :
2124344
Title :
Implementing distributed real-time control systems in a functional programming language
Author :
Wikström, Claes
Author_Institution :
Ericsson Telecom AB, Alvsjo, Sweden
fYear :
1996
fDate :
15-16 Apr 1996
Firstpage :
20
Lastpage :
26
Abstract :
The design and implementation of large distributed fault-tolerant systems in the telecommunications industry is becoming increasingly complex. Traditionally, telecommunications systems have been equipped with fault-tolerant hardware. Recent advances with cheap high-speed off-the-shelf CPUs make an approach with fault tolerance implemented in software more attractive. This typically involves different techniques to replicate data over several computers. The actual implementation of such systems has, however, turned out to be a costly business. Our experiences indicate that traditional software engineering techniques for distributed systems, where typically various interface description languages are used, lead to overly complex systems. The functional programming language Erlang has been designed to ease the design of distributed fault-tolerant applications with massive concurrency. Erlang is currently being employed in a number of applications within the Swedish telecommunications company Ericsson, and the experiences so far are very promising. We describe the ideas behind the support for distributed fault-tolerant programming in the language together with some implementation aspects. The main topic is the idea of dynamic interfaces: symbolic programming languages often have the ability to dynamically identify the type of a data object at runtime. Using this capability, it is possible to implement a general-purpose encoder/decoder which maps data objects from the language to and from a stream of bytes which can be sent on to a network. We show what implications this has on distributed programming techniques
Keywords :
computerised control; decoding; distributed control; distributed processing; encoding; functional languages; functional programming; real-time systems; software fault tolerance; telecommunication computing; Ericsson; Erlang; byte stream; data replication; distributed fault-tolerant programming; distributed real-time control systems; dynamic interfaces; functional programming language; general-purpose encoder/decoder; high-speed off-the-shelf CPUs; implementation aspects; interface description languages; massive concurrency; run-time data object type identification; software engineering techniques; symbolic programming languages; telecommunications industry; Application software; Communication industry; Control systems; Distributed control; Electrical equipment industry; Fault tolerance; Fault tolerant systems; Hardware; Real time systems; Telecommunication control;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Parallel and Distributed Real-Time Systems, 1996. Proceedings of the 4th International Workshop on
Conference_Location :
Honolulu, HI
Print_ISBN :
0-8186-7515-2
Type :
conf
DOI :
10.1109/WPDRTS.1996.557430
Filename :
557430
Link To Document :
بازگشت