Hostname: page-component-8448b6f56d-dnltx Total loading time: 0 Render date: 2024-04-19T20:36:58.127Z Has data issue: false hasContentIssue false

Correctness of high-level transformation systems relative to nested conditions

Published online by Cambridge University Press:  01 April 2009

ANNEGRET HABEL
Affiliation:
Computing Science, D-26111 Oldenburg, Germany Email: habel@Informatik.Uni-Oldenburg.de; pennemann@Informatik.Uni-Oldenburg.de
KARL-HEINZ PENNEMANN
Affiliation:
Computing Science, D-26111 Oldenburg, Germany Email: habel@Informatik.Uni-Oldenburg.de; pennemann@Informatik.Uni-Oldenburg.de

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.

Type
Paper
Copyright
Copyright © Cambridge University Press 2009

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

References

Adámek, J., Herrlich, H. and Strecker, G. (1990) Abstract and Concrete Categories, John Wiley.Google Scholar
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.Google Scholar
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.Google Scholar
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.CrossRefGoogle Scholar
Courcelle, B. (1990) Graph rewriting: An algebraic and logical approach. In Handbook of Theoretical Computer Science, volume B, Elsevier 193242.Google Scholar
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.CrossRefGoogle Scholar
Dijkstra, E. W. (1975) A Discipline of Programming, Prentice-Hall.Google Scholar
Dijkstra, E. W. and Scholten, C. S. (1989) Predicate Calculus and Program Semantics, Springer-Verlag.Google Scholar
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.CrossRefGoogle Scholar
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.Google Scholar
Ehrig, H., Ehrig, K., Prange, U. and Taentzer, G. (2006) Fundamentals of Algebraic Graph Transformation, EATCS Monographs of Theoretical Computer Science, Springer-Verlag.Google Scholar
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.CrossRefGoogle Scholar
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.CrossRefGoogle Scholar
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.Google Scholar
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.CrossRefGoogle Scholar
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).Google Scholar
Habel, A., Heckel, R. and Taentzer, G. (1996) Graph grammars with negative application conditions. Fundamenta Informaticae 26 287313.CrossRefGoogle Scholar
Habel, A., Müller, J. and Plump, D. (2001) Double-pushout graph transformation revisited. Mathematical Structures in Computer Science 11 (5)637688.CrossRefGoogle Scholar
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.CrossRefGoogle Scholar
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.CrossRefGoogle Scholar
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.CrossRefGoogle Scholar
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.CrossRefGoogle Scholar
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.CrossRefGoogle Scholar
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.CrossRefGoogle Scholar
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.CrossRefGoogle Scholar
Löwe, M. (1993) Algebraic approach to single-pushout graph transformation. Theoretical Computer Science 109 181224.CrossRefGoogle Scholar
Orejas, F. (2008) Attributed graph constraints. In: Graph Transformations (ICGT'08). To appear in Springer-Verlag Lecture Notes in Computer Science.Google Scholar
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.CrossRefGoogle Scholar
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.CrossRefGoogle Scholar
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.Google Scholar
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.CrossRefGoogle Scholar
Rensink, A. (2004) Representing first-order logic by graphs. In: Graph Transformations (ICGT'04). Springer-Verlag Lecture Notes in Computer Science 3256 319335.CrossRefGoogle Scholar
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.)Google Scholar
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.Google Scholar