Skip to main content
Log in

Model-driven development of reactive information systems: from graph transformation rules to JML contracts

  • Special Section on Fundamental Approaches to Software Engineering
  • Published:
International Journal on Software Tools for Technology Transfer Aims and scope Submit manuscript

Abstract

The model-driven architecture focuses on the evolution and integration of applications across heterogeneous platforms by means of generating implementations from platform-independent models. Most of the existing realizations of this idea are limited to static models. We propose a model-driven approach to the development of reactive information systems, like dynamic Web pages or Web services, modeling their typical request-query-update-response pattern by means of graph transformation rules. Rather than generating executable code from these models we focus on the verification of the consistency between different sub-models and an implementation that may have been produced manually. The main technical tool for achieving this goal is a mapping of graph transformation rules to contracts expressed in the Java Modeling Language.

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.

Institutional subscriptions

Similar content being viewed by others

References

  1. From UML to Java and Back Again: The Fujaba homepage. www.upb.de/cs/isileit

  2. Antoy S., Hamlet R.G. (2000). Automatically checking an implementation against its formal specification. Softw. Eng. 26(1):55–69

    Article  Google Scholar 

  3. Binder, R. V.: Testing Object-Oriented Systems: Models, Patterns, and Tools. Object Technology Series. Addison Wesley, Reading (1999)

  4. Briand, L., Labiche, Y.: A UML-based approach to system testing. In: Gogolla, M., Kobryn, C. (eds) UML 2001 – The Unified Modeling Language. Modeling Languages, Concepts, and Tools., 4th International Conference, Toronto, Canada, October 1–5, 2001, Proceedings, LNCS, pp. 194–208. Springer, Berlin Heidelberg New York (2001)

  5. Burdy, L., Cheon, Y., Cok, D., Ernst, M. D., Kiniry, J., Leavens, G. T., Rustan, K., Leino, M., Poll, E.: An overview of JML tools and applications. Softw. Tools Technol. Transf. (2005)

  6. Cheon, Y., Leavens, G. T.: A runtime assertion checker for the Java Modeling Language (JML). In: Software Engineering Research and Practice (SERP 2002), pp. 322–328 (2002) 2002

  7. Cheon, Y., Leavens, G. T.: A simple and practical approach to unit testing: the jml and junit way. In: Proceedings of the 16th European Conference on Object-Oriented Programming, pp. 231–255. Springer, Berlin Heidelberg New York (2002)

  8. Engels, G., Küster, J.M., Groenewegen, L., Heckel, R.: A methodology for specifying and analyzing consistency of object-oriented behavioral models. In: Gruhn, V. (ed.) Proceedings of the European Software Engineering Conference (ESEC/FSE 01), Vienna, Austria. Lecture Notes in Computer Science, vol. 1301, pp. 327–343. Springer, Berlin Heidelberg New York (2001)

  9. Ermel, C., Rudolf, M., Taentzer, G.: The AGG approach: Language and tool environment. In: Ehrig, H., Engels, G., Kreowski, H.-J., Rozenberg, G. (eds.) Handbook of Graph Grammars and Computing by Graph Transformation, vol. 2: Applications, Languages, and Tools. World Scientific, Singapore (1999), pp. 551–601

  10. Fischer, T., Niere, J., Torunski, L., Zündorf, A.: Story diagrams: a new graph rewrite language based on the unified modeling language. In: Engels, G., Rozenberg, G. (eds.) Proceedings of the 6th International Workshop on Theory and Application of Graph Transformation (TAGT), Paderborn, Germany. LNCS 1764, pp. 296–309. Springer, Berlin Heidelberg New York (1998)

  11. Fischer, T., Niere, J., Torunski, L., Zündorf, A.: Story diagrams: A new graph transformation language based on UML and Java. vol. 1764, pp. 112–121. Springer, Berlin Heidelberg New York (2000)

  12. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns – Elements of Reusable Object-Oriented Software. Addsion-Wesley, Reading (1994)

  13. Harel D., Gery E. (1997). Executable object modeling with Statecharts. IEEE Comput. 30(7):31–42

    Google Scholar 

  14. Heckel, R. Engels, G., Ehrig, H., Taentzer, G.: A view-based approach to system modelling based on open graph transformation systems. In: Ehrig, H., Engels, G., Kreowski, H.-J., Rozenberg, G. (eds) Handbook of Graph Grammars and Computing by Graph Transformation, Vol. 2: Applications, Languages, and Tools. World Scientific, Singapore (1999)

  15. Heckel R., Llabrés M., Ehrig H., Orejas F. (2002). Concurrency and loose semantics of open graph transformation systems Math. Struct. Comput. Sci. 12, 349–376

    Article  MATH  Google Scholar 

  16. Heckel, R., Lohmann, M.: Towards model-driven testing. Electr. Notes Theor. Comput. Sci. 82(6) (2003)

  17. Heckel, R., Mariani, L.: Automatic conformance testing of web services. In: FASE, pp. 34–48, (2005)

  18. Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs (1985)

  19. Hoffmann, B., Minas, M.: A generic model for diagram syntax and semantics. In: Proceedings ICALP2000 Workshop on Graph Transformation and Visual Modelling Techniques, Geneva, Switzerland. Carleton Scientific, Waterloo (2000)

  20. Huisman, M.: Reasoning about Java Programs in higher order logic with PVS and Isabelle. PhD Thesis, University of Nijmegen, Holland, February 2001

  21. Jacobs, B.: Weakest precondition reasoning for Java programs with JML annotations. J. Logic Algebraic Program. (2003)

  22. Jacobs, B., Poll, E.: A logic for the java modeling language jml. In: Proceedings of the 4th International Conference on Fundamental Approaches to Software Engineering, pp. 284–299. Springer, Berlin Heidelberg New York (2001)

  23. Jacobs, B., van den Berg, J., Huisman, M., van Berkum, M., Hensel, U., Tews, H.: Reasoning about java classes: preliminary report. In: Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, pp. 329–340. ACM Press, New York (1998)

  24. Jacobson, I., Booch, G., Rumbaugh, J.: The Unified Software Development Process. Addison Wesley, Reading (1999)

  25. Leavens, G.T., Baker, A.L., Ruby, C.: Preliminary design of JML: A behavioral interface specification language for Java. Technical Report 98-06i, 2000

  26. Meyer B. (1990). Lessons from the design of the eiffel libraries. Commun. ACM 33(9):68–88

    Article  Google Scholar 

  27. Meyer, B.: Object-Oriented Software Construction 2nd edn. Prentice-Hall, Englewood Cliffs (1997)

  28. OMG; UML 2.0 Superstructure Specification, 2003

  29. Peters D.K., Parnas D.L. (1998). Using test oracles generated from program documentation. IEEE Trans. Softw. Eng. 24(3):161–173

    Article  Google Scholar 

  30. The Apache XML Project: Axis user’s guide. http://xml.apache.org/axis/, 2002

  31. Reddy, A.: Java coding style guide 2000. wwws.sun.com/software/sundev/whitepapers/java-style.pdf

  32. Rozenberg, G. (ed) Handbook of Graph Grammars and Computing by Graph Transformation, Volume 1: Foundations. World Scientific, Singapore (1997)

  33. Siegel, J.: Using omg’s model driven architecture (MDA) to integrate web services, 2002. http://www.omg.org/mda/mdafiles/MDA-WS-integrate-WP.pdf

  34. Siegel, J.: OMG Staff Strategy Group: Model driven architecture, revision 2.6, 2001. ftp://ftp.omg.org/pub/docs/omg/01-12-01.pdf

  35. Soley, R.: OMG Staff~Strategy Group: Model driven architecture, draft 3.2, 2000. ftp://ftp.omg.org/pub/docs/omg/00-11-05.pdf

  36. Sun Microsystems Inc. Java(tm) servlet specification 2.3 2001. http:://java.sun.com/products/servlet

  37. W3C: Soap version 1.2 part 1: Messaging framework 2002. http://www.w3.org/TR/2002/WD-soap12-part1-20020626/

  38. W3C: Xforms 1.0 W3C candidate recommendation 2002. http://www.w3.org/TR/2002/CR-xforms-20021112/

  39. Zündorf, A.: Graph pattern matching in progres. In: Selected papers from the 5th International Workshop on Graph Gramars and Their Application to Computer Science, pp. 454–468. Springer, Berlin Heidelberg New York (1996)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Marc Lohmann.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Heckel, R., Lohmann, M. Model-driven development of reactive information systems: from graph transformation rules to JML contracts. Int J Softw Tools Technol Transfer 9, 193–207 (2007). https://doi.org/10.1007/s10009-006-0020-z

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10009-006-0020-z

Keywords

Navigation