Skip to main content
Log in

Synthesizing Distributed Protocol Specifications from a UML State Machine Modeled Service Specification

  • Regular Paper
  • Published:
Journal of Computer Science and Technology Aims and scope Submit manuscript

Abstract

The object-oriented paradigm is widely applied in designing and implementing communication systems. Unified Modeling Language (UML) is a standard language used to model the design of object-oriented systems. A protocol state machine is a UML adopted diagram that is widely used in designing communication protocols. It has two key attractive advantages over traditional finite state machines: modeling concurrency and modeling nested hierarchical states. In a distributed communication system, each entity of the system has its own protocol that defines when and how the entity exchanges messages with other communicating entities in the system. The order of the exchanged messages must conform to the overall service specifications of the system. In object-oriented systems, both the service and the protocol specifications are modeled in UML protocol state machines. Protocol specification synthesis methods have to be applied to automatically derive the protocol specification from the service specification. Otherwise, a time-consuming process of design, analysis, and error detection and correction has to be applied iteratively until the design of the protocol becomes error-free and consistent with the service specification. Several synthesis methods are proposed in the literature for models other than UML protocol state machines, and therefore, because of the unique features of the protocol state machines, these methods are inapplicable to services modeled in UML protocol state machines. In this paper, we propose a synthesis method that automatically synthesizes the protocol specification of distributed protocol entities from the service specification, given that both types of specifications are modeled in UML protocol state machines. Our method is based on the latest UML version (UML2.3), and it is proven to synthesize protocol specifications that are syntactically and semantically correct. As an example application, the synthesis method is used to derive the protocol specification of the H.323 standard used in Internet calls.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Lai R, Jirachiefpattana A. Communication Protocol Specification and Verification. Springer-Verlag, 1998.

  2. Probert R, Saleh K. Synthesis of communication protocols: Survey and assessment. IEEE Transactions on Computers, 1991, 40(4): 468–476.

    Article  Google Scholar 

  3. Khoumsi A, Bochmann G V, Dssouli R. On specifying services and synthezing protocols for real-time applications. In Proc. the 14th of IFIP International Symposium on Protocol Specification, Testing and Verification, June 1994, pp.185-200.

  4. Kakuda Y, Nakamura M, Kikuno T. Automated synthesis of protocol specifications from service specifications with parallely executable multiple primitives. IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences, 1994, E77-A (10): 1634–1645.

    Google Scholar 

  5. Bista B, Shiratori N. Construction of a multiple entities communication protocol by compositional approach. In Proc. the 12th Int. Workshop on Database and Expert Systems Applications, September 2001, pp.162-166.

  6. Maneerat N, Varakulsiripunth R, Seki D, Yoshida K, Takahashi K, Kato Y, Bista B B, Shiratori N. Composition method of communication system specifications in asynchronous model and its support system. In Proc. the 9th IEEE International Conference on Networks, October 2001, pp.64-69.

  7. Yamaguchi H, El-Fakih K, von Bochmann G, Higashino T. Protocol synthesis and re-synthesis with optimal allocation of resources based on extended Petri nets. Distributed Computing, 2003, 16(1): 21–35.

    Article  Google Scholar 

  8. Maneerat N, Varakulsiripunth R, Bista B, Takahashi K, Kato Y, Shiratori N. Composition of service and protocol specifications in asynchronous communication system. IEICE Transactions on Information and Systems, 2004, E87-D (10): 2306–2317.

    Google Scholar 

  9. Al Dallal J. Automatic synthesis of timed protocol specifications from service specifications. WSEAS Transactions on Computers, 2006, 5(1): 105–112.

    Google Scholar 

  10. Stakhanova N, Basu S, Zhang W, Wang X, Wong J. Specification synthesis for monitoring and analysis of MANET protocols. In Proc. the 21st AINA Workshops, May 2007, Vol.1, pp.183-187.

  11. Al Dallal J, Saleh K. Service-oriented synthesis of distributed and concurrent protocol specifications. Journal of Computer Systems, Networks, and Communications, 2008, Article No.794960.

  12. Al Dallal J, Saleh K. State-expansion-based techniques for synthesizing concurrent protocol specifications in distributed systems. International Journal of Communication Systems, 2012, in press.

  13. Fayed M, Laitinen M. Transition to Object-Oriented Software Development (1st edition), Wiley, 1998.

  14. Jepsen T, Anjum F, Bhat R, Jain R, Sharma A, Tait D. Java in Telecommunications: Solutions for Next Generation Networks. Wiley, 2001.

  15. Schmidt D, Huston S. C++ Network Programming: Systematic Reuse with ACE and Frameworks (Vol.2). Addison-Wesley Professional, 2002.

  16. Dezani-ciancaglini M, Mostrous D, Yoshida N, Drossopoulou S. Session types for object oriented languages. In Proc. the 6th European Conference on Object-Oriented Programming, July 2006, pp.328-352.

  17. Herzberg D, Reichert T. Software engineering for telecommunications systems. In Wiley Encyclopedia of Computer Science and Engineering, Wah B W (ed.), Wiley, 2009.

  18. Hu R, Yoshida N, Honda K. Session-based distributed programming in Java. In Proc. the 22nd European Conference on Object-Oriented Programming, July 2008, pp.516-541.

  19. Noor A. Distributed Java mobile information system. Communications of the IBIMA, 2009, 10: 127–132.

    Google Scholar 

  20. Porres I, Rauf I. From nondeterministic UML protocol statemachines to class contracts. In Proc. the 3rd ICST, April 2010, pp.107-116.

  21. Object management group. Documents associated with UML Version 2.3, http://www.omg.org/spec/UML/2.3/, July 2011.

  22. Björklund D, Lilius J, Porres I. Towards efficient code synthesis from statecharts. In Proc. Workshop of the pUML-Group, Oct. 2001, pp.29-41.

  23. Bahri M, Hettab A, Chaoui A, Kerkouche E. Transforming mobile UML statecharts models to nested nets models using graph grammars: An approach for modeling and analysis of mobile agent-based software systems. In Proc. the 4th South-East European Workshop on Formal Methods, November 2009, pp.33-39.

  24. Basso R. Wireless sensor networks in a vehicle environment [Master Thesis]. Department of Computer Science and Engineering, Chalmers University of Technology and University of Gothenburg, 2009.

  25. B’Far R. Mobile Computing Principles: Designing and Developing Mobile Applications with UML and XML. Cambridge University Press, 2004.

  26. Carvalho G, Rodrigues R, Frances C, Costa J, Carvalho S. Modelling and performance evaluation of wireless networks. In Proc. the 11th Int. Conference on Telecommunications, August 2004, pp.595-600.

  27. Kumar B, Jasperneite J. Industrial communication protocol engineering using UML 2.0: A case study. In Proc. the 7th IEEE International Workshop on Factory Communication Systems, May 2008, pp.247-250.

  28. Kumar B, Jasperneite J. UML profiles for modeling real-time communication protocols. Journal of Object Technology, 2010, 9(2): 178–198.

    Article  Google Scholar 

  29. Lai A, Peng G, Tong H, Zhang G H, Bin H. Bluetooth host controller interface (HCI) using the Unified Modeling LanguageTM (UMLTM). Technical Report, Institute of Communications Research, Singapore, 2002.

  30. Mahoney M, Elrad T. Distributing statecharts to handle pervasive crosscutting concerns. In Proc. 2005 Workshop on Building Software for Pervasive Systems, October 2005.

  31. Popovic M. Communication Protocol Engineering. CRC Press, 2006.

  32. Thramboulidis K, Mikroyannidis A. Using UML for the design of communication protocols: The TCP case study. In Proc. the 11th International Conference on Software, Telecommunications, and Computer Networks, October 2003.

  33. Barrera D. Communicating Systems with UML 2: Modeling and Analysis of Network Protocols. ISTE and John Wiley & Sons, 2011.

  34. Ali J, Tanaka J. Converting statecharts into Java code. In Proc. the 4th World Conf. Integrated Design and Process Technology, June 1999.

  35. Niaz I. Automatic code generation from UML class and statechart diagrams [Ph.D. Thesis]. University of Tsukuba, Japan, 2005.

  36. Niaz I, Tanaka J. Mapping UML statecharts to Java code. In Proc. International Conf. Software Engineering, February 2004, pp.111-116.

    Google Scholar 

  37. Niaz I, Tanaka J. An object-oriented approach to generate Java code from UML statecharts. International Journal of Computer & Information Science, 2005, 6(2): 83–98.

    Google Scholar 

  38. Tiella R, Villaflorita A, Tomasi S. FSMC+, a tool for the generation of Java code from statecharts. In Proc. the 5th International Symp. Principles and Practice of Programming in Java, September 2007, pp.93-102.

  39. Wagstaff K, Peters K, Scharenbroich L. From protocol specification to statechart to implementation. Jet Propulsion Laboratory Technical Report CL08-4014, 2008.

  40. Wasowski A. On efficient program synthesis from statecharts. In Proc. ACM SIGPLAN Conf. Languages, Compilers, and Tools for Embedded Systems, June 2003, pp.163-170.

  41. Boutekkouk F. Automatic SystemC code generation from UML models at early stages of systems on chip design. Int. Journal of Computer Applications, 2010, 8(6): 10–17.

    Article  Google Scholar 

  42. Kaliappan P, Koenig H, Kaliappan V. Designing and verifying communication protocols using model driven architecture and spin model checker. In Proc. IEEE Int. Conf. Computer Science and Software Engineering, December 2008, pp.13-19.

  43. Drusinsky D. Modeling and Verification Using UML Statecharts: A Working Guide to Reactive System Design, Runtime Monitoring and Execution-Based Model Checking. Newnes, 2006.

  44. Amblard P, Lagnier F, Levy M. Finite state machines: Composition, verification, minimization: A case study. In Proc. the 10th International Conference on Mixed Design, June 2003.

  45. Prashanth C, Shet K. Verification of protocol design using UML — SMV. World Academy of Science, Engineering and Technology, 2009, 36: 544–548.

    Google Scholar 

  46. Saleh K, Probert R. Automatic synthesis of protocol specifications from service specifications. In Proc. the 10th IEEE International Phoenix Conference on Computers and Communications, March 1991, pp.615-621.

  47. El-Fakih K, Yamaguchi H, Bochmann G, Higashino T. Petri net-based protocol synthesis with minimum communication costs. Journal of the Franklin Institute, 2006, 343(4–5): 501–520.

    Article  Google Scholar 

  48. Yamaguchi H, El-Fakih K, Bochmann G, Higashino T. Deriving protocol specification from service specifications written as predicate/transition-nets. Computer Networks, 2007, 51(1): 258–284.

    Article  MATH  Google Scholar 

  49. Bista B, Takahashi K, Shiratori N. Composition of service and protocol specifications. In Proc. the 15th International Conference on Information Networking, Feb. 2001, pp.171-178.

  50. Miles R, Hamilton K. Learning UML 2.0 (1st edition), O’Reilly Media, 2006.

  51. Ma J, Yu S. Practical rules for reduction on the number of states of a state diagram. In Proc. Technology of Object-Oriented Languages Conference, August 1998, pp.46-55.

  52. An Z, Peters D. Statecharts reduction and composition with properties. In Proc. Newfoundland Electrical and Computer Engineering Conference, November 2005.

  53. Rosen K. Handbook of Discrete and Combinatorial Mathematics. CRC Press, 2000.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jehad Al Dallal.

Additional information

This work is supported by Kuwait University under Research Grant No. WI03/10.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Al Dallal, J., Saleh, K.A. Synthesizing Distributed Protocol Specifications from a UML State Machine Modeled Service Specification. J. Comput. Sci. Technol. 27, 1150–1168 (2012). https://doi.org/10.1007/s11390-012-1293-1

Download citation

  • Received:

  • Revised:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11390-012-1293-1

Keywords

Navigation