skip to main content
10.1145/1291151.1291182acmconferencesArticle/Chapter ViewAbstractPublication PagesicfpConference Proceedingsconference-collections
Article

Evaluating high-level distributed language constructs

Published:01 October 2007Publication 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.Google ScholarGoogle Scholar
  2. J. Armstrong, R. Virding, C. Wikström, and M. Williams. Concurrent Programming in Erlang. Prentice Hall, 2nd edition, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. H. Cejtin, S. Jagganathan, and R. Kelsey. Higher-order distributed objects. ACM Trans. On Programming Languages and Systems (TOPLAS), 17 (1), September 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. N. E. Fenton and S. L Pfleeger. Software Metrics: A Rigorous and Practical Approach. PWS, 1998. ISBN 0534-95429-1. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle Scholar
  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. doi: http://doi.acm.org/10.1145/963778.963780. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. H. Granbohm and J. Wiklund. GPRS - General Packet Radio Service. Ericsson Review, (2), 1999.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  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.Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. C. Jones. Programming Productivity. McGraw-Hill, 1986.Google ScholarGoogle Scholar
  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.Google ScholarGoogle Scholar
  14. Language Shootout. The Computer Language Shootout Benchmarks. WWW page, July 2006. http://shootout.alioth.debian.org/.Google ScholarGoogle Scholar
  15. R. Lillie. Implementing dynamic scalability in a distributed processing environment. Technical report, Motorola Labs, Shaumburg, Illinois, 1999.Google ScholarGoogle Scholar
  16. McCabe. A complexity measure. IEEE Transactions on Software Engineering, 2: 308--320, 1976. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  20. A. Olsen, O. Rærgemand, B. Møller-Pedersen, R. Reed, and J. R. W. Smith. Systems Engineering Using SDL-92. Elsevier, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. OO Language Comparison. Object-Oriented Languages: A Comparison. WWW page, July 2006. archive.eiffel.com/doc/manuals/technology/oo_comparison/page.html.Google ScholarGoogle Scholar
  22. J. Peterson, K. Hammond, et al. Report on the Programming Language Haskell (Version 1.4), April 1997.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle Scholar
  25. J. Postel. User Datagram Protocol. Technical report, Internet Engineering Task Force (IETF), RFC 768, 1980. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. L. Prechelt. An empirical comparison of seven programming languages. Computer, 33 (10): 23--29, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. L. Rittle. Distributed Dispatch Architecture Project (Functional Requirements). Technical report, Land Mobile Products Sector Research, Shaumburg, Illinois, 1998.Google ScholarGoogle Scholar
  28. S. Torstendahl. Open Telecom Platform. Ericsson Review, 75 (1): 14-23, 1997.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  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.Google ScholarGoogle Scholar

Index Terms

  1. Evaluating high-level distributed language constructs

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in
            • Article Metrics

              • Downloads (Last 12 months)1
              • Downloads (Last 6 weeks)1

              Other Metrics

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader
            About Cookies On This Site

            We use cookies to ensure that we give you the best experience on our website.

            Learn more

            Got it!