[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/1291151.1291182acmconferencesArticle/Chapter ViewAbstractPublication PagesicfpConference Proceedingsconference-collections
Article

Evaluating high-level distributed language constructs

Published: 01 October 2007 Publication History

Abstract

The paper investigates the impact of high level distributed programming language constructs on the engineering of realistic software components. Based on reengineering two non-trivial telecoms components, we compare two high-level distributed functional languages, Erlang and GdH, with conventional distributed technologies C++/CORBA and C++/UDP.
We investigate several aspects of high-level distributed languages including the impact on code size of high-level constructs. We identify three language constructs that primarily contribute to the reduction in application size and quantify their impact. We provide the first evidence based on analysis of a substantial system to support the widely-held supposition that high-level constructs reduce programming effort associated with specifying distributed coordination. We investigate whether a language with sophisticated high-level fault tolerance can produce suitably robust components, and both measure and analyse the additional programming effort needed to introduce robustness. Finally, we investigate some implications of a range of type systems for engineering distributed software.

References

[1]
J. Armstrong. Making reliable distributed systems in the presence of software errors. PhD thesis, Department of Microelectronics and Information Technology, Royal Institute of Technology, Stockholm, Sweden, December 2003.
[2]
J. Armstrong, R. Virding, C. Wikström, and M. Williams. Concurrent Programming in Erlang. Prentice Hall, 2nd edition, 1996.
[3]
S. Blau, J. Rooth, J. Axell, F. Hellstrand, M. Buhrgard, T. Westin, and G. Wicklund. AXD 301: A new generation ATM switching system. Computer Networks, 31 (6): 559--582, 1999.
[4]
H. Cejtin, S. Jagganathan, and R. Kelsey. Higher-order distributed objects. ACM Trans. On Programming Languages and Systems (TOPLAS), 17 (1), September 1995.
[5]
N. E. Fenton and S. L Pfleeger. Software Metrics: A Rigorous and Practical Approach. PWS, 1998. ISBN 0534-95429-1.
[6]
P. Giacalone, P. Mishra, and S. Prasad. Facile: a symmetric integration of concurrent and functional programming. In Tapsoft89, LNCS 352, pages 181--209. Springer-Verlag, 1989.
[7]
S. Gorlatch. Send-receive considered harmful: Myths and realities of message passing. ACM Transactions on Programming Languages and Systems, 26 (1): 47--56, 2004. ISSN 0164-0925.
[8]
H. Granbohm and J. Wiklund. GPRS - General Packet Radio Service. Ericsson Review, (2), 1999.
[9]
S. Haridi, P. Van Roy, and G. Smolka. An overview of the design of Distributed Oz. In Proceedings of the Second International Symposium on Parallel Symbolic Computation (PASCO '97), pages 176--187, Maui, Hawaii, USA, July 1997. ACM Press.
[10]
S. Hinde. Use of Erlang/OTP as a Service Creation Tool for IN Services. In Proceedings of the 6th International Erlang/OTP Users Conference (EUC'00). Ericsson Utvecklings AB, 2000.
[11]
E. Johansson, M. Pettersson, K. Sagonas, and T. Lindgren. The development of the HiPE system: Design and experience report. Software Tools for Technology Transfer, 4 (4): 421--436, August 2003.
[12]
C. Jones. Programming Productivity. McGraw-Hill, 1986.
[13]
N. I. Kamenoff and N. H. Weiderman. Hartstone distributed benchmark: Requirements and definitions. In Proceedings of the 12th Real Time Systems Symposium, pages 199--208, San Antonio, Texas, USA, 1999. IEEE.
[14]
Language Shootout. The Computer Language Shootout Benchmarks. WWW page, July 2006. http://shootout.alioth.debian.org/.
[15]
R. Lillie. Implementing dynamic scalability in a distributed processing environment. Technical report, Motorola Labs, Shaumburg, Illinois, 1999.
[16]
McCabe. A complexity measure. IEEE Transactions on Software Engineering, 2: 308--320, 1976.
[17]
J. H. Nyström, P. W. Trinder, and D. J. King. High-level Distribution for the Rapid Production of Robust Telecoms Software: Comparing C++ and erlang. Concurrency and Computation: Practice and Experience. To Appear.
[18]
J. H. Nyström, P. W. Trinder, and D. J. King. Are High-level Languages suitable for Robust Telecoms Software? In Proceedings of the 24th International Conference, SAFECOMP 2005, volume LNCS 3688, pages 275--288. Springer-Verlag, 2005.
[19]
Object Management Group (OMG). CORBA 3: The Common Object Request Broker Architecture: Core Specification. Standard, 2004. www.omg.org/docs/formal/04-03-12.pdf.
[20]
A. Olsen, O. Rærgemand, B. Møller-Pedersen, R. Reed, and J. R. W. Smith. Systems Engineering Using SDL-92. Elsevier, 1997.
[21]
OO Language Comparison. Object-Oriented Languages: A Comparison. WWW page, July 2006. archive.eiffel.com/doc/manuals/technology/oo_comparison/page.html.
[22]
J. Peterson, K. Hammond, et al. Report on the Programming Language Haskell (Version 1.4), April 1997.
[23]
R. F. Pointon, P. W. Trinder, and H.-W. Loidl. The Design and Implementation of Glasgow distributed Haskell. In Proceedings of the International Workshop on Implementing Functional Languages (IFL'00), LNCS 2011, pages 101--116, Aachen, Germany, September 2000.
[24]
R. F. Pointon, S. Priebe, H.-W. Loidl, R. Loogen, and P. W. Trinder. Functional vs Object-Oriented Distributed Languages. In Eurocast'01, LNCS 2178, pages 642--656, Canary Islands, Spain, February 2001. Springer-Verlag LNCS 2178.
[25]
J. Postel. User Datagram Protocol. Technical report, Internet Engineering Task Force (IETF), RFC 768, 1980.
[26]
L. Prechelt. An empirical comparison of seven programming languages. Computer, 33 (10): 23--29, 2000.
[27]
L. Rittle. Distributed Dispatch Architecture Project (Functional Requirements). Technical report, Land Mobile Products Sector Research, Shaumburg, Illinois, 1998.
[28]
S. Torstendahl. Open Telecom Platform. Ericsson Review, 75 (1): 14-23, 1997.
[29]
P. W. Trinder, K. Hammond, H.-W. Loidl, and S. L. Peyton Jones. Algorithm + Strategy = Parallelism. Journal of Functional Programming, 8 (1): 23--60, January 1998.
[30]
U. Wiger. Industrial-Strength Functional Programming: Experiences with the Ericsson AXD301 Project. In Proceedings of the International Workshop on Implementing Functional Languages (IFL'00), Aachen, Germany, September 2000. Presentation Only.
[31]
U. Wiger. Four-Fold Increase in Productivity and Quality. In Proceedings of the International Workshop Formal Design of Safety Critical Embedded Systems (FemSYS'01), 2001.

Cited By

View all
  • (2007) High‐level distribution for the rapid production of robust telecoms software: comparing C++ and E RLANG Concurrency and Computation: Practice and Experience10.1002/cpe.122320:8(941-968)Online publication date: 23-Aug-2007

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ICFP '07: Proceedings of the 12th ACM SIGPLAN international conference on Functional programming
October 2007
346 pages
ISBN:9781595938152
DOI:10.1145/1291151
  • cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 42, Issue 9
    Proceedings of the ICFP '07 conference
    September 2007
    331 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/1291220
    Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 October 2007

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. distributed programming
  2. erlang
  3. haskell
  4. programming languages

Qualifiers

  • Article

Conference

ICFP07
Sponsor:

Acceptance Rates

Overall Acceptance Rate 333 of 1,064 submissions, 31%

Upcoming Conference

ICFP '25
ACM SIGPLAN International Conference on Functional Programming
October 12 - 18, 2025
Singapore , Singapore

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 09 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2007) High‐level distribution for the rapid production of robust telecoms software: comparing C++ and E RLANG Concurrency and Computation: Practice and Experience10.1002/cpe.122320:8(941-968)Online publication date: 23-Aug-2007

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media