Skip to main content

Showing 1–24 of 24 results for author: Plump, D

Searching in archive cs. Search in all archives.
.
  1. arXiv:2503.20465  [pdf, other

    cs.PL cs.LO cs.PF

    Linear-Time Graph Programs without Preconditions

    Authors: Ziad Ismaili Alaoui, Detlef Plump

    Abstract: We report on a recent breakthrough in rule-based graph programming, which allows us to reach the time complexity of imperative linear-time algorithms. In general, achieving the complexity of graph algorithms in conventional languages using graph transformation rules is challenging due to the cost of graph matching. Previous work demonstrated that with rooted rules, certain algorithms can be execut… ▽ More

    Submitted 26 March, 2025; originally announced March 2025.

    Comments: In Proceedings GCM 2023 and 2024, arXiv:2503.19632. arXiv admin note: substantial text overlap with arXiv:2501.09144

    ACM Class: D.3.4; F.2

    Journal ref: EPTCS 417, 2025, pp. 39-54

  2. arXiv:2501.09144  [pdf, other

    cs.PL cs.PF

    Rule-Based Graph Programs Matching the Time Complexity of Imperative Algorithms

    Authors: Ziad Ismaili Alaoui, Detlef Plump

    Abstract: We report on a recent breakthrough in rule-based graph programming, which allows us to match the time complexity of some fundamental imperative graph algorithms. In general, achieving the complexity of graph algorithms in conventional languages using graph transformation rules is challenging due to the cost of graph matching. Previous work demonstrated that with rooted rules, certain algorithms ca… ▽ More

    Submitted 15 January, 2025; originally announced January 2025.

    ACM Class: D.3.4; F.2

  3. Random Graph Generation in Context-Free Graph Languages

    Authors: Federico Vastarini, Detlef Plump

    Abstract: We present a method for generating random hypergraphs in context-free hypergraph languages. It is obtained by adapting Mairson's generation algorithm for context-free string grammars to the setting of hyperedge replacement grammars. Our main results are that for non-ambiguous hyperedge replacement grammars, the method generates hypergraphs uniformly at random and in quadratic time. We illustrate o… ▽ More

    Submitted 1 October, 2024; originally announced October 2024.

    Comments: In Proceedings DCM 2023, arXiv:2409.19298

    Journal ref: EPTCS 408, 2024, pp. 107-120

  4. Formalising the Double-Pushout Approach to Graph Transformation

    Authors: Robert Söldner, Detlef Plump

    Abstract: In this paper, we utilize Isabelle/HOL to develop a formal framework for the basic theory of double-pushout graph transformation. Our work includes defining essential concepts like graphs, morphisms, pushouts, and pullbacks, and demonstrating their properties. We establish the uniqueness of derivations, drawing upon Rosens 1975 research, and verify the Church-Rosser theorem using Ehrigs and Kreows… ▽ More

    Submitted 5 October, 2024; v1 submitted 25 December, 2023; originally announced December 2023.

    Journal ref: Logical Methods in Computer Science, Volume 20, Issue 4 (October 4, 2024) lmcs:12748

  5. Time and Space Measures for a Complete Graph Computation Model

    Authors: Brian Courtehoute, Detlef Plump

    Abstract: We present a computation model based on a subclass of GP 2 graph programs which can simulate any off-line Turing machine of space complexity O(s(n) log s(n)) in space O(s(n)). The simulation only requires a quadratic time overhead. Our model shares this property with Schönhage's storage modification machines and Kolmogorov-Uspenskii machines. These machines use low-level pointer instructions where… ▽ More

    Submitted 22 December, 2022; originally announced December 2022.

    Comments: In Proceedings GCM 2022, arXiv:2212.10975

    Journal ref: EPTCS 374, 2022, pp. 23-44

  6. Towards Mechanised Proofs in Double-Pushout Graph Transformation

    Authors: Robert Söldner, Detlef Plump

    Abstract: We formalise the basics of the double-pushout approach to graph transformation in the proof assistant Isabelle/HOL and provide associated machine-checked proofs. Specifically, we formalise graphs, graph morphisms and rules, and a definition of direct derivations based on deletion and gluing. We then formalise graph pushouts and prove with Isabelle's help that both deletions and gluings are pushout… ▽ More

    Submitted 22 December, 2022; originally announced December 2022.

    Comments: In Proceedings GCM 2022, arXiv:2212.10975

    ACM Class: F.4.1; F.4.2; G.2.2

    Journal ref: EPTCS 374, 2022, pp. 59-75

  7. A Small-Step Operational Semantics for GP 2

    Authors: Brian Courtehoute, Detlef Plump

    Abstract: The operational semantics of a programming language is said to be small-step if each transition step is an atomic computation step in the language. A semantics with this property faithfully corresponds to the implementation of the language. The previous semantics of the graph programming language GP 2 is not fully small-step because the loop and branching commands are defined in big-step style. In… ▽ More

    Submitted 21 December, 2021; originally announced December 2021.

    Comments: In Proceedings GCM 2021, arXiv:2112.10217

    Journal ref: EPTCS 350, 2021, pp. 89-110

  8. arXiv:2101.01842  [pdf, other

    cs.LO

    Confluence up to Garbage in Graph Transformation

    Authors: Graham Campbell, Detlef Plump

    Abstract: The transformation of graphs and graph-like structures is ubiquitous in computer science. When a system is described by graph-transformation rules, it is often desirable that the rules are both terminating and confluent so that rule applications in an arbitrary order produce unique resulting graphs. However, there are application scenarios where the rules are not globally confluent but confluent o… ▽ More

    Submitted 5 January, 2021; originally announced January 2021.

    Comments: 33 pages, 2021

  9. arXiv:2012.11394  [pdf, ps, other

    cs.PL cs.DS

    Fast Rule-Based Graph Programs

    Authors: Graham Campbell, Brian Courtehoute, Detlef Plump

    Abstract: Implementing graph algorithms efficiently in a rule-based language is challenging because graph pattern matching is expensive. In this paper, we present a number of linear-time implementations of graph algorithms in GP 2, an experimental programming language based on graph transformation rules which aims to facilitate program analysis and verification. We focus on two classes of rule-based graph p… ▽ More

    Submitted 4 January, 2021; v1 submitted 21 December, 2020; originally announced December 2020.

    Comments: 47 pages, 2020

  10. A Fast Graph Program for Computing Minimum Spanning Trees

    Authors: Brian Courtehoute, Detlef Plump

    Abstract: When using graph transformation rules to implement graph algorithms, a challenge is to match the efficiency of programs in conventional languages. To help overcome that challenge, the graph programming language GP 2 features rooted rules which, under mild conditions, can match in constant time on bounded degree graphs. In this paper, we present an efficient GP 2 program for computing minimum spann… ▽ More

    Submitted 2 December, 2020; originally announced December 2020.

    Comments: In Proceedings GCM 2020, arXiv:2012.01181

    Journal ref: EPTCS 330, 2020, pp. 163-180

  11. Verifying Graph Programs with First-Order Logic

    Authors: Gia S. Wulandari, Detlef Plump

    Abstract: We consider Hoare-style verification for the graph programming language GP 2. In previous work, graph properties were specified by so-called E-conditions which extend nested graph conditions. However, this type of assertions is not easy to comprehend by programmers that are used to formal specifications in standard first-order logic. In this paper, we present an approach to verify GP 2 programs wi… ▽ More

    Submitted 2 December, 2020; originally announced December 2020.

    Comments: In Proceedings GCM 2020, arXiv:2012.01181. arXiv admin note: substantial text overlap with arXiv:2010.14549

    Journal ref: EPTCS 330, 2020, pp. 181-200

  12. arXiv:2010.14549  [pdf, ps, other

    cs.LO

    Verifying Graph Programs with First-Order Logic (Extended Version)

    Authors: Gia Wulandari, Detlef Plump

    Abstract: We consider Hoare-style verification for the graph programming language GP 2. In previous work, graph properties were specified by so-called E-conditions which extend nested graph conditions. However, this type of assertions is not easy to comprehend by programmers that are used to formal specifications in standard first-order logic. In this paper, we present an approach to verify GP 2 programs wi… ▽ More

    Submitted 2 November, 2020; v1 submitted 27 October, 2020; originally announced October 2020.

    Comments: Extended version of a paper to appear at GCM 2020 post-proceeding

  13. arXiv:2010.03993  [pdf, ps, other

    cs.PL

    The Improved GP 2 Compiler

    Authors: Graham Campbell, Jack Romo, Detlef Plump

    Abstract: GP 2 is a rule-based programming language based on graph transformation rules which aims to facilitate program analysis and verification. Writing efficient programs in such a language is challenging because graph matching is expensive. GP 2 addresses this problem by providing rooted rules which, under mild conditions, can be matched in constant time. Recently, we implemented a number of changes to… ▽ More

    Submitted 4 January, 2021; v1 submitted 6 October, 2020; originally announced October 2020.

    Comments: 11 pages, 2020. arXiv admin note: substantial text overlap with arXiv:2002.02914

    MSC Class: 68Q42; 68N20

  14. arXiv:2002.02914  [pdf, ps, other

    cs.PL cs.LO

    Improving the GP 2 Compiler

    Authors: Graham Campbell, Jack Romo, Detlef Plump

    Abstract: GP 2 is an experimental programming language based on graph transformation rules which aims to facilitate program analysis and verification. Writing efficient programs in such a language is hard because graph matching is expensive, however GP 2 addresses this problem by providing rooted rules which, under mild conditions, can be matched in constant time using the GP 2 to C compiler. In this report… ▽ More

    Submitted 1 January, 2021; v1 submitted 7 February, 2020; originally announced February 2020.

    Comments: Technical Report, Department of Computer Science, University of York, 42 pages, 2019

    MSC Class: 68Q42; 68N20

  15. arXiv:1912.08966   

    cs.LO cs.FL

    Proceedings Tenth International Workshop on Graph Computation Models

    Authors: Rachid Echahed, Detlef Plump

    Abstract: This volume contains the post-proceedings of the Tenth International Workshop on Graph Computation Models (GCM 2019: http://gcm2019.imag.fr). The workshop was held in Eindhoven, The Netherlands, on July 17th, 2019, as part of STAF 2019 (Software Technologies: Applications and Foundations). Graphs are common mathematical structures that are visual and intuitive. They constitute a natural and s… ▽ More

    Submitted 18 December, 2019; originally announced December 2019.

    Journal ref: EPTCS 309, 2019

  16. arXiv:1911.12884  [pdf, other

    cs.LO cs.CC cs.SC

    Efficient Recognition of Graph Languages

    Authors: Graham Campbell, Detlef Plump

    Abstract: Graph transformation is the rule-based modification of graphs, and is a discipline dating back to the 1970s. In general, to match the left-hand graph of a fixed rule within a host graph requires polynomial time, but to improve matching performance, Dörr proposed to equip rules and host graphs with distinguished root nodes. This model was implemented by Plump and Bak, but unfortunately, such rules… ▽ More

    Submitted 1 January, 2021; v1 submitted 28 November, 2019; originally announced November 2019.

    Comments: Project Report, Department of Computer Science, University of York, 83 pages, 2019. arXiv admin note: substantial text overlap with arXiv:1906.05170

    MSC Class: 68Q42

  17. Evolving Graphs with Semantic Neutral Drift

    Authors: Timothy Atkinson, Detlef Plump, Susan Stepney

    Abstract: We introduce the concept of Semantic Neutral Drift (SND) for genetic programming (GP), where we exploit equivalence laws to design semantics preserving mutations guaranteed to preserve individuals' fitness scores. A number of digital circuit benchmark problems have been implemented with rule-based graph programs and empirically evaluated, demonstrating quantitative improvements in evolutionary per… ▽ More

    Submitted 3 February, 2020; v1 submitted 24 October, 2018; originally announced October 2018.

  18. arXiv:1705.02171  [pdf, ps, other

    cs.LO cs.PL

    A Unification Algorithm for GP 2 (Long Version)

    Authors: Ivaylo Hristakiev, Detlef Plump

    Abstract: The graph programming language GP 2 allows to apply sets of rule schemata (or "attributed" rules) non-deterministically. To analyse conflicts of programs statically, graphs labelled with expressions are overlayed to construct critical pairs of rule applications. Each overlay induces a system of equations whose solutions represent different conflicts. We present a rule-based unification algorithm f… ▽ More

    Submitted 5 May, 2017; originally announced May 2017.

    Comments: This paper is an extended version of the workshop paper "A Unification Algorithm for GP 2", published in Graph Computation Models (GCM 2014), Revised Selected Papers, Electronic Communications of the EASST, volume 71, 2015, doi: 10.14279/tuj.eceasst.71.1002

    ACM Class: F.3.1

  19. Reasoning about Graph Programs

    Authors: Detlef Plump

    Abstract: GP 2 is a non-deterministic programming language for computing by graph transformation. One of the design goals for GP 2 is syntactic and semantic simplicity, to facilitate formal reasoning about programs. In this paper, we demonstrate with four case studies how programmers can prove termination and partial correctness of their solutions. We argue that GP 2's graph transformation rules, together w… ▽ More

    Submitted 12 September, 2016; originally announced September 2016.

    Comments: In Proceedings TERMGRAPH 2016, arXiv:1609.03014

    Journal ref: EPTCS 225, 2016, pp. 35-44

  20. A Reference Interpreter for the Graph Programming Language GP 2

    Authors: Christopher Bak, Glyn Faulkner, Detlef Plump, Colin Runciman

    Abstract: GP 2 is an experimental programming language for computing by graph transformation. An initial interpreter for GP 2, written in the functional language Haskell, provides a concise and simply structured reference implementation. Despite its simplicity, the performance of the interpreter is sufficient for the comparative investigation of a range of test programs. It also provides a platform for the… ▽ More

    Submitted 10 April, 2015; originally announced April 2015.

    Comments: In Proceedings GaM 2015, arXiv:1504.02448

    Journal ref: EPTCS 181, 2015, pp. 48-64

  21. Verifying Monadic Second-Order Properties of Graph Programs

    Authors: Christopher M. Poskitt, Detlef Plump

    Abstract: The core challenge in a Hoare- or Dijkstra-style proof system for graph programs is in defining a weakest liberal precondition construction with respect to a rule and a postcondition. Previous work addressing this has focused on assertion languages for first-order properties, which are unable to express important global properties of graphs such as acyclicity, connectedness, or existence of paths.… ▽ More

    Submitted 16 June, 2014; v1 submitted 22 May, 2014; originally announced May 2014.

    Comments: Extended version of a paper to appear at ICGT 2014

    Journal ref: Proc. International Conference on Graph Transformation (ICGT 2014), volume 8571 of LNCS, pages 33-48. Springer, 2014

  22. arXiv:1302.5997   

    cs.SC cs.LO

    Proceedings 7th International Workshop on Computing with Terms and Graphs

    Authors: Rachid Echahed, Detlef Plump

    Abstract: This volume contains the proceedings of the Seventh International Workshop on Computing with Terms and Graphs (TERMGRAPH 2013). The workshop took place in Rome, Italy, on March 23rd, 2013, as part of the sixteenth edition of the European Joint Conferences on Theory and Practice of Software (ETAPS 2013). Research in term and graph rewriting ranges from theoretical questions to pr… ▽ More

    Submitted 25 February, 2013; originally announced February 2013.

    Journal ref: EPTCS 110, 2013

  23. The Design of GP 2

    Authors: Detlef Plump

    Abstract: This papers defines the syntax and semantics of GP 2, a revised version of the graph programming language GP. New concepts are illustrated and explained with example programs. Changes to the first version of GP include an improved type system for labels, a built-in marking mechanism for nodes and edges, a more powerful edge predicate for conditional rule schemata, and functions returning the indeg… ▽ More

    Submitted 24 April, 2012; originally announced April 2012.

    Comments: In Proceedings WRS 2011, arXiv:1204.5318

    Journal ref: EPTCS 82, 2012, pp. 1-16

  24. The Semantics of Graph Programs

    Authors: Detlef Plump, Sandra Steinert

    Abstract: GP (for Graph Programs) is a rule-based, nondeterministic programming language for solving graph problems at a high level of abstraction, freeing programmers from handling low-level data structures. The core of GP consists of four constructs: single-step application of a set of conditional graph-transformation rules, sequential composition, branching and iteration. We present a formal semantics fo… ▽ More

    Submitted 23 March, 2010; originally announced March 2010.

    Journal ref: EPTCS 21, 2010, pp. 27-38