Are high-level languages suitable for robust telecoms software?

  • Authors:
  • J. H. Nyström;P. W. Trinder;D. J. King

  • Affiliations:
  • School of Mathematical and Computer Science, Heriot-Watt University, Edinburgh, Scotland;School of Mathematical and Computer Science, Heriot-Watt University, Edinburgh, Scotland;UK Software & Systems Engineering Research Group, Motorola Labs, Basingstoke, England

  • Venue:
  • SAFECOMP'05 Proceedings of the 24th international conference on Computer Safety, Reliability, and Security
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

In the telecommunications sector product development must minimise time to market while delivering high level of dependability, availability, maintainability and scalability. High level languages are concise and hence potentially enable the fast production of maintainable software. This paper investigates the potential of one such language, Erlang, to deliver robust distributed telecoms software. The evaluation is based on a typical non-trivial distributed telecoms application, a Dispatch Call Controller(DCC) measured on a Beowulf cluster. Our investigations show that the Erlang implemention meet that the DCC's resource reclamation and soft real-time requirements, before on the following reliability properties. – Availability, e.g. recovery from failures is fast and repeated failures don't reduce post-recovery throughput. – Redundancy degree, e.g. how many simultaneous copies of the system state can be maintained without impairing performance? – Resilience, e.g. achieving a throughput of 101% at 1000% load on 4 processors. – Dynamic adaptability, e.g. the system can be dynamically upgraded by adding nodes without interruption of service. We critique Erlang's fault tolerance model,arguing that it is low cost, parameterizable and generic. As the Erlang DCC is less than a quarter of the size of a C++/CORBA implementation,the product development in Erlang should be fast, and the code maintainable. We conclude that Erlang and associated libraries are suitable for the rapid development of maintainable and highly reliable distributed products.