^{†}

André Borrmann

This article was submitted to Computational Methods in Structural Engineering, a section of the journal Frontiers in Built Environment

This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.

Capturing human knowledge underlying the design and engineering of products has been among the main goals of computational engineering since its very beginning. Over the last decades, various approaches have been proposed to tackle this objective. Among the most promising approaches is the application of graph theory for representing product structures by defining nodes representing entities and edges representing relations among them. The concrete meaning of these structures ranges from geometry representations over hierarchical product breakdowns to functional descriptions and flows of information or resources. On top of these graph structures, graph rewriting techniques provide another powerful layer of technology. By enabling the formal definition of rules for transforming graph structures, they allow on the one hand side to formally capture the engineering development process. On the other hand, the assembly of rewriting rules into graph grammars allows for an exhaustive search of the solution space of the engineering problem at hand. In combination with search strategies, an automated optimization of the design under given constraints and objectives can be realized. The paper provides an overview of the current state-of-the-art in graph rewriting and its applications in engineering design, with a focus on the built environment. It concludes with a discussion of the progress achieved and the missing research gaps.

With the advance of modern information technology, computers take over work that was considered to be reserved for humans. Initially, repetitive and error-prone tasks in data processing were significantly accelerated, while computation today complements human intelligence in domains requiring creativity. To this end, graphs have proven their capabilities and flexibility to provide the necessary representations for numerous real-world problems. As a data structure, graphs provide a rich foundation to represent engineering product models with entities of arbitrarily abstract and concrete meaning. In the same context, the manipulation of graphs was investigated for decades and proven to be powerful for complex problems in various domains. Most prominently, the method of graph rewriting is well established to capture manipulation patterns in the form of rules.

Solving a design problem by graph rewriting methods requires twofold: a graph representation of particular world entities and rewriting rules that operate on this model to manipulate its nodes, edges, and their attributes. The rules formalize domain knowledge by declaring design processes as graphlets consisting each of a conditional and a rewriting pattern. Once formalized, mature software frameworks ensure an efficient application of the rules to evolve the design representation. Graph rewriting allows an engineer to define a design not directly as an end result, but in terms of a procedural construction history. Arranging the rules in a flow they may be applied in, an engineering product can be gradually synthesized. In order to generate an illustrative variety of a prior unknown design, the engineer may vary the rules selected, the matches chosen, and variable parameters along that flow. The exploration of such a solution space may suggest creative, new ideas and then may be further restricted. This is achieved by either specifying the generation process or by directed stochastic search.

Originally, all rewriting methods emerged from linguistics (

Instead, several other frameworks emerged around the millennium.

In this review paper, we aim to break down this broad and extensive research field to the essential technological and conceptual questions. At a first glance, graph rewriting methods and the covering frameworks may appear very abstract. Yet, treating distinctly the essential steps of representation, rule definition, and the later application of rules, we aim to make comprehensible associated concepts. Following the outline shown in ^{1}
^{2}

Visualized outline of the review, following the cycle inherent to rewriting methods: The representation of a problem, the formulation of rules, and the application of rules.

The terms

Bibliography analysis of citations between publication sources. Label and circle sizes correspond to the total number of documents. These results were collected by searching Scopus^{1}
^{2}

To get more insights into the involved research domains,

An ordered grouped list of publications according to their research categories. These results were collected by searching Scopus^{3}

From this broad overview in engineering and design, a more detailed literature analysis was conducted with a special focus on publications that additionally include

An ordered grouped list of publications according to their publication year. These results were collected by searching Scopus^{4}

The conducted bibliography analysis provides the necessary ground for the reviewed publications in the following sections. In this regard, the fundamentals of graph representations, graph rewriting, and the used software frameworks are described^{3}

All graphs

One key advantage of graph theory is its ability to formally and flexibly represent relationships between entities. Large networks of objects can be created and queried for certain patterns of relationship to analyze or manipulate the represented system. However, the scale of these networks easily gets overwhelming. Therefore, there are specialized graph types that facilitate structuring complex domains and thus are better suited for certain applications^{4}

A second key advantage is the flexibility of graphs to adapt to arbitrary levels of scale and abstraction. For example, nodes and edges can represent geometric vertices and edges, but may also stand for complex objects such as walls or a building story. To illustrate the range of semantics a graph model can have in a design context, we discuss diverse applications in the building sector in the next section. Thereby, we highlight the characteristics of graph models used for the transformation of design by a comparison to the ones used for analysis tasks.

An old stream of research aims to depict engineering systems as a graph to perform efficient analysis of the data structure. The well-known Dijkstra algorithm or the A* algorithm for path planning is familiar to most engineers. For a building, this can be adopted by translating architectural rooms and their mutual accessibility into a navigation graph, see

Generation of a navigation graph from building geometry (

A precedence relationship graph represents the order of erection of individual building components and their mutual dependencies (

From a formal point of view, graph models for the dynamic manipulation of a design are identical to the ones for the analysis of a static design. However, a crucial difference is that design activities require a much greater amount of topological and geometrical adaptivity. Property graphs commonly enable topological extensibility while dynamic geometric transformations pose a less common challenge. In concrete terms, it is comparably easy to construct the system entities and their relationships for a coffee machine (

The characteristics of graph structures for dynamic manipulation of design is subject to further discussion in chapter 4. Since a representation for design is strongly linked to the manipulation mechanisms applied to evolve it, the next sections attempt to give a fundamental understanding of graph rewriting methods before.

Graph rewriting, also referred to as graph transformation, describes the process of manipulating a graph structure by adding, removing, and altering nodes and edges, steered by declaratively defined rules. Each rule consists of a

A graph rewriting rule, graphically described in the middle, is applied to the host graph on the left side. The result graph is depicted on the right side. Here, the preservation morphism

Several characteristics can increase the expressiveness of a rewriting rule. Rules may be more concise by including attributes and multiple labels per node. For example, a graph representation of a building may enable a matching for objects labeled both “wall” and “load-bearing,” with an attribute “height” at a certain value. Further, a rule may be context-sensitive, meaning that it specifies conditions that exclude possible matches depending on the surrounding of the pattern. These application conditions may concern the left or the right side of the rule (

Rules, potentially defined with all described characteristics, need to be applied to a host graph (H). To this end, it is necessary to detect correctly typed and attributed matches for the LHS (or pattern graph), as well as their rewriting to produce a valid result graph (H’) containing the RHS (or rewrite graph) inserted. Efforts have been undertaken to significantly improve the computational complexity of match detection algorithms (

Basic principle of graph rewriting using the Single Pushout Approach according to

The modeling of graph representations and their transformations can be conducted with diverse software frameworks. The term ^{5}

Not all of the presented frameworks are still continued and maintained. This figure gives an overview of the times of development and reference and use in research projects. Smaller bars indicate that only small updates were published or references only list the tool without using it.

A widely used graph transformation framework is the Graph Rewrite Generator

The Attributed Graph Grammar

Another sophisticated and well established framework is

The

Among this rich body of available alternatives, an engineer can deliberate the choice of a framework for specialized applications in design. This deliberation is a problem-specific evaluation of necessary and desirable characteristics in modeling, development, and execution. Building upon this fundamental understanding of both graph theory and the implications of rewriting, we address approaches to represent engineering products in the next chapter.

Graph structures for design synthesis approaches require an efficient approach to both the representation and manipulation of the geometry of relevant design objects. In the aspect of identifying the crucial objects and linking them elegantly to a geometric representation, we see the key problem to the successful use of graph rewriting methods in design synthesis. Thereby, a first stream follows the idea of a very fine-grained representation and control of geometry, giving the graph an intuitive geometric meaning. The second stream attempts to further abstract objects, making it easier to define and describe transformations on a semantically higher level of abstraction. Both are discussed in the following sections.

An engineer familiar with computational geometry would likely associate the terms “graph” and “geometry” with well-known classical data structures. As such, the

A pyramid represented by a vertex-edge-face graph, illustrated geometrically (left) and topologically (right).

They give a very fine-grained control of the geometry of objects, down to every single geodetic point. For an engineering model with objects in such a representation, efficient and detailed spatial-topological queries and consistency checks exist (

Despite not being specific to engineering, the implementation of shape grammars utilizing graph models must be mentioned in this context, too. For these implementations, graphs were recognized to have beneficial characteristics as a model of geometry. On the one hand, graphs were proven capable of implementing shape grammars that support the recognition of

This leads to two significant downsides of graph models in such a high resolution of geometry. First, what does a human intend when he defines a rewriting pattern that consists of a closed loop of four vertices and lines? Can the matching algorithm assume that orthogonal and parallel lines play a role or not? Did the human intend a void quadrilateral or may the pattern intersect itself or be intersected by other elements?

These two problems have been known for a very long time and two main responses exist to remedy them. On the one hand, the introduction of an additional layer of abstraction, i.e., a user interface, could help humans to more intuitively express their intentions of a rule. Such an abstraction layer may be either graphical or textual (

This is the basic idea of a group of grammars for design that follow an object-oriented idea of design: instead of reasoning geometrically,

However, the relations between shape grammars and set grammars often are unclear due to fuzzy terminology in the field (

Taxonomy of formal grammars utilized for engineering design problems.

In the former section, we discussed that many practical engineering problems allow the system to be represented as a composition of objects that can be sufficiently described by high-level geometric primitives. Thereby, one may roughly differentiate two types of object descriptions.

The first type associates an object to an individual from a set of strictly uniform geometries. This may be a column of a fixed diameter and height (

The second type relies on geometric descriptions with a parametrization defined by continuous or discrete variables. As a first example,

They mention, however, that the expressiveness of the interpreter could be further improved by including powerful procedures like sweeps or extrusions. This is an inherent restriction of the set grammar idea that defines vocabulary according to the objects present in the final design configuration (

The use of graph models for the geometric design of engineering products is, unconsciously, familiar to many engineers. In many undergraduate courses, the CSG approach is commonly taught. Intuitively, the technique allows applying Boolean operators (union, difference, intersection) on high-level geometric primitives. A procedural construction history based on CSG operations may be formally depicted as a directed, bipartite and hierarchical graph pointing toward one final geometry. The graph is bipartite because nodes can either represent objects or operations. Essentially, the visual programming interfaces of computer-aided drawing (CAD) software like Grasshopper Rhinoceros (

Refinement of a CSG tree based on a graph rewriting rule.

Procedural parametric modeling approaches draw their expressiveness from explicitly introducing operations as a part of the grammar vocabulary. The difference to other design grammar approaches is subtle but important. The greater part of grammars for design declare rules as a static

A stage in the graph-driven design development process presented in

Gradual Refinement of tunnel geometry by means of graph rewriting and according to a level of development concept (

The introduction of explicit operations enables the straightforward integration of powerful features accessible by programming interfaces of CAD software.

Finally, a noteworthy trend in the field of grammars and computational geometry is the investigation of mixed programming paradigms. Of course, it is more elegant to define a design problem within one of the various paradigms of procedural modeling. Yet, for considerations of efficiency, the combination of paradigms is worth further investigation. Many of the design grammars published partially needed to use imperative programming techniques (

In the context of grammar-based design, any representation is just an important means for a purpose. This purpose is the development of a design from an initial state towards a goal state. This is performed by defining rules, which may be applied to incrementally evolve the design representation. Unarguably, the finding of appropriate and expressive rules is a demanding step. Therefore, we dedicate the next chapter to research treating the process of grammar development.

The variety of grammars published is commonly described as original pieces of handcraft. The representation chosen is demonstrated to have captured the essence of the problem and the rules to allow steering an efficient evolution of the system. Still, scientifically valid questions are “polemically” (

In the practice of grammar development, a significant problem to be remedied is that domain experts are rarely familiar with the computational aspects of rewriting. A simple solution might be to let developers and domain experts collaborate, which was the strategy in expert systems research. Unfortunately, this strategy needed to be omitted, acknowledging that experts have limited time, motivation and that arising communication barriers may cause frustration (

As a first alternative, one may attempt to not let domain experts define the grammar, but to generate the rules based on design artifacts they produced in the past. The problem of automatically “learning” or creating a grammar from a given dataset is referred to as

A second alternative is to look for solutions that empower a wide range of domain experts to develop grammars. Besides guidelines to teach non-specialists good practices in the definition and organization of rewriting patterns (

Worfklow proposing a user-oriented interface to formalize architectural design patterns without knowledge of underlying representation and algorithms (

Comparable in intention,

The interfaces discussed make it easier to define smaller sets of rules. From a certain amount of rules captured, a stricter organization or modularization of the rule sets is important. A promising approach to this end offers the research field of function-based design synthesis.

Graphs have the ability to represent a system in any degree of abstraction. This property is exploited in model-based systems engineering (

Graph rewriting can be employed within the scope of function-based design synthesis in two ways: first, for model-to-model transformations between the different abstraction layers. If a subfunction can be met by different components, different rules can be created to depict these possible transformations. By exploring the possible options, different concepts of an engineering system can be generated. This has been illustrated for mechanical engineering products by

The abstraction involved in function-based design synthesis is a burden and a potential at the same time. Engineers naturally tend to details and visualizations, but thereby run the risk to get stuck in fixed ideas of design (

A graph rewriting system represents a set of process steps, without specifying their logic of application. Thus, besides the rules, the process of applying them to one or a range of specific problems must be designed. This difference is essential, whereas often the misconception is encountered that a given grammar can simply “crank out” (

The distinction of reasoning approaches according to the problem-specificity of rules is certainly comprehensible but is not the only one.

The presented criteria enable to reflect a given grammar by it’s specificity to one application environment and by the characteristics of the vocabulary. However, there is no commonly agreed taxonomy that can subsume a wide range of grammar-based reasoning techniques or could even practically support engineers in the design of their rule application strategy. Of course, not every grammar needs to be utilized with a sophisticated process control. Especially for expert grammars and object-oriented grammars, engineers often can constrain the search to a few variable parameters and few necessary choices. If this is possible, the exploration of the solution space may be achieved manually, by combinatorial methods as the enumerative generation or black-box methods as

If the engineer is able to define a sequence of rule applications that likely lead to valid designs, it is possible to simply enumerate all possible outcomes. Thereby, a search tree may be used to depict the options of generation. This tree commonly has as root the initial design state, and as edges the applicable rewriting rules. The linked children nodes are derived designs (

This is essentially the idea of a set of optimization algorithms that can be summarized as

Simulated annealing optimizes a single design configuration based on the analogy of the cooling of metal. A steadily decreasing “temperature” curve quantifies the willingness to accept deteriorations of cost by a rule application. An in-depth explanation of the algorithmic ideas is given by

Genetic programming relies on a biological “survival of the fittest” principle. In every cycle, a set of designs is created where only the best ones are selected to go into the next phase or cycle. During every generation process, rules can be applied to conduct mutations of individuals. Further, the cross-over exchange of parameters is a desirable mechanism to create diversity within a population. The latter is desirable but very difficult as grammar-generated designs often do not share a common configuration of objects (

This concludes the overview of approaches to the reasoning for grammar-based design. In the last chapter, both potentials and shortcomings for further applications in the building sector are summarized.

Graph models provide a powerful and flexible representation for many engineering products. For engineering design, the use of graph rewriting methods can enable the automation of complex design sequences. To this end, a variety of representation approaches can be distinguished, which can be classified according to the geometric meaning of the graph entities chosen. Low-level geometry representations give a high control and intuitiveness regarding geometric aspects, even though they require the introduction of higher-level textual or graphical interfaces. Set grammar approaches allow defining the design and design steps in a semantically more intuitive, object-oriented way. The extension of employed graph structures to entities of imperative logic or the combination of different programming paradigms may leverage the practical applicability of grammars in a broader context.

The development of graph rewriting systems for applications in engineering design receives increasingly more support. On the one hand, domain experts and learners with little knowledge about the underlying technology are encouraged by less technical and more graphical interfaces. In order to generate and optimize designs based on graph rewriting systems, established approaches can be relied on to perform an efficient search of vast solution spaces.

To date, only a few industrial applications of graph rewriting methods have been known in engineering design. This may be owed to several challenges we discussed. One aspect is that the representation of a design problem by a graph model requires abstracting the system in a suitable manner. A variety of different approaches exists, with advantages and disadvantages. A key factor thereby is to represent and manipulate the geometry of engineering products properly. Approaches with a low-level representation of geometry often have the shortcoming of not enabling the definition of rules at a level of abstraction natural to engineers. Approaches with a high-level representation of geometry pose the challenge to efficiently store, transform, and interpret geometry. Despite a rich body of applied works, there is little theoretical discussion about the demanding task of defining a graph representation for a synthesis problem. Ideally, guidelines should be available to support engineers in the conceptual and technical design.

Given a meaningful representation, the efficient design of small sets of rules is a comparably resolved challenge. Still, the technical organization of grammars with larger rule sets to enable an efficient but variable generation of designs is a challenge. To this end, the use of function-based synthesis approaches seems promising, but yet has very few applications in the building sector. Further, the design of search methodologies in combination with a grammar is challenging. A large set of reasoning approaches have been described, differing by the way domain knowledge is formalized, the type of vocabulary, or the locality of evaluation criteria. However, a better uniform characterization and supportive guidelines could support engineers to better understand and design the functionalities of grammars for a generative design process.

LK: Main author, corresponding author SV: Writing sections, proofreading and contributing by prior research JA: Writing sections, proofreading and contributing by prior research AB: Writing sections, proofreading and contributing by prior research.

The authors gratefully acknowledge the financial support of the Deutsche Forschungsgemeinschaft (DFG) in the frame of the programs SPP 2187 “Adaptive modularized constructions made in a flux” (Project Number 423969184) and Transregio 277 “Additive Manufacturing in Construction—The Challenge of Large Scale” (Project Number 414265976).

The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.

All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.