An Integrated Approach for Designing and Validating REST Web Service Compositions

Irum Rauf, Faezeh Siavashi, Dragos Truscan, Ivan Porres

2014

Abstract

We present an integrated approach to design and validate RESTful composite web services. We use the Unified Modeling Language (UML) to specify the requirements, behavior and published resources of each web service. In our approach, a service can invoke other services and exhibit complex and timed behavior while still complying with the REST architectural style. We show how to transform service specifications into UPPAAL timed automata for verification and test generation. The service requirements are propagated to the UPPAAL timed automata during the transformation. Their reachability is verified in UPPAAL and they are used for computing coverage level during test generation. We validate our approach with a case study of a holiday booking web service.

References

  1. (2013). Code coverage measurement for Python - coverage, v. 3.6. Online at https://pypi.python.org/pypi/ coverage. retrieved: 20.08.2013.
  2. (2013). Nomagic MagicDraw webpage at http:// www.nomagic.com/products/magicdraw/.
  3. Alur, R. et al. (1990). Model-checking for real-time systems. In Logic in Computer Science, 1990. LICS'90, Proceedings., Fifth Annual IEEE Symposium on e, pages 414-425. IEEE.
  4. Behrmann, G. et al. Uppaal 4.0. In QEST 7806 Proceedings of the 3rd international conference on the Quantitative Evaluation of Systems, pages 125 - 126. IEEE Computer Society Washington, DC, USA.
  5. Birgit Demuth, C. W. (2009). Model and Object Verification by Using Dresden OCL. In Proceedings of the Russian-German Workshop Innovation Information Technologies: Theory and Practice,, pages 81- 89.
  6. Bozkurt, M. and other (2010). Testing web services: A survey. Department of Computer Science, Kings College London, Tech. Rep. TR-10-01.
  7. Budgen, D., Burn, A. J., Brereton, O. P., Kitchenham, B. A., and Pretorius, R. (2011). Empirical evidence about the uml: a systematic literature review. Software: Practice and Experience, 41(4):363-392.
  8. Cambronero, M. et al. (2012). Wst: a tool supporting timed composite web services model transformation. Simulation, 88(3):349-364.
  9. Cambronero, M. E. et al. (2011). Validation and verification of web services choreographies by using timed automata. Journal of Logic and Algebraic Programming, 80(1):25-49.
  10. Clarke, E. M., Grumberg, O., and Long, D. E. (1994). Model checking and abstraction. ACM Transactions on Programming Languages and Systems (TOPLAS), 16(5):1512-1542.
  11. Diaz, G. et al. (2007). Model checking techniques applied to the design of web services. CLEI Electronic Journal, 10(2).
  12. Fu, X. et al. (2005). Synchronizability of conversations among web services. Software Engineering, IEEE Transactions on, 31(12):1042-1055.
  13. García-Fanjul, J. et al. (2006). Generating test cases specifications for BPEL compositions of web services using SPIN. In International Workshop on Web ServicesModeling and Testing (WS-MaTe 2006), page 83.
  14. Guermouche, N. and Godart, C. (2009). Timed model checking based approach for web services analysis. In Web Services, 2009. ICWS 2009. IEEE International Conference on, pages 213-221. IEEE.
  15. Hessel, A. et al. (2008). Testing Real-Time systems using UPPAAL. In Formal Methods and Testing, pages 77- 117. Springer-Verlag.
  16. Holovaty, A. and Kaplan-Moss, J. (2009). The Definitive Guide to Django: Web Development Done Right. Apress.
  17. Holzmann, G. J. (1997). The model checker SPIN. Software Engineering, IEEE Transactions on, 23(5):279-295.
  18. Huang, H. et al. (2005). Automated model checking and testing for composite web services. In ObjectOriented Real-Time Distributed Computing, 2005. ISORC 2005. Eighth IEEE International Symposium on, pages 300-307. IEEE.
  19. Ibrahim, N. and Al Ani, I. (2013). Beyond functional verification of web services compositions. Journal of Emerging Trends in Computing and Information Sciences, 4, Special Issue:25-30.
  20. Koskinen, M. et al. (2013). Combining Model-based Testing and Continuous Integration. In Proceddings of the International Conference on Software Engineering Advances (ICSEA 2013). IARIA. TO APPEAR.
  21. Lallali, M. et al. (2008). Automatic timed test case generation for web services composition. In on Web Services, 2008. ECOWS'08. IEEE Sixth European Conference, pages 53-62. IEEE.
  22. Larsen, K. G. et al. (1997). UPPAAL in a nutshell. International Journal on Software Tools for Technology Transfer (STTT), 1(1):134-152.
  23. Larsen, K. G. et al. (2009). UPPAAL Tron user manual. CISS, BRICS, Aalborg University, Aalborg, Denmark.
  24. Martin, D. et al. (2004). OWL-S: Semantic markup for web services. W3C member submission, 22:2007-04.
  25. Nobakht, M. and Truscan, D. (2013). An Approach for Validation, Verification, and Model-Based Testing of UML-Based Real-Time Systems. In Lavazza, L., Oberhauser, R., Martin, A., Hassine, J., Gebhart, M., and Jntti, M., editors, ICSEA 2013, The Eighth International Conference on Software Engineering Advances, pages 79-85. IARIA.
  26. Part, I. and Peschke, M. (2003). Design and validation of computer protocols.
  27. Porres, I. and Rauf, I. (2011). Modeling behavioral RESTful web service interfaces in UML. In Proceedings of the 2011 ACM Symposium on Applied Computing, pages 1598-1605. ACM.
  28. Rauf, I. et al. (2012). Analyzing Consistency of Behavioral REST Web Service Interfaces. In Silva, J. and Tiezzi, F., editors, The 8th International Workshop on Automated Specification and Verification of Web Systems, Electronic Proceedings in Theoretical Computer Science, page 115. EPTCS.
  29. Rauf, I. and Porres, I. (2011). Beyond CRUD. pages 117- 135.
  30. Rauf, I., Siavashi, F., Truscan, D., and Porres, I. (2013). An Integrated Approach to Design and Validate REST Web Service Compositions. Technical Report 1097.
  31. Richardson, L. and Ruby, S. (2008). RESTful web services. O'Reilly.
  32. Rusli, H. M. et al. (2011). Testing Web services composition: a mapping study. Communications of the IBIMA, 2007:34-48.
  33. UML, O. (2009). 2.2 Superstructure Specification. OMG ed. http://www.omg.org/spec/UML/2.2/.
  34. Utting, M. and Legeard, B. (2007). Practical Model-Based Testing: A Tools Approach. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA.
  35. Zhang, G. et al. (2011). Model checking for asynchronous web service composition based on xyz/adl. In Web Information Systems and Mining, pages 428-435. Springer.
  36. Zhu, X.-Y. and Tang, Z.-S. (2003). A temporal logic-based software architecture description language xyz/adl. Journal of Software, 14(4):713-720.
Download


Paper Citation


in Harvard Style

Rauf I., Siavashi F., Truscan D. and Porres I. (2014). An Integrated Approach for Designing and Validating REST Web Service Compositions . In Proceedings of the 10th International Conference on Web Information Systems and Technologies - Volume 1: WEBIST, ISBN 978-989-758-023-9, pages 104-115. DOI: 10.5220/0004949601040115


in Bibtex Style

@conference{webist14,
author={Irum Rauf and Faezeh Siavashi and Dragos Truscan and Ivan Porres},
title={An Integrated Approach for Designing and Validating REST Web Service Compositions},
booktitle={Proceedings of the 10th International Conference on Web Information Systems and Technologies - Volume 1: WEBIST,},
year={2014},
pages={104-115},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0004949601040115},
isbn={978-989-758-023-9},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 10th International Conference on Web Information Systems and Technologies - Volume 1: WEBIST,
TI - An Integrated Approach for Designing and Validating REST Web Service Compositions
SN - 978-989-758-023-9
AU - Rauf I.
AU - Siavashi F.
AU - Truscan D.
AU - Porres I.
PY - 2014
SP - 104
EP - 115
DO - 10.5220/0004949601040115