Temporal Graph Queries to Support Software Evolution

  • Tobias Rötschke
  • Andy Schürr
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4178)


Graph transformation techniques have already been used successfully by several research groups to support re-engineering of large legacy systems. Where others often aim at transforming the system to improve it, we advocate an evolutionary approach that embeds transformations within the ordinary development process and provides tool support to monitor the ongoing progress regularly. In this paper, we discuss how temporal graph queries based on Fujaba story diagrams can provide a natural means to express trend-oriented metrics and consistency rules that we identified in our industrial case studies. To this end, we discuss a first-order logic rather than operational interpretation of a graph queries and show how well-known temporal logic operators can be added to express rules over consecutive states of the same instance graph.


Temporal Logic Graph Transformation Atomic Proposition Graph Grammar Graph Query 
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.
    Zündorf, A.: Rigorous Object Oriented Software Development. University of Paderborn, Habilitation Thesis (2001)Google Scholar
  2. 2.
    Pratt, T.W.: Pair Grammars, Graph Languages and String-to-Graph Translations. Journal of Computer and System Sciences 5, 560–595 (1971)zbMATHMathSciNetCrossRefGoogle Scholar
  3. 3.
    Rötschke, T.: Re-engineering a Medical Imaging System Using Graph Transformations. In: Pfaltz, J.L., Nagl, M., Böhlen, B. (eds.) AGTIVE 2003. LNCS, vol. 3062, pp. 185–201. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  4. 4.
    Schürr, A., Winter, A.J., Zündorf, A.: The PROGRES Approach: Language and Environment. In: Ehrig, H., Engels, G., Kreowski, H.J., Rozenberg, G. (eds.) Handbook of Graph Grammars and Computing by Graph Transformation, vol. 2, pp. 487–550. World Scientific Publishing, Singapore (1999)Google Scholar
  5. 5.
    Amelunxen, C., Königs, A., Rötschke, T., Schürr, A.: MOFLON: A Standard-Compliant Metamodeling Framework with Graph Transformations. In: Proc. European Conference on Model-Driven Architecture (accepted for publication, 2006)Google Scholar
  6. 6.
    Dixon, C., Fischer, M., Barringer, H.: A Graph-Based Approach to Resolution in Temporal Logic. In: Gabbay, D.M., Ohlbach, H.J. (eds.) ICTL 1994. LNCS, vol. 827, pp. 415–429. Springer, Heidelberg (1994)CrossRefGoogle Scholar
  7. 7.
    Cremer, K., Marburger, A., Westfechtel, B.: Graph-Based Tools for Re-Engineering. Journal of Software Maintenance 14(4), 257–292 (2002)zbMATHCrossRefGoogle Scholar
  8. 8.
    Jahnke, J., Wadsack, J.: Integration of Analysis and Redesign Activities in Information System Reengineering. In: Proc. of the 3rd European Conference on Software Maintenance and Reengineering (CSMR 1999), pp. 160–168. IEEE Computer Society Press, Los Alamitos (1999)CrossRefGoogle Scholar
  9. 9.
    Gyapay, S., Heckel, R., Varró, D.: Graph Transformation with Time: Causality and Logical Clocks. Fundamenta Informaticae 58(1), 1–22 (2003)zbMATHMathSciNetGoogle Scholar
  10. 10.
    Burmester, S., Giese, H., Hirsch, M., Schilling, D., Tichy, M.: The FUJABA Real-Time Tool Suite: Model-Driven Development of Safety-Critical Real-Time Systems. In: Proc. 27th ICSE, pp. 670–671. ACM Press, New York (2005)Google Scholar
  11. 11.
    Koch, M.: Integration of Graph Transformation and Temporal Logic for the Specification of Distributed Systems. PhD thesis, TU Berlin (1999)Google Scholar
  12. 12.
    Gadducci, F., Heckel, R., Koch, M.: A Fully Abstract Model for Graph-Interpreted Temporal Logic. In: Ehrig, H., Engels, G., Kreowski, H.-J., Rozenberg, G. (eds.) TAGT 1998. LNCS, vol. 1764, pp. 310–322. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  13. 13.
    Bottoni, P., Koch, M., Parisi-Presicce, F., Taentzer, G.: A Visualization of OCL Using Collaborations. In: Gogolla, M., Kobryn, C. (eds.) UML 2001. LNCS, vol. 2185, pp. 257–271. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  14. 14.
    Howse, J., Molina, F., Taylor, J.: On the Completeness and Expressiveness of Spider Diagram Systems. In: [17], pp. 26–41 (2000)Google Scholar
  15. 15.
    Conrad, S., Turowski, K.: Specification of Business Components Using Temporal OCL. In: Favre, L. (ed.) UML and the Unified Process, pp. 48–65. IRM Press/IDEA Group Publishing (2003)Google Scholar
  16. 16.
    Flake, S., Müller, W.: An OCL Extension for Real-Time Constraints. In: Clark, A., Warmer, J. (eds.) Object Modeling with the OCL. LNCS, vol. 2263, pp. 150–171. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  17. 17.
    Anderson, M., Cheng, P., Haarslev, V. (eds.) Diagrams 2000. LNCS, vol. 1889. Springer, Heidelberg (2000)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Tobias Rötschke
    • 1
  • Andy Schürr
    • 1
  1. 1.Real-Time Systems LabDarmstadt University of Technology 

Personalised recommendations