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.
- 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 ScholarDigital Library
- A. J. Bernstein and P. M. Lewis. Concurrency in programming and database systems. Jones and Bartlett Publishers, Inc., USA, 1993. Google ScholarDigital Library
- 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 ScholarDigital Library
- M. Cortes, J. Ensor, and J. Esteban. On SIP performance. Bell Labs Technical J., 9(3):155--172, Jan 2004.Google ScholarCross Ref
- D. Ferrari. Client requirements for real-time communication services. IEEE Communications, 28(11):65--69, 1990.Google ScholarDigital Library
- 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 Scholar
- M. Fowler. Patterns of Enterprise Application Architecture. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 2002. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- P. B. Hansen. Operating System Principles. Prentice Hall, USA, 1973. Google ScholarDigital Library
- J. W. Havender. Avoiding deadlock in multitasking systems. IBM Systems J., 7(2):74--84, 1968. Google ScholarDigital Library
- C. A. R. Hoare. Communicating sequential processes. Commun. ACM, 21(8):666--677, 1978. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- B. Meyer. Object-Oriented Software Construction. Prentice Hall, 2nd edition, 1988. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- J. Wilkiewicz and M. Kulkarni. JSR 289: SIP servlet specification v1.1. http://jcp.org/aboutJava/communityprocess/final/jsr289.Google Scholar
- R. Wirfs-Brock and A. McKean. Object Design: Roles, Responsibilities and Collaborations. Addison--Wesley, 2003. Google ScholarDigital Library
- P. Zave and E. Cheung. Compositional control of IP media. IEEE Trans. Softw. Eng., 35(1):46--66, 2009. Google ScholarDigital Library
- D. Zöbel. The deadlock problem: a classifying bibliography. SIGOPS Oper. Syst. Rev., 17(4):6--15, 1983. Google ScholarDigital Library
Index Terms
- Contract-based synchronization of IP telecommunication services: a case study
Recommendations
Generating Global Contract for Composite Services
ICSS '15: Proceedings of the 2015 International Conference on Service ScienceNowadays services are fast evolving into the coarse-grained composite services by mash up technology in both business and IT levels. It is quite important for both customers and composite service providers (called "broker") to measure whether the ...
Contract-First Design Techniques for Building Enterprise Web Services
ICWS '09: Proceedings of the 2009 IEEE International Conference on Web ServicesBased on real development experience, the paper presents a collection of design techniques for building enterprise web services. By applying the techniques to web services development, not only the development increases reusability and productivity, but ...
Comments