skip to main content
10.1145/2016551.2016556acmotherconferencesArticle/Chapter ViewAbstractPublication PagescomswareConference Proceedingsconference-collections
research-article

Contract-based synchronization of IP telecommunication services: a case study

Published:04 July 2011Publication History

ABSTRACT

Communication middleware, like J2EE and OCCAS, facilitates development and deployment of IP telecommunication services by automating various cross-cutting concerns, such as those related to messaging and security. This middleware is highly concurrent, with threads executing methods that an application programmer writes to carry out the service logic. While the middleware manages life-cycle concerns of threads, the problem of synchronizing them is left to the application programmer. Unfortunately, this synchronization code can be complex and prone to error. Moreover, it can easily obscure the service logic. Our prior work proposed solving these problems using a middleware framework to automatically synchronize concurrent service executions based on declarative synchronization contracts. This paper describes an implementation of our synchronization framework and a case study using it. The case study demonstrates the extent to which contract-based synchronization facilitates refinement of a finite-state design to code and improves design transparency. It also examines the impact on performance of the subject application. A conclusion of the case study is that contract-based synchronization could provide a foundation for automatic generation of IPT services from finite-state designs.

References

  1. R. Behrends and R. E. K. Stirewalt. The Universe Model: an approach for improving the modularity and reliability of concurrent programs. In Proc. FSE'00: ACM SIGSOFT 8th Intl. Symp. Foundations of Softw. Eng., pages 20--29, San Diego, CA, USA, November 2000. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. A. J. Bernstein and P. M. Lewis. Concurrency in programming and database systems. Jones and Bartlett Publishers, Inc., USA, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. A. Betin-Can and T. Bultan. Verifiable concurrent programming using concurrency controllers. In Proc. ASE '04: 19th IEEE Intl. Conf. Automated Softw. Eng., pages 248--257, Lawrence, KA, USA, September 2004. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. M. Cortes, J. Ensor, and J. Esteban. On SIP performance. Bell Labs Technical J., 9(3):155--172, Jan 2004.Google ScholarGoogle ScholarCross RefCross Ref
  5. D. Ferrari. Client requirements for real-time communication services. IEEE Communications, 28(11):65--69, 1990.Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. C. M. Fleiner and M. Philippsen. Fair multi-branch locking of several locks. In Proc. ICPDCS'97: Intl. Conf. Parallel and Distributed Computing Systems, pages 537--545, Washington, DC, USA, October 1997.Google ScholarGoogle Scholar
  7. M. Fowler. Patterns of Enterprise Application Architecture. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. V. Gurbani, L. Jagadeesan, and V. Mendiratta. Characterizing session initiation protocol (SIP) network performance and reliability. In M. Malek, E. Nett, and N. Suri, editors, Service Availability, volume 3694 of Lecture Notes in Computer Science, pages 196--211. Springer Berlin/Heidelberg, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. A. Hamie, J. Howse, and S. Kent. Navigation expressions in object-oriented modelling. In E. Astesiano, editor, Proc. FASE'98: Fundamental Approaches to Softw. Eng., volume 1382 of Lecture Notes in Computer Science, pages 123--138. Springer Berlin/Heidelberg, 1998.Google ScholarGoogle Scholar
  10. P. B. Hansen. Operating System Principles. Prentice Hall, USA, 1973. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. J. W. Havender. Avoiding deadlock in multitasking systems. IBM Systems J., 7(2):74--84, 1968. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. C. A. R. Hoare. Communicating sequential processes. Commun. ACM, 21(8):666--677, 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Y. Huang, E. Cheung, L. K. Dillon, and R. E. K. Stirewalt. A thread synchronization model for SIP servlet containers. In Proc. IPTComm '09: 3rd Intl. Conf. Principles, Systems and Applications of IP Telecommunications, pages 1--12, Atlanta, GA, USA, 2009. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Y. Huang, L. K. Dillon, and R. E. Stirewalt. On mechanisms for deadlock avoidance in SIP servlet containers. In Proc. IPTComm '08: 2nd Intl. Conf. Principles, Systems and Applications of IP Telecommunications, pages 196--216, Heidelberg, September 2008. Springer-Verlag. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Y. Huang, L. K. Dillon, and R. E. K. Stirewalt. Prototyping synchronization policies for existing programs. In Proc. ICPC'09: Intl. Conf. Program Comprehension, pages 289--290. IEEE Computer Society, 2009.Google ScholarGoogle ScholarCross RefCross Ref
  16. B. Meyer. Object-Oriented Software Construction. Prentice Hall, 2nd edition, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. E. M. Nahum, J. Tracey, and C. P. Wright. Evaluating SIP server performance. In Proc. SIGMETRICS '07: ACM Intl. Conf. Measurement and Modeling of Computer Systems, pages 349--350, San Diego, CA, USA, June 2007. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. T. M. Smith and G. W. Bond. ECharts for SIP servlets: a state-machine programming environment for voip applications. In Proc. IPTComm '07: 1st Intl. Conf. Principles, Systems and Applications of IP Telecommunications, pages 89--98, New York, NY, USA, July 2007. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. B. Van Den Bossche, F. De Turck, B. Dhoedt, P. Demeester, G. Maas, J. Moreels, B. Van Vlerken, and T. Pollet. J2EE-based middleware for low latency service enabling platforms. In Proc. GLOBECOM '06: Global Telecommunications Conf., pages 1--6, San Francisco, CA, USA, November 2006.Google ScholarGoogle ScholarCross RefCross Ref
  20. M. VanHilst and D. Notkin. Using role components in implement collaboration-based designs. In Proc. OOPSLA '96: 11th ACM SIGPLAN Conf. Object-oriented programming, systems, languages, and applications, pages 359--369, San Jose, CA, USA, October 1996. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. S. Wanke, M. Scharf, S. Kiesel, and S. Wahl. Measurement of the SIP parsing performance in the SIP express router. In Proc. EUNICE'07: 13th EUNICE Open European Summer School (IFIP TC6.6 Conf. Dependable and Adaptable Networks and Services), pages 103--110, Enschede, The Netherlands, 2007. Springer-Verlag. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. J. Wilkiewicz and M. Kulkarni. JSR 289: SIP servlet specification v1.1. http://jcp.org/aboutJava/communityprocess/final/jsr289.Google ScholarGoogle Scholar
  23. R. Wirfs-Brock and A. McKean. Object Design: Roles, Responsibilities and Collaborations. Addison--Wesley, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. P. Zave and E. Cheung. Compositional control of IP media. IEEE Trans. Softw. Eng., 35(1):46--66, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. D. Zöbel. The deadlock problem: a classifying bibliography. SIGOPS Oper. Syst. Rev., 17(4):6--15, 1983. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Contract-based synchronization of IP telecommunication services: a case study

          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
          • Published in

            cover image ACM Other conferences
            COMSWARE '11: Proceedings of the 5th International Conference on Communication System Software and Middleware
            July 2011
            123 pages
            ISBN:9781450305600
            DOI:10.1145/2016551

            Copyright © 2011 ACM

            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]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 4 July 2011

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article
          • Article Metrics

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

            Other Metrics

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader