Abstract
Service-oriented computing is distinguished by its use of dynamic discovery and binding for the integration of services at runtime. This poses a challenge for testing, in particular, of the interaction between services.
We propose a model-driven solution to address this challenge. Service descriptions are promoted from largely syntactical to behavioural specifications of services in terms of contracts (pre-conditions and effects of operations), expressed in a visual UML-like notion. Through mappings to semantic web languages and the Java Modelling Language (JML) contracts support the automatic discovery of services as well as the derivation of test cases and their execution and monitoring.
We discuss an extended life cycle model for services based on the model-driven approach and illustrate its application using a model of a hotel reservation service.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Apache. Axis. http://ws.apache.org/axis/.
P. Baldan, B. König, and I. Stürmer. Generating test cases for code generators by unfolding graph transformation systems. In proceedings of the 2nd International Conference on Graph Transformation, Rome, Italy, 2004.
L. Baresi and R. Heckel. Tutorial introduction to graph transformation: a software engineering perspective. In proceedings of the International Conference on Graph Transformation, volume 1 of LNCS. Springer, 2002.
M. Barnett, K. R. M. Leino, and W. Schulte. The spec# programming system: An overview. In CASSIS 2004, volume 3362 of LNCS. Springer-Verlag, 2004.
B. Benatallah, M.-S. Hacid, C. Rey, and F. Toumani. Semantic reasoning for web services discovery. In proceedings of the WWW 2003 Workshop on E-Services and the Semantic Web (ESSW’ 03), 2003.
A. Bertolino, L. Frantzen, A. Polini, and J. Tretmans. Architecting Systems with Trustworthy Components, chapter Audition of Web Services for Testing Conformance to Open Specified Protocols. Number 3938 in Lectures Notes in Computer Science Series. Springer, 2006.
D. Booth, H. Haas, F. McCabe, E. Newcomer, C. Michael, C. Ferris, and D. Orchard. Web services architecture - W3C working group note 11 february 2004. Technical report, W3C, 2004.
P. Bottoni, M. Koch, F. Parisi-Presicce, and G. Taentzer. A visualization of OCL using collaborations. In M. Gogolla and C. Kobryn, editors, proceedings of the 4th International Conference on The Unified Modeling Language, Modeling Languages, Concepts, and Tools, volume 2185 of Lecture Notes In Computer Science, pages 257–271. Springer-Verlag, 2001.
L. Burdy, Y. Cheon, D. Cok, M. Ernst, J. Kiniry, G. T. Leavens, K. R. M. Leino, and E. Poll. An overview of JML tools and applications. International Journal on Software Tools for Technology Transfer (STTT), February 2005.
G. Canfora and M. D. Penta. Testing services and service-centric systems: Challenges and opportunities. IEEE IT Pro, pages 10–17, March/April 2006.
R. Chinnici, J.-J. Moreau, A. Ryman, and S. Weerawarana. Web services description language (WSDL) version 2.0 part 1: Core language - W3C working draft 10 may 2005, May 2005.
D. Connolly, F. van Harmelen, I. Horrocks, D. L. McGuinness, P. F. Patel-Schneider, and L. A. Stein. DAML+OIL (march 2001) reference description - W3C note 18 december 2001, March 2001.
A. Corradini, U. Montanari, F. Rossi, H. Ehrig, R. Heckel, and M. Lö we. Chapter 3: Algebraic approaches to graph transformation - part I: Basic concepts and double pushout approach. In G. Rozenberg, editor, Handbook of Graph Grammars of Computing by Graph Transformation. World Scientific, 1997.
G. Engels, B. Güldali, O. Juwig, M. Lohmann, and J.-P. Richter. Industrielle Fallstudie: Einsatz visueller Kontrakte in serviceorientierten Architekturen. In B. Biel, M. Book, and V. Gruhn, editors, Software Enginneering 2006, Fachtagung des GI Fachbereichs Softwaretechnik, volume 79 of Lecture Notes in Informatics, pages 111–122. Köllen Druck+Verlag GmbH, 2006.
G. Engels, R. Heckel, G. Taentzer, and H. Ehrig. A view-oriented approach to system modelling based on graph transformation. In proceedings of the 6th European Conference held jointly with the International Symposium on Foundations of Software Engineering, pages 327–343. Springer-Verlag, 1997.
G. Engels, M. Lohmann, S. Sauer, and R. Heckel. Model-driven monitoring: An application of graph transformation for design by contract. In proceedings of the Third International Conference on Graph Transformations (ICGT 2006), volume 4178 of Lecture Notes in Computer Science, pages 336–350. Springer, 2006.
J. Fan and S. Kambhampati. A snapshot of public web services. SIGMOD Record, 34(1):24–32, March 2005.
T. Fischer, J. Niere, L. Torunski, and A. Zündorf. Story diagrams: A new graph rewrite language based on the Unified Modeling Language. In H. Ehrig, G. Engels, H.-J. Kreowski, and G. Rozenberg, editors, Selected papers from the 6th International Workshop on Theory and Application of Graph Transformations (TAGT), volume 1764 of Lecture Notes In Computer Science, pages 296–309. Springer Verlag, 1998.
P. Frankl and E. Weyuker. An applicable family of data flow testing criteria. IEEE Transactions on Software Engineering, 14(10):1483–1498, 1988.
A. Habel, R. Heckel, and G. Taentzer. Graph grammars with negative application conditions. Fundamenta Informaticae, 26(3,4):287–313, 1996.
A. Hamie. Translating the object constraint language into the java modeling language. In proceedings of the 2004 ACM symposium on Applied computing, pages 1531–1535. ACM Press, 2004.
J. Hartmann, C. Imoberdorf, and M. Meisinger. Uml-based integration testing. In proceedings of the 2000 international symposium on Software testing and analysis (ISSTA), pages 60–70. ACM Press, 2000.
J. H. Hausmann, R. Heckel, and M. Lohmann. Model-based discovery of Web Services. In proceedings of the International Conference on Web Services (ICWS), 2004.
J. H. Hausmann, R. Heckel, and M. Lohmann. Model-based development of web services descriptions enabling a precise matching concept. International Journal of Web Services Research, 2(2):67–84, April-June 2005.
R. Heckel and M. Lohmann. Model-driven development of reactive informations systems: From graph transformation rules to JML contracts. International Journal on Software Tools for Technology Transfer (STTT), 2006.
R. Heckel and L. Mariani. Automatic conformance testing of web services. In proceedings of the 8th International Conference on Fundamental Approaches to Software Engineering (FASE). Springer-Verlag, 2005.
Hewlett-Packard Development Company. Jena - a semantic web framework for Java. http://jena.sourceforge.net/.
J. Howse, F. Molina, J. Tayloy, S. Kent, and J. Gil. Spider diagrams: A diagrammatic reasoning system. Journal of Visual Languages and Computing, 12(3):299–324, June 2001.
H. Hussmann, B. Demuth, and F. Finger. Modular architecture for a toolset supporting OCL. Science of Computer Programming, 44:51–69, 2002.
B. Jeng and E. Weyuker. A simplified domain-testing strategy. ACM Transactions on Software Engineering and Methodology, 3:254–270, 1994.
S. Kent and J. Howse. Mixing visual and textual constraint languages. In R. France and B. Rumpe, editors, proceedings of International Conference on The Unified Modeling Language (UML’99), volume 1723 of Lecture Notes in Computer Science, pages 384–398. Springer, 1999.
A. Kühnel. Visual C# 2005. Galileo Computing, 2006.
G. T. Leavens, A. L. Baker, and C. Ruby. Preliminary design of JML: A behavioral interface specification language for Java. Technical Report 98-06-rev27, Department of Computer Science, Iowa State University, February 2005.
M. Lohmann, G. Engels, and S. Sauer. Model-driven monitoring: Generating assertions from visual contracts. In proceedings of the 21st IEEE International Conference on Automated Software Engineering (ASE’06), pages 355–356, September 2006.
M. Lohmann, J.-P. Richter, G. Engels, B. Güldali, O. Juwig, and S. Sauer. Abschlussbericht: Semantische Beschreibung von Enterprise Services - Eine industrielle Fallstudie. Technical Report 1, Software Quality Lab (s-lab), Unversity of Paderborn, May 2006.
M. Lohmann, S. Sauer, and G. Engels. Executable visual contracts. In M. Erwig and A. Schürr, editors, proceedings of the 2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC’05), pages 63–70, 2005.
B. Meyer. Applying “Design by Contract”. IEEE Computer, 25(10):40–51, 1992.
B. Meyer. Object-Oriented Software Construction. Prentice-Hall, Englewood Cliffs, second edition, 1997.
N. Mitra. SOAP version 1.2 part 0: Primer - W3C recommendation 24 june 2003, Juni 2003.
OMG (Object Management Group). UML 2.0 OCL final adopted specification, 2003.
OMG (Object Management Group). UML 2.0 superstructure specification - revised final adopted specification, 2004.
M. Paolucci, T. Kawmura, T. R. Payne, and K. Sycara. Semantic matching of web services capabilities. In I. Horrocks and J. A. Hendler, editors, proceedings of the First International Semantic Web Conference on the Semantic Web, volume Lecture Notes In Computer Science; Vol. 2342, pages 333–347, Sardinia, Italy, 2002. Springer-Verlag.
M. Pezzè and M. Young. Software Test and Analysis: Process, Principles and Techniques. John Wiley and Sons, 2007.
M. Raacke. Generierung von spec#-code aus visuellen kontrakten, October 2006. Bachelor Thesis at the University of Paderborn.
A. Reddy. Java coding style guide. Technical report, 2000.
A. Rensink. The GROOVE simulator: A tool for state space generation. In 2nd Intl. Workshop on Applications of Graph Transformations with Industrial Relevance, volume 3062 of LNCS, pages 479–485. Springer, 2004.
A. Schürr, A. J. Winter, and A. Zündorf. The PROGRES approach: language and environment. In Handbook of graph grammars and computing by graph transformation: vol.2: applications, languages, and tools, pages 487–550. World Scientific, 1999.
A. Seaborne. RDQL - a query language for RDF - W3C member submission 9 january 2004. Technical report, W3C, 2004.
K. Sivashanmugam, K. Verma, A. Sheth, and J. Miller. Adding semantics to web services standards. In L.-J. Zhang, editor, proceedings of the International Conference on Web Services, ICWS ’03, pages 395–401, Las Vegas, Nevada, USA, 2003. CSREA Press.
O. U. S. TC. UDDI version 3.0.2. OASIS standard, Organization for the Advancement of Structured Information Standards, 2004.
Technical University Berlin. The attributed graph grammar system (AGG). http://tfs.cs.tu-berlin.de/agg/.
W. Tsai, R. Paul, Z. Cao, L. Yu, A. Saimi, and B. Xiao. Verification of web services using an enhanced UDDI server. In proceedings of the IEEE International Workshop on Object-oriented Real-time Dependable systems, 2003.
E. Weyuker and B. Jeng. Analyzing partition testing strategies. IEEE Transactions on Software Engineering, 17:703–711, 1991.
L. White and E. Cohen. A domain strategy for computer program testing. IEEE Transactions on Software Engineering, 6:247–257, 1980.
J. Winkelmann, G. Taentzer, K. Ehrig, and J. Küster. Translation of restricted OCL constraints into graph constraints for generating meta model instances by graph grammars. In proceedings of the International Workshop on the Graph Transformation and Visual Modeling Techniques, Electronic Notes in Theoretical Computer Science, 2006.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Lohmann, M., Mariani, L., Heckel, R. (2007). A Model-Driven Approach to Discovery, Testing and Monitoring of Web Services. In: Baresi, L., Nitto, E.D. (eds) Test and Analysis of Web Services. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-72912-9_7
Download citation
DOI: https://doi.org/10.1007/978-3-540-72912-9_7
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-72911-2
Online ISBN: 978-3-540-72912-9
eBook Packages: Computer ScienceComputer Science (R0)