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 2011 Publication 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.
[2]
A. J. Bernstein and P. M. Lewis. Concurrency in programming and database systems. Jones and Bartlett Publishers, Inc., USA, 1993.
[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.
[4]
M. Cortes, J. Ensor, and J. Esteban. On SIP performance. Bell Labs Technical J., 9(3):155--172, Jan 2004.
[5]
D. Ferrari. Client requirements for real-time communication services. IEEE Communications, 28(11):65--69, 1990.
[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.
[7]
M. Fowler. Patterns of Enterprise Application Architecture. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 2002.
[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.
[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.
[10]
P. B. Hansen. Operating System Principles. Prentice Hall, USA, 1973.
[11]
J. W. Havender. Avoiding deadlock in multitasking systems. IBM Systems J., 7(2):74--84, 1968.
[12]
C. A. R. Hoare. Communicating sequential processes. Commun. ACM, 21(8):666--677, 1978.
[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.
[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.
[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.
[16]
B. Meyer. Object-Oriented Software Construction. Prentice Hall, 2nd edition, 1988.
[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.
[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.
[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.
[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.
[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.
[22]
J. Wilkiewicz and M. Kulkarni. JSR 289: SIP servlet specification v1.1. http://jcp.org/aboutJava/communityprocess/final/jsr289.
[23]
R. Wirfs-Brock and A. McKean. Object Design: Roles, Responsibilities and Collaborations. Addison--Wesley, 2003.
[24]
P. Zave and E. Cheung. Compositional control of IP media. IEEE Trans. Softw. Eng., 35(1):46--66, 2009.
[25]
D. Zöbel. The deadlock problem: a classifying bibliography. SIGOPS Oper. Syst. Rev., 17(4):6--15, 1983.

Recommendations

Comments

Information & Contributors

Information

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
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

  • ICST: International Communication Sciences and Technology Association

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 04 July 2011

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article

Funding Sources

Conference

COMSWARE '11
Sponsor:
  • ICST

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 88
    Total Downloads
  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 17 Feb 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media