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.
Similar content being viewed by others
References
From UML to Java and Back Again: The Fujaba homepage. www.upb.de/cs/isileit
Antoy S., Hamlet R.G. (2000). Automatically checking an implementation against its formal specification. Softw. Eng. 26(1):55–69
Binder, R. V.: Testing Object-Oriented Systems: Models, Patterns, and Tools. Object Technology Series. Addison Wesley, Reading (1999)
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)
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)
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
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)
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)
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
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)
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)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns – Elements of Reusable Object-Oriented Software. Addsion-Wesley, Reading (1994)
Harel D., Gery E. (1997). Executable object modeling with Statecharts. IEEE Comput. 30(7):31–42
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)
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
Heckel, R., Lohmann, M.: Towards model-driven testing. Electr. Notes Theor. Comput. Sci. 82(6) (2003)
Heckel, R., Mariani, L.: Automatic conformance testing of web services. In: FASE, pp. 34–48, (2005)
Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs (1985)
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)
Huisman, M.: Reasoning about Java Programs in higher order logic with PVS and Isabelle. PhD Thesis, University of Nijmegen, Holland, February 2001
Jacobs, B.: Weakest precondition reasoning for Java programs with JML annotations. J. Logic Algebraic Program. (2003)
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)
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)
Jacobson, I., Booch, G., Rumbaugh, J.: The Unified Software Development Process. Addison Wesley, Reading (1999)
Leavens, G.T., Baker, A.L., Ruby, C.: Preliminary design of JML: A behavioral interface specification language for Java. Technical Report 98-06i, 2000
Meyer B. (1990). Lessons from the design of the eiffel libraries. Commun. ACM 33(9):68–88
Meyer, B.: Object-Oriented Software Construction 2nd edn. Prentice-Hall, Englewood Cliffs (1997)
OMG; UML 2.0 Superstructure Specification, 2003
Peters D.K., Parnas D.L. (1998). Using test oracles generated from program documentation. IEEE Trans. Softw. Eng. 24(3):161–173
The Apache XML Project: Axis user’s guide. http://xml.apache.org/axis/, 2002
Reddy, A.: Java coding style guide 2000. wwws.sun.com/software/sundev/whitepapers/java-style.pdf
Rozenberg, G. (ed) Handbook of Graph Grammars and Computing by Graph Transformation, Volume 1: Foundations. World Scientific, Singapore (1997)
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
Siegel, J.: OMG Staff Strategy Group: Model driven architecture, revision 2.6, 2001. ftp://ftp.omg.org/pub/docs/omg/01-12-01.pdf
Soley, R.: OMG Staff~Strategy Group: Model driven architecture, draft 3.2, 2000. ftp://ftp.omg.org/pub/docs/omg/00-11-05.pdf
Sun Microsystems Inc. Java(tm) servlet specification 2.3 2001. http:://java.sun.com/products/servlet
W3C: Soap version 1.2 part 1: Messaging framework 2002. http://www.w3.org/TR/2002/WD-soap12-part1-20020626/
W3C: Xforms 1.0 W3C candidate recommendation 2002. http://www.w3.org/TR/2002/CR-xforms-20021112/
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)
Author information
Authors and Affiliations
Corresponding author
Rights 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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10009-006-0020-z