Skip to main content
×
×
Home

Correctness of high-level transformation systems relative to nested conditions

  • ANNEGRET HABEL (a1) and KARL-HEINZ PENNEMANN (a1)
Abstract

In this paper we introduce the notions of nested constraints and application conditions, short nested conditions. For a category associated with a graphical representation such as graphs, conditions are a graphical and intuitive, yet precise, formalism that is well suited to describing structural properties. We show that nested graph conditions are expressively equivalent to first-order graph formulas. A part of the proof includes transformations between two satisfiability notions of conditions, namely -satisfiability and -satisfiability. We consider a number of transformations on conditions that can be composed to construct constraint-guaranteeing and constraint-preserving application conditions, weakest preconditions and strongest postconditions. The restriction of rule applications by conditions can be used to correct transformation systems by pruning transitions leading to states violating given constraints. Weakest preconditions and strongest postconditions can be used to verify the correctness of transformation systems with respect to pre- and postconditions.

Copyright
References
Hide All
Adámek, J., Herrlich, H. and Strecker, G. (1990) Abstract and Concrete Categories, John Wiley.
Azab, K. and Habel, A. (2008) High-level programs and program conditions. In: Graph Transformations (ICGT 2008). To appear in Springer-Verlag Lecture Notes in Computer Science.
Azab, K., Habel, A., Pennemann, K.-H. and Zuckschwerdt, C. (2006) ENFORCe: A system for ensuring formal correctness of high-level programs. In: Proc. 3rd. Int. Workshop on Graph Based Tools (GraBaTs'06). Electronic Communications of the EASST 1.
Corradini, A., Montanari, U., Rossi, F., Ehrig, H., Heckel, R. and Löwe, M. (1997) Algebraic approaches to graph transformation. Part I: Basic concepts and double pushout approach. In: Handbook of Graph Grammars and Computing by Graph Transformation, volume 1, World Scientific 163245.
Courcelle, B. (1990) Graph rewriting: An algebraic and logical approach. In Handbook of Theoretical Computer Science, volume B, Elsevier 193242.
Courcelle, B. (1997) The expression of graph properties and graph transformations in monadic second-order logic. In: Handbook of Graph Grammars and Computing by Graph Transformation, volume 1, World Scientific 313400.
Dijkstra, E. W. (1975) A Discipline of Programming, Prentice-Hall.
Dijkstra, E. W. and Scholten, C. S. (1989) Predicate Calculus and Program Semantics, Springer-Verlag.
Ehrig, H. (1979) Introduction to the algebraic theory of graph grammars. In: Graph-Grammars and Their Application to Computer Science and Biology. Springer-Verlag Lecture Notes in Computer Science 73 169.
Ehrig, H., Ehrig, K., Habel, A. and Pennemann, K.-H. (2006) Theory of constraints and application conditions: From graphs to high-level structures. Fundamenta Informaticae 74 (1)135166.
Ehrig, H., Ehrig, K., Prange, U. and Taentzer, G. (2006) Fundamentals of Algebraic Graph Transformation, EATCS Monographs of Theoretical Computer Science, Springer-Verlag.
Ehrig, H. and Habel, A. (1986) Graph grammars with application conditions. In: Rozenberg, G. and Salomaa, A. (eds.) The Book of L, Springer-Verlag 87100.
Ehrig, H., Habel, A., Kreowski, H.-J. and Parisi-Presicce, F. (1991) Parallelism and concurrency in high level replacement systems. Mathematical Structures in Computer Science 1 361404.
Ehrig, H., Habel, A., Padberg, J. and Prange, U. (2006) Adhesive high-level replacement systems: A new categorical framework for graph transformation. Fundamenta Informaticae 74 129.
Ehrig, H., Heckel, R., Korff, M., Löwe, M., Ribeiro, L., Wagner, A. and Corradini, A. (1997) Algebraic approaches to graph transformation. Part II: Single-pushout approach and comparison with double pushout approach. In: Handbook of Graph Grammars and Computing by Graph Transformation, volume 1, World Scientific 247312.
European Telecommunications Standards Institute (1998) Digital cellular telecommunications system (Phase 2+); Handover procedures. Technical Specification, ETSI TS 100 527 V7.0.0 1999-08 (GSM 03.09 version 7.0.0 Release 1998).
Habel, A., Heckel, R. and Taentzer, G. (1996) Graph grammars with negative application conditions. Fundamenta Informaticae 26 287313.
Habel, A., Müller, J. and Plump, D. (2001) Double-pushout graph transformation revisited. Mathematical Structures in Computer Science 11 (5)637688.
Habel, A. and Pennemann, K.-H. (2005) Nested constraints and application conditions for high-level structures. In: Formal Methods in Software and System Modeling. Springer-Verlag Lecture Notes in Computer Science 3393 293308.
Habel, A. and Pennemann, K.-H. (2006) Satisfiability of high-level conditions. In: Graph Transformations (ICGT 2006). Springer-Verlag Lecture Notes in Computer Science 4178 430444.
Habel, A., Pennemann, K.-H. and Rensink, A. (2006) Weakest preconditions for high-level programs. In: Graph Transformations (ICGT 2006). Springer-Verlag Lecture Notes in Computer Science 4178 445460.
Heckel, R. and Wagner, A. (1995) Ensuring consistency of conditional graph grammars – a constructive approach. In: Proc. Workshop on Graph Rewriting and Computation (SEGRAGRA'95). Electronic Notes in Theoretical Computer Science 2 95104.
Koch, M., Mancini, L. V. and Parisi-Presicce, F. (2005) Graph-based specification of access control policies. Journal of Computer and System Sciences 71 133.
Koch, M. and Parisi-Presicce, F. (2002) Describing policies with graph constraints and rules. In: Graph Transformation (ICGT 2002). Springer-Verlag Lecture Notes in Computer Science 2505 223238.
Lack, S. and Sobociński, P. (2004) Adhesive categories. In: Proc. of Foundations of Software Science and Computation Structures (FOSSACS'04). Springer-Verlag Lecture Notes in Computer Science 2987 273288.
Löwe, M. (1993) Algebraic approach to single-pushout graph transformation. Theoretical Computer Science 109 181224.
Orejas, F. (2008) Attributed graph constraints. In: Graph Transformations (ICGT'08). To appear in Springer-Verlag Lecture Notes in Computer Science.
Orejas, F., Ehrig, H. and Prange, U. (2008) A logic of graph constraints. In: Proc. Fundamental Approaches to Software Engineering (FASE'08). Springer-Verlag Lecture Notes in Computer Science 4961 179–19.
Pennemann, K.-H. (2008a) An algorithm for approximating the satisfiability problem of high-level conditions. In: Proc. Graph Transformation for Verification and Concurrency (GT-VC'07). Electronic Notes in Theoretical Computer Science 213 7594.
Pennemann, K.-H. (2008b) Resolution-like theorem proving for high-level conditions. In: Graph Transformations (ICGT'08). To appear in Springer-Verlag Lecture Notes in Computer Science.
Plump, D. and Steinert, S. (2004) Towards graph programs for graph algorithms. In: Graph Transformations (ICGT'04). Springer-Verlag Lecture Notes in Computer Science 3256 128143.
Rensink, A. (2004) Representing first-order logic by graphs. In: Graph Transformations (ICGT'04). Springer-Verlag Lecture Notes in Computer Science 3256 319335.
Trakhtenbrot, B. A. (1950) The impossibility of an algorithm for the decision problem on finite classes (in Russian). Doklady Akademii Nauk SSSR 70 569572. (English translation in: Nine Papers on Logic and Quantum Electrodynamics (1963) AMS Transl. Ser. 2 23 1–5.)
Zuckschwerdt, C. (2006) Ein System zur Transformation von Konsistenz in Anwendungsbedingungen (in German). Berichte aus dem Department für Informatik, Universität Oldenburg 11/06, 114 pages.
Recommend this journal

Email your librarian or administrator to recommend adding this journal to your organisation's collection.

Mathematical Structures in Computer Science
  • ISSN: 0960-1295
  • EISSN: 1469-8072
  • URL: /core/journals/mathematical-structures-in-computer-science
Please enter your name
Please enter a valid email address
Who would you like to send this to? *
×

Metrics

Full text views

Total number of HTML views: 0
Total number of PDF views: 25 *
Loading metrics...

Abstract views

Total abstract views: 204 *
Loading metrics...

* Views captured on Cambridge Core between September 2016 - 22nd June 2018. This data will be updated every 24 hours.