Berthold Hoffmann
University of Bremen
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Berthold Hoffmann.
Science of Computer Programming | 1999
Marc Andries; Gregor Engels; Annegret Habel; Berthold Hoffmann; Hans-Jörg Kreowski; Sabine Kuske; Andy Schürr; Gabriele Taentzer
The framework of graph transformation combines the potentials and advantages of both, graphs and rules, to a single computational paradigm. In this paper we present some recent developments in applying graph transformation as a rule-based framework for the specification and development of systems, languages, and tools. After reviewing the basic features of graph transformation, we discuss a selection of applications, including the evaluation of functional expressions, the specification of an interactive graphical tool, an example specification for abstract data types, and the definition of a visual database query language. The case studies indicate the need for suitable structuring principles which are independent of a particular graph transformation approach. To this end, we present the concept of a transformation unit, which allows systematic and structured specification and programming based on graph transformation.
Proceedings of the International Workshop on Algebraic and Logic Programming | 1988
Berthold Hoffmann
Jungles are acyclic hypergraphs that represent sets of terms over a signature so that equal subterms can be shared.
TSI. Technique et science informatiques | 1993
Berthold Hoffmann; Bernd Krieg-Brückner
The methodology of PROgram development by SPECification and TRAnsformation is described. The power of compact development methods using the transformational approach, as supported by the PROSPECTRA system, is illustrated by an example. The algebraic specification language is then described, focussing on its extension by higher order functions
foundations of software science and computation structure | 2000
Frank Drewes; Berthold Hoffmann
We present an approach for the rule-based transformation of hierarchically structured (hyper)graphs. In these graphs, distinguished hyperedges contain graphs that can be hierarchical again. Our framework extends the double-pushout approach from flat to hierarchical graphs. In particular, we show how to construct recursively pushouts and pushout complements of hierarchical graphs and graph morphisms. To further enhance the expressiveness of the approach, we also introduce rule schemata with variables which allow to copy and to remove hierarchical subgraphs.
international conference on graph transformation | 2006
Frank Drewes; Berthold Hoffmann; Dirk Janssens; Mark Minas; Niels Van Eetvelde
We propose an extension of node and hyperedge replacement grammars, called adaptive star grammars, and study their basic properties. A rule in an adaptive star grammar is actually a rule schema which, via the so-called cloning operation, yields a potentially infinite number of concrete rules. Adaptive star grammars are motivated by application areas such as modeling and refactoring object-oriented programs. We prove that cloning can be applied lazily. Unrestricted adaptive star grammars are shown to be capable of generating every type-0 string language. However, we identify a reasonably large subclass for which the membership problem is decidable.
ieee symposia on human centric computing languages and environments | 2001
Berthold Hoffmann
Diagrams can be represented by graphs, and the animation and transformation of diagrams can be modeled by graph transformation. This paper studies extensions of graphs and graph transformation that are important for programming with graphs: /spl middot/ We extend graphs by a notion of hierarchy that supports value composition, and define hierarchical graph transformation in an intuitive way that resembles term rewriting. /spl middot/ We require that admissable shapes for hierarchical graphs are specified by context free graph grammars, in order to set up a type discipline for shapely hierarchical graph transformation. The resulting computational model shall be the basis of the visual language DIAPLAN for programming with graphs that represent diagrams.
International Journal on Software Tools for Technology Transfer | 2010
Javier Pérez; Yania Crespo; Berthold Hoffmann; Tom Mens
This article proposes a case study to evaluate the suitability of graph transformation tools for program refactoring. To qualify for this purpose, a graph transformation system must be able to (1) import a graph-based representation of models of Java programs, (2) allow these models to be transformed interactively with well-known program refactorings and (3) export the resulting models in the same graph-based format used as input. The case study aims to enable comparison of various features of graph transformation tools, such as their expressiveness and their ability to interact with the user. The model of Java programs is presented and some examples for translating Java source code into the model are provided. The refactorings selected for the case study are specified in detail.
AGTIVE '99 Proceedings of the International Workshop on Applications of Graph Transformations with Industrial Relevance | 1999
Berthold Hoffmann
Graph transformation is a well studied computational model for specification and programming. In this paper we outline a path that can be taken in order to turn graph transformation into a rule-based language for programming with diagrams. In particular, we discuss how data ion and functional abstraction can be achieved in the setting of graphs, by minimal extensions of the underlying graph and transformation model.
Applications of Graph Transformations with Industrial Relevance | 2008
Frank Drewes; Berthold Hoffmann; Dirk Janssens; Mark Minas; Niels Van Eetvelde
Since the systematic evolution of graph-like program models has become important in software engineering, graph transformation has gained much attention in this area. For specifying model evolution concisely, graph transformation rules should be as expressive as possible. The generic rules proposed in this paper may contain placeholders for graphs of varying number and shape. Expansion of these placeholders by graphs yields the actual transformation rules to be applied. Even rather complex transformations occurring in real-life applications, such as the Pull-Up-Method refactoring operation, can be specified by a single generic rule.
formal methods | 2005
Berthold Hoffmann
Variables make rule-based systems more abstract and expressive, as witnessed by term rewriting systems and two-level grammars. In this paper we show that variables can be used to define advanced ways of graph transformation as well. Taking the gluing approach to graph transformation [7,3] as a basis, we consider extensions of rules with attribute variables, clone variables, and graph variables, respectively. In each case, the variables in a rule are instantiated in order to obtain a set of rule instances that in turn defines the transformation relation. By combining different kinds of variables, we define very expressive rules, and reduce them to plain rules by instantiation. Since gluing graph transformation has a well developed theory, this opens the door to lift results of that theory from instances to rules with variables.