Model-Driven Monitoring: An Application of Graph Transformation for Design by Contract

  • Gregor Engels
  • Marc Lohmann
  • Stefan Sauer
  • Reiko Heckel
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4178)


The model-driven development (MDD) approach for constructing software systems advocates a stepwise refinement and transformation process starting from high-level models to concrete program code. In contrast to numerous research efforts that try to generate executable function code from models, we propose a novel approach termed model-driven monitoring. Here, models are used to specify minimal requirements and are transformed into assertions on the code level for monitoring hand-coded programs during execution.

We show how well-understood results from the graph transformation community can be deployed to support this model-driven monitoring approach. In particular, models in the form of visual contracts are defined by graph transitions with loose semantics, while the automatic transformation from models to JML assertions on the code level is defined by strict graph transformation rules. Both aspects are supported and realized by a dedicated Eclipse plug-in.


Model Transformation Class Diagram Graph Transformation Java Modeling Language Eclipse Modeling Framework 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Meservy, T., Fenstermacher, K.D.: Transforming software development: An MDA road map. Computer 38(9), 52–58 (2005)CrossRefGoogle Scholar
  2. 2.
    OMG (Object Management Group): Request for proposal: Mof 2.0 query / views / transformations rfp (2002)Google Scholar
  3. 3.
    Meyer, B.: Applying “Design by Contract”. IEEE Computer 25(10), 40–51 (1992)Google Scholar
  4. 4.
    Meyer, B.: Eiffel: The Language, 2nd edn. Prentice-Hall, Englewood Cliffs (1992)zbMATHGoogle Scholar
  5. 5.
    Leavens, G.T., Baker, A.L., Ruby, C.: Preliminary design of JML: A behavioral interface specification language for Java. Technical Report 98-06-rev27, Department of Computer Science, Iowa State University (2005)Google Scholar
  6. 6.
    Heckel, R., Ehrig, H., Wolter, U., Corradini, A.: Double-pullback transitions and coalgebraic loose semantics for graph transformation systems. APCS (Applied Categorical Structures) 9(1), 83–110 (2001)zbMATHCrossRefMathSciNetGoogle Scholar
  7. 7.
    Ehrig, H., Pfender, M., Schneider, H.: Graph grammars: an algebraic approach. In: 14th Annual IEEE Symposium on Switching and Automata Theory, pp. 167–180. IEEE, Los Alamitos (1973)CrossRefGoogle Scholar
  8. 8.
    Engels, G., Güldali, B., Juwig, O., Lohmann, M., Richter, J.P.: Industrielle Fallstudie: Einsatz visueller Kontrakte in serviceorientierten Architekturen. In: Biel, B., Book, M., Gruhn, V. (eds.) Software Enginneering 2006, Fachtagung des GI Fachbereichs Softwaretechnik. Lecture Notes in Informatics, vol. 79, pp. 111–122. Köllen Druck, Verlag GmbH (2006)Google Scholar
  9. 9.
    Lohmann, M., Richter, J.P., Engels, G., Güldali, B., Juwig, O., Sauer, S.: Abschlussbericht: Semantische Beschreibung von Enterprise Services - Eine industrielle Fallstudie. Technical Report 1, Software Quality Lab, Unversity of Paderborn (2006)Google Scholar
  10. 10.
    Jacobson, I., Booch, G., Rumbaugh, J.: The Unified Software Development Process. Addison-Wesley, Reading (1999)Google Scholar
  11. 11.
    Habel, A., Heckel, R., Taentzer, G.: Graph grammars with negative application conditions. Fundamenta Informaticae 26(3,4), 287–313 (1996)zbMATHMathSciNetGoogle Scholar
  12. 12.
    Lohmann, M., Sauer, S., Engels, G.: Executable visual contracts. In: Erwig, M., Schürr, A. (eds.) 2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC 2005), pp. 63–70 (2005)Google Scholar
  13. 13.
    Heckel, R., Lohmann, M.: Model-driven development of reactive informations systems: From graph transformation rules to JML contracts. International Journal on Software Tools for Technology Transfer (STTT) (accepted for publication, 2006)Google Scholar
  14. 14.
    Zündorf, A.: Graph pattern matching in progres. In: Cuny, J., Engels, G., Ehrig, H., Rozenberg, G. (eds.) Graph Grammars 1994. LNCS, vol. 1073. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  15. 15.
    Heckel, R., Küster, J.M., Taentzer, G.: Towards automatic translation of UML models into semantic domains. In: Kreowski, H.J., Knirsch, P. (eds.) Proceedings of the Appligraph Workshop on Applied Graph Transformation (2002)Google Scholar
  16. 16.
    Eclipse Consortium: Eclipse graphical editing framework (GEF) - version 3.1.1 (2006),
  17. 17.
    Eclipse Consortium: Eclipse modeling framework (EMF) - version 2.1.2 (2006),
  18. 18.
    Eclipse Consortium: Java emitter templates (JET). Eclipse Modeling Framework (EMF) - Version 2.1.1 (2006),

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Gregor Engels
    • 1
    • 2
    • 3
  • Marc Lohmann
    • 1
  • Stefan Sauer
    • 1
    • 3
  • Reiko Heckel
    • 4
  1. 1.Department of Computer ScienceUniversity of PaderbornPaderbornGermany
  2. AG, software design & managementRatingenGermany
  3. 3.Software Quality LabUniversity of PaderbornPaderbornGermany
  4. 4.Department of Computer ScienceUniversity of LeicesterLeicesterUnited Kingdom

Personalised recommendations