Abstract
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.
1 Introduction
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 (), with fundamental branches dealing with shapes (Stiny, 1980), biological modeling (), and later graphs (). Thanks to this background, a large part of the terminology used is related to linguistics. A grammar is formed when a set of rewriting rules, a rewriting system, is complemented by a start symbol, sometimes called axiom, a set of non-terminal symbols, and a set of terminal symbols. The terminal and non-terminal symbols are often referred to as vocabulary of the grammar. A defined grammar may be applied to exhaustively generate all possible different combinations of rule applications and parameters, constituting the language, the constituted solution space. The linguistic theory of formal grammars is rich and provides mathematical notations, terminology, and taxonomy available to many specific applications. Yet, the abstractness and extensiveness of the field also motivated researchers to enter specialized debates. In engineering design, expert systems were an early attempt to give a framework to the use of rewriting rules for design tasks. The research greatly decreased in the 1990s and is widely inactive today, due to various reasons, ranging from the difficulty of expert system maintenance and extensibility ().
Instead, several other frameworks emerged around the millennium. achieved to encompass several schools of thought and several strategies for automated design synthesis along a simple, generic framework. The four key steps are the representation of the problem, the generation of solutions, their evaluation, and finally the guidance of the subsequent cycle of search. This framework is agreed to cover wide ranges of automation efforts under the collective term computational design synthesis (CDS). As one important stream, distinguished grammar-based synthesis. In parallel to the harmonization attempts of CDS, Rudolph (2002) motivated the so-called graph-based design languages as a powerful graph- and graph rewriting based methodology. Certainly complying with the broad definition of CDS, the field of graph-based design languages can be seen as a specification of the method. However, it is based on a stricter mathematical treatment of design objects and the formal design process ().
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 Figure 1, we hope to communicate the relevancy, potentials, and challenges to a broader audience. The review starts with a bibliography analysis where we attempted to quantify the scientific interest to graph rewriting methods, with special attention to the building sector. To make current developments comprehensible to readers with little prior knowledge, we introduce the fundamentals of graph theory and graph rewriting in chapter 3. Chapter 4 draws attention to the various approaches for forming a graph representation of an engineering model with semantic and geometric meaning1. Supports to the development and organization of rewriting rules are introduced in chapter 5. Finally, chapter 6 focuses on issues of automatically applying rewriting rules for design generation while chapter 7 concludes the review by summarizing potentials and shortcomings for further research2.
FIGURE 1
2 Bibliography Analysis
The terms Graph Rewriting and Graph Transformation appear in the literature along with the keywords Engineering and Design since the 1970s. Although combining multiple keywords reduces the search scope, there are numerous engineering and design domains that have investigated graph rewriting for their challenges. Figure 2 depicts the citation network between journals when searching for those keywords combined. The journals of computer science and software engineering (appearing at the center) are the most dominant journals for this field, where graph rewriting was used as a technique for manipulating data structures, source codes, and more. Zooming out of the center, other application domains appear, such as biotechnology, business and engineering.
FIGURE 2
To get more insights into the involved research domains, Figure 3 shows a grouped list of search domains and their corresponding publication counts. The field of Information and Computing Sciences provides a high percentage of the publications, as graph rewriting was introduced and developed by this domain. The rest of the domains typically adapt and apply the techniques developed in computer science to their particular challenges. Among others, engineering is ranked third, with 115 publications, whereas built environment and design is ranked eighth.
FIGURE 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 Building Information Modeling as a keyword. The first papers that appeared in the literature that included both Graph Rewriting and Building Information Modeling are from 2010 (Tratt, 2010). Afterward, there is a trend in increasing the number of relevant publications per year, as shown in Figure 4, where 23 relevant papers were published in 2018 alone and 58 in total until the year 2020.
FIGURE 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 described3.
3 Fundamentals
3.1 Graph Representations
3.1.1 Theoretical Specifications
All graphs G = (V, E) have in common that they consist of a set of nodes or vertices V and edges E, with each edge being represented by an ordered or unordered list of nodes. This generic definition encompasses a variety of specifications. In engineering design, it is commonly implied a typed and attributed graph, sometimes referred to as property graph (). Types, sometimes referred to as labels or tags, can serve to specify different categories of objects within a system. In an architectural context, this might serve to distinguish different room types (), different building elements (), or load-bearing elements and their joints (Vestartas, 2021). Attributes in turn can serve to store relevant data about the objects in the form of key-value pairs. This data might be as simple as an identifier, a reference to external data sources, or as complex as a parametrization of geometric descriptions, see Section 4.2. Thus, graph structures are an expressive means to represent engineering systems as a network of objects with rich semantic and geometric meanings. However, most engineers find it difficult to formulate and solve their problems employing graph theory, except for of well-known applications like path planning. A look at two key motivations for the use of the data structure explains the difficulty.
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 applications4. As one example, trees, are special graphs that may serve to simplify analysis and manipulation of problems with an inherently hierarchical structure. Such a hierarchy can be applied to model the spatial structure of buildings, for example, where a site may comprise multiple buildings, each building may comprise multiple stories and each story comprises a number of spaces or rooms (Wonka et al., 2003; ). To give a second example, port graphs, sometimes labeled composition graphs (Strug et al., 2022), are special graph types that distinguish two types of nodes: Object nodes and connector nodes. The connector nodes, the ports, restrict how the object nodes are allowed to be coupled to each other. This may be extremely useful for tasks that formalize assembly processes, as in the context of chemical reactions, bond graphs (), or the design of segmented structures (; ). Many more specifications originate from the need to efficiently depict and manage complex networks, even leading to complex combinations like hierarchical hypergraphs () and others currently experimented within engineering (Strug et al., 2022). Encountering all those specifications may easily overdemand a learning person, whereas all specifications branch off from the simple and comprehensible notation given above.
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.
3.1.2 Applications in Architecture and Civil Engineering
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 Figure 5. A similar graph model of a building may be used to suggest architects preferable room layouts when dividing a floor into spaces (). Equally, structural aspects of construction can be represented. Vestartas (2021) used a graph model to describe the different joints of crooked wooden beams. recorded the precedence relationships of construction execution in a graph, where every node represents a column, wall, or floor and edges represent precedence relationships. The resulting graph model, depicted in Figure 6, was generated through a spatio-temporal analysis of the building construction process.
FIGURE 5
FIGURE 6

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 (Tonhäuser and Rudolph, 2017) or a bridge (Slusarczyk and Strug, 2017). Still, a valid topological and semantic configuration does not guarantee to make the components form a valid and harmonic assembly, without collisions and gaps at emerging interfaces. In comparison, a graph structure that merely analyzes a static design must capture the exact geometry only once. Without the need to dynamically change it, the geometry may even be stored and referenced employing external databases, for example in a point cloud format (
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.
3.2 Graph Rewriting
3.2.1 Theoretical Specifications
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 left-hand side (LHS or pattern graph) and a right-hand side (RHS or rewrite graph). Providing a host graph and a set of rules, the matches of the LHS in this host graph can be identified and be replaced by the RHS to generate the result graph as depicted in Figure 7. A preservation morphism r can be defined in order to specify that parts of the LHS are matched to the RHS to ensure that they are preserved.
FIGURE 7

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 r is defined by the mapping of the grey nodes.
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 (
FIGURE 8

Basic principle of graph rewriting using the Single Pushout Approach according to
3.2.2 Software Frameworks for Graph Rewriting
The modeling of graph representations and their transformations can be conducted with diverse software frameworks. The term framework describes an assembly of specialized tools. This includes at least an interpreter that processes human-readable descriptions of graph metamodels as well as graph rewriting rules and gives feedback in case of errors. A compiler then translates this into source code or libraries for further use. Most frameworks also have some sort of graphical user interface to display graphs and visualize rule execution. In this section, we give a short overview of the major frameworks that are available (see Figure 9). This list is not meant to be complete as there exist many further frameworks, although many of them are not maintained anymore. Extensive but rather outdated lists are provided in
FIGURE 9

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 GrGen.NET for the .NET environment (
The Attributed Graph Grammar AGG is a rule-based visual language supporting an algebraic approach to graph transformation implemented in Java (
Another sophisticated and well established framework is PROGRES (PROgrammed Graph REwriting Systems) which is being developed at RWTH Aachen since 1989 (Schürr et al., 1995). It is based on directed, attributed and typed graphs, which can represent extensive and complicated issues in a clear and structured manner. PROGRES consists on the one hand of a specification language and on the other hand of a complex, integrated environment. The framework allows the specification of a graph schema with inheritance and edge cardinalities that can be used for type-checking of productions. Besides the graph schema, graph transformations can be specified graphically and textually. The PROGRES environment consists of three integrated frameworks. Graph schema and transformations can be defined in a syntax-controlled editor that highlights violations. The interpreter with a corresponding graph browser assists the user in debugging and the compiler automatically translates the specification into C or Java source code. However, PROGRES is not regularly maintained and has been last updated in 2005. While it is regularly referenced in recent articles giving an overview of graph rewriting frameworks, the last publication that describes its use in a project dates back to 2015.
The GROOVE tool set (Graph-based Object-Oriented VErification) is being developed since 2004 and is still regularly updated (
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.
4 Representation Approaches
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.
4.1 Low-Level Representation of Geometry
An engineer familiar with computational geometry would likely associate the terms “graph” and “geometry” with well-known classical data structures. As such, the vertex-edge-face graph, illustrated in Figure 10, may be mentioned, used in boundary representation approaches. Two key advantages of such graph models with a strong linkage of topology and geometry may be highlighted:
FIGURE 10

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 emergent shapes (
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, set grammars discretize a design problem to a set of comprehensible entities. Those entities are processed in the grammar by rules that allow the set-theoretic operations of union, intersection, and difference among them. In the context of design problems, such entities are commonly tangible objects like stories, walls, or windows (Wonka et al., 2003), with complex geometry such as a parametrized solid (
However, the relations between shape grammars and set grammars often are unclear due to fuzzy terminology in the field (
FIGURE 11

Taxonomy of formal grammars utilized for engineering design problems.
4.2 High-Level Representations of Geometry
4.2.1 Set Grammar Approaches
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 (
4.2.2 Explicit Description of Operations
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 (
FIGURE 12

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 configuration pattern before and after a rewriting step. When applying the rule, an interpreter derives from the difference between the sides the necessary procedures to take, i.e., manipulations, additions, and removals of objects. However, some operations may be much more intuitive to be stated in an imperative manner. To give an example from the building sector, Vilgertshofer and Borrmann (2017) distinguished “Sketch Nodes” and “Procedural Nodes” for refining tunnel geometry, see Figure 13. The former described the composition of sketches, e.g. describing a tunnel profile. On the other hand, the procedural nodes enabled the transformation of geometry, e.g., by extrusion of a tunnel profile. These development steps are illustrated in Figure 14.
FIGURE 13

A stage in the graph-driven design development process presented in Vilgertshofer and Borrmann (2017). Left-hand side: Graph structure consisting of entities and procedural operations, created by graph transformation. Right-hand: Interpretation of the graph by a parametric CAD system.
FIGURE 14

Gradual Refinement of tunnel geometry by means of graph rewriting and according to a level of development concept (Vilgertshofer and Borrmann, 2017).
The introduction of explicit operations enables the straightforward integration of powerful features accessible by programming interfaces of CAD software. Silva et al. (2013) gave another example of a graph model that explicitly includes operations, in this case related to urban model generation. Thinking of a graph model as a network of objects or operations can make graph models in design much more expressive.
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.
5 Development of Graph Rewriting Approaches
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” (
5.1 Facilitated Development of Rewriting Rules
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 inverse procedural modeling and is commonly assessed to be very complex (
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 (
FIGURE 15

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.
5.2 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 (
6 Generative Use of Rewriting Rules
6.1 Classification of Approaches
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 generate and test optimization algorithms. These three methods are commonly understood and agreed (
6.2 Search Strategies
6.2.1 Enumerative Generation
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 generate and test approaches. Generate-and test approaches do not use search trees but optimize only the input parameters of a generation process based on the cost of the outcome. No formal model of the generation process is required, wherefore one may think of it as a black-box process. Iteratively, the configuration shall be improved until only one or a set of few good designs remain. The two main algorithmic ideas used are simulated annealing and genetic programming (Ruiz-Montiel et al., 2013).
6.2.2 Optimization Algorithms
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 (van Diepen and Shea, 2019;
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.
7 Conclusion
7.1 Potentials
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.
7.2 Shortcomings
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.
Statements
Author contributions
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.
Funding
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).
Conflict of interest
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.
Publisher’s note
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.
References
1
AbualdenienJ.BorrmannA. (2021). “PBG: A Parametric Building Graph Capturing and Transferring Detailing Patterns of Building Models,” in Proc. of the CIB W78 Conference 2021 (Luxembourg: International Council for Research and Innovation in Building and Construction).
2
AlberR.RudolphS. (2003). 43 - a Generic Approach for Engineering Design Grammars: Aaai Technical Report Ss-03-02
3
AouatA.BendellaF.DebaE. a. (2012). “Tools of Model Transformation by Graph Transformation,” in 2012 IEEE International Conference on Computer Science and Automation Engineering (IEEE), 425–428. 10.1109/icsess.2012.6269495
4
BakC. (2015). GP 2: Efficient Implementation of a Graph Programming Language (York, United Kingdom: University of York). Ph.D. thesis.
5
BorrmannA.RankE. (2009). Topological Analysis of 3D Building Models Using a Spatial Query Language. Adv. Eng. Inform.23, 370–385. 10.1016/j.aei.2009.06.001
6
BraunA.TuttasS.BorrmannA.StillaU. (2015). “Automated Progress Monitoring Based on Photogrammetric point Clouds and Precedence Relationship Graphs,” in The 32nd International Symposium on Automation and Robotics in Construction and Mining (ISARC 2015) (Oulu, Finnland: The International Association for Automation and Robotics in Construction (IAARC)). 10.22260/isarc2015/0034
7
BryantC. R.McAdamsD. A.StoneR. B.KurtogluT.CampbellM. I. (2006). “A Validation Study of an Automated Concept Generator Design Tool,” in Volume 4a: 18th International Conference on Design Theory and Methodology (Philadelphia, United States: ASME), 283–294. 10.1115/DETC2006-99489
8
CaganJ.CampbellM. I.FingerS.TomiyamaT. (2005). A Framework for Computational Design Synthesis: Model and Applications. J. Comput. Inf. Sci. Eng.5, 171–181. 10.1115/1.2013289
9
CaganJ.MitchellW. J. (1993). Optimally Directed Shape Generation by Shape Annealing. Environ. Plann. B20, 5–12. 10.1068/b200005
10
CampbellM. I.RaiR.KurtogluT. (2009). “A Stochastic Graph Grammar Algorithm for Interactive Search,” in Volume 8: 14th Design for Manufacturing and the Life Cycle Conference; 6th Symposium on International Design and Design Education; 21st International Conference on Design Theory and Methodology, Parts A and B (Las Vegas, United States: ASME), 829–840. 10.1115/DETC2009-86804
11
ChakrabartiA.SheaK.StoneR.CaganJ.CampbellM.HernandezN. V.et al (2011). Computer-based Design Synthesis Research: An Overview. ASME J. Comput. Inf. Sci. Eng.11 (2), 021003. 10.1115/1.3593409
12
ChenY.SarehP.YanJ.FallahA. S.FengJ. (2019). An Integrated Geometric-Graph-Theoretic Approach to Representing Origami Structures and Their Corresponding Truss Frameworks. J. Mech. Des.141 (9), 091402. 10.1115/1.4042791
13
ChomskyN. (1959). On Certain Formal Properties of Grammars. Inf. Control.2, 137–167. 10.1016/s0019-9958(59)90362-6
14
CorradiniA.MontanariU.RossiF.EhrigH.HeckelR.LöweM. (1997). “Algebraic Approaches to Graph Transformation - Part I: Basic Concepts and Double Pushout Approach,” in Handbook of Graph Grammars and Computing by Graph Transformation. Editor RozenbergG. (Pisa, Italy: World Scientific), 163–245. 10.1142/9789812384720_0003
15
DrewesF.HoffmannB.PlumpD. (2002). Hierarchical Graph Transformation. J. Comput. Syst. Sci.64, 249–283. 10.1006/jcss.2001.1790
16
DuarteJ. P. (2005). A Discursive Grammar for Customizing Mass Housing: the Case of Siza's Houses at Malagueira. Automation in Construction14, 265–275. 10.1016/j.autcon.2004.07.013
17
DyB.StouffsR. (2018). Combining Geometries and Descriptions: A Shape Grammar Plug-In for Grasshopper. eCAADe36 (2), 498–598.
18
EconomouA.GraslT. (2018). “Paperless Grammars,” in Computational Studies on Cultural Variation and Heredity. Editor LeeJ.-H. (Singapore: Springer), 139–160. KAIST Research Series. 10.1007/978-981-10-8189-7_12
19
EhrigH. (2006). Fundamentals of Algebraic Graph Transformation. Berlin/Heidelberg: Springer-Verlag. 10.1007/3-540-31188-2
20
ErmelC.RudolfM.TaentzerG. (1999). “The AGG Approach: Language and Environment,” in Handbook of Graph Grammars and Computing by Graph Transformation: Volume 2: Applications, Languages and Tools (Singapore: World Scientific), 551–603. 10.1142/9789812815149_0014
21
GeißR.BatzG. V.GrundD.HackS.SzalkowskiA. (2006). “GrGen: A Fast SPO-Based Graph Rewriting Tool,” in Graph Transformations. Editors HutchisonD.KanadeT.KittlerJ.KleinbergJ. M.MatternF.MitchellJ. C.et al (Berlin, Heidelberg: Springer), 383–397. vol. 4178 of Lecture Notes in Computer Science. 10.1007/11841883_27
22
GeißR. (2008). Graphersetzung mit Anwendungen im Übersetzerbau (Karlsruhe, Germany: Karlsruhe Institute of Technology). Ph.D. thesis.
23
GhamarianA. H.de MolM.RensinkA.ZambonE.ZimakovaM. (2012). Modelling and Analysis Using GROOVE. Int. J. Softw. Tools Technol. Transfer14, 15–40. 10.1007/s10009-011-0186-x
24
GrabskaE.ŁachwaA.ŚlusarczykG. (2012). New Visual Languages Supporting Design of Multi-Storey Buildings. Adv. Eng. Inform.26, 681–690. 10.1016/j.aei.2012.03.009
25
GraslT.EconomouA. (2013). From Topologies to Shapes: Parametric Shape Grammars Implemented by Graphs. Environ. Plann. B40, 905–922. 10.1068/b38156
26
GraslT. (2021). Grape Web Editor. Vienna, Austria: SWAP Architekten Zt GmbH. Available at: http://grape.swap-zt.com/App.
27
Grzesiak-KopećK.StrugB.ŚlusarczykG. (2021). Evolutionary Methods in House Floor Plan Design. Appl. Sci.11, 8229. 10.3390/app11178229
28
HabelA.HeckelR.TaentzerG. (1996). Graph Grammars with Negative Application Conditions. Fundamenta Informaticae26, 287–313. 10.3233/fi-1996-263404
29
HaberfellnerR.de WeckO. L.FrickeE.VössnerS. (2019). Systems Engineering: Fundamentals and Applications. Cham, Switzerland: Birkhäuser.
30
HavemannS. (2005). Generative Mesh Modeling (Braunschweig: Technical University of Braunschweig). Ph.D. thesis. 10.24355/DBBS.084-200603150100-7
31
HeckelR. (2006). Graph Transformation in a Nutshell. Electron. Notes Theor. Comput. Sci.148, 187–198. 10.1016/j.entcs.2005.12.018
32
HeissermanJ. (1994). Generative Geometric Design. IEEE Comput. Grap. Appl.14, 37–45. 10.1109/38.267469
33
HelmsB.SheaK. (2012). Computational Synthesis of Product Architectures Based on Object-Oriented Graph Grammars. J. Mech. Des.134. 10.1115/1.4005592
34
HickH.KüpperK.SorgerH. (Editors) (2021). Systems Engineering for Automotive Powertrain Development. 1st ed (Cham: Springer International Publishing). Springer eBook Collection. 10.1007/978-3-319-99629-5
35
HohmannB.HavemannS.KrispelU.FellnerD. (2010). A GML Shape Grammar for Semantically Enriched 3d Building Models. Comput. Graphics34, 322–334. 10.1016/j.cag.2010.05.007
36
HoislF.SheaK. (2011). An Interactive, Visual Approach to Developing and Applying Parametric Three-Dimensional Spatial Grammars. AIEDAM25, 333–356. 10.1017/s0890060411000205
37
HoislF.SheaK. (2013). Three-dimensional Labels: A Unified Approach to Labels for a General Spatial Grammar Interpreter. AIEDAM27, 359–375. 10.1017/S0890060413000188
38
HooshmandA.CampbellM. I. (2016). Truss Layout Design and Optimization Using a Generative Synthesis Approach. Comput. Structures163, 1–28. 10.1016/j.compstruc.2015.09.010
39
HouD.StouffsR. (2019). An Algorithmic Design Grammar Embedded with Heuristics. Automation in Construction102, 308–331. 10.1016/j.autcon.2019.01.024
40
HouD.StouffsR. (2018). An Algorithmic Design Grammar for Problem Solving. Automation in Construction94, 417–437. 10.1016/j.autcon.2018.07.013
41
JabiW.AishR.LannonS.WardhanaN. (2018). “Topologic: A Toolkit for Spatial and Topological Modeling,” in Computing for a Better Tomorrow (Poland: Lodz University of Technology).
42
JakumeitE.BlomerJ.GeißR. (2021). GrGen Documentation. Karlsruhe, Germany: Institut für Programmstrukturen und Datenorganisation, Universität Karlsruhe. Available at: http://www.info.uni-karlsruhe.de/software/grgen/GrGenNET-Manual.pdf.
43
JakumeitE.BuchwaldS.KrollM. (2010). Grgen.net. Int. J. Softw. Tools Technol. Transfer12, 263–271. 10.1007/s10009-010-0148-8
44
KahaniN.BagherzadehM.CordyJ. R.DingelJ.VarróD. (2019). Survey and Classification of Model Transformation Tools. Softw. Syst. Model.18, 2361–2397. 10.1007/s10270-018-0665-6
45
KavehA.KoohestaniK. (2008). Graph Products for Configuration Processing of Space Structures. Comput. Structures86, 1219–1231. 10.1016/j.compstruc.2007.11.005
46
KneidlA.BorrmannA.HartmannD. (2012). Generation and Use of Sparse Navigation Graphs for Microscopic Pedestrian Simulation Models. Adv. Eng. Inform.26, 669–680. EG-ICE 2011 + SI: Modern Concurrent Engineering. 10.1016/j.aei.2012.03.006
47
KnightT. (2003). Computing with Emergence. Environ. Plann. B Plann. Des.30, 125–155. 10.1068/b12914
48
KolbeckL.AuerD.FischerO.VilgertshoferS.BorrmannA. (2021). “Modulare Brückenbauwerke aus carbonfaserbewehrtem Ultrahochleistungsbeton,” in Beton- und Stahlbetonbau Sonderheft ”Schneller Bauen” (Berlin, Germany: Ernst & Sohn), 116.
49
KönigsederC. (2015). A Methodology for Supporting Design Grammar Development and Application in Computational Design Synthesis (ETH Zurich). Ph.D. thesis. 10.3929/ethz-a-010567138
50
KrishnamurtiR.EarlC. F. (1992). Shape Recognition in Three Dimensions. Environ. Plann. B19, 585–603. 10.1068/b190585
51
KrishnamurtiR.StouffsR. (1993). “Spatial Grammars: Motivation, Comparison and New Results,” in Proceedings of the 5th International Conference on Computer-Aided Architectural Design Futures (Pittsburgh, USA: Springer), 57–74.
52
KumarM.CampbellM. I.KönigsederC.SheaK. (2014). “Rule Based Stochastic Tree Search,” in Design Computing and Cognition ’12. Editor GeroJ. S. (Dordrecht: Springer Netherlands), 571–587. 10.1007/978-94-017-9112-0_31
53
LangenhanC.WeberM.LiwickiM.PetzoldF.DengelA. (2013). Graph-based Retrieval of Building Information Models for Supporting the Early Design Stages. Adv. Eng. Inform.27, 413–426. 10.1016/j.aei.2013.04.005
54
LeblancT.LeblancJ.PoulinP. (2011). “Component-based Modeling of Complete Buildings,” in Proceedings of Graphics Interface 2011 (Toronto, Ontario, Canada: Canadian Human-Computer Communications Society), 39, 87–100. GI 2011. 10.1177/009182961103900111
55
LienhardS. (2017). Visualization, Adaptation, and Transformation of Procedural Grammars. Ph.D. thesis. Lausanne: EPFL Lausanne. 10.5075/EPFL-THESIS-7627
56
LindenmayerA. (1968). Mathematical Models for Cellular Interactions in Development I. Filaments with One-Sided Inputs. J. Theor. Biol.18, 280–299. 10.1016/0022-5193(68)90079-9
57
LippM.WonkaP.WimmerM. (2008). Interactive Visual Editing of Grammars for Procedural Architecture. ACM Trans. Graph.27, 1–10. 10.1145/1360612.1360701
58
Mc Neel and Associates (2021). Grasshopper Rhino. Seattle, United States: Mc Neel & Associates.
59
McCombC.CaganJ.KotovskyK. (2017). Capturing Human Sequence-Learning Abilities in Configuration Design Tasks through Markov Chains. J. Mech. Des.139 (9), 091101. 10.1115/1.4037185
60
McCormackJ.CaganJ.AntakiJ. (2008). “Aligning Shape Rule Creation with Modular Design: Minimizing the Cost of Using Shape Grammars,” in Volume 4: 20th International Conference on Design Theory and Methodology; Second International Conference on Micro- and Nanosystems (ASMEDC), 107–118. 10.1115/DETC2008-49366
61
MitchellW. J. (1991). “Functional Grammars: An Introduction,” in Reality and Virtual Reality (Newark, NJ: Association for Computer Aided Design in Architecture School of Architecture New Jersey Institute of Technology).
62
NaglM. (1979). Graph-Grammatiken: Theorie Anwendungen Implementierung. Wiesbaden: Vieweg. Studienbücher Informatik. 10.1007/978-3-663-01443-0
63
NaglM.SchürrA.MünchM. (Editors) (2003). Applications of Graph Transformations with Industrial Relevance: International Workshop, AGTIVE’99, Kerkrade, The Netherlands, September 1-3, 1999 (Berlin: Springer-Verlag). Proceedings.
64
NishidaG.Garcia-DoradoI.AliagaD. G.BenesB.BousseauA. (2016). Interactive Sketching of Urban Procedural Models. ACM Trans. Graph.35, 1–11. 10.1145/2897824.2925951
65
OsterA.McCormackJ. (2011). A Methodology for Creating Shape Rules during Product Design. J. Mech. Des.133 (6), 061007. 10.1115/1.4004195
66
PatowG. (2012). User-friendly Graph Editing for Procedural Modeling of Buildings. IEEE Comput. Grap. Appl.32, 66–75. 10.1109/MCG.2010.104
67
PeysakhovM.RegliW. C. (2003). Using Assembly Representations to Enable Evolutionary Design of Lego Structures. AIEDAM17, 155–168. 10.1017/S0890060403172046
68
PuentesL.CaganJ.McCombC. (2020). Heuristic-guided Solution Search through a Two-Tiered Design Grammar. J. Comput. Inf. Sci. Eng.20 (1), 011008. 10.1115/1.4044694
69
PuppeF. (1990). Problemlösungsmethoden in Expertensystemen. Berlin, Heidelberg: Springer Berlin Heidelberg. Springer eBook Collection Computer Science and Engineering. 10.1007/978-3-642-76133-1
70
RensinkA.TaentzerG. (2007). “Agtive 2007 Graph Transformation Tool Contest,” in International Symposium on Applications of Graph Transformations with Industrial Relevance (Berlin: Springer-Verlag), 487–492.
71
RensinkA. (2003). “The Groove Simulator: A Tool for State Space Generation,” in International Workshop on Applications of Graph Transformations with Industrial Relevance (Berlin: Springer-Verlag), 479–485.
72
RiestenpattM.RudolphS. (2019). “A Scientific Discourse on Creativity and Innovation in the Formal Context of Graph-Based Design Languages,” in Heron Island Conference on Computational and Cognitive Models of Creative Design. Association for Computer Aided Design in Architecture. Herons Islands, Australia: Design Research Society (DRS).
73
RobinsonI.WebberJ.EifremE. (2015). Graph Databases: New Opportunities for Connected Data. second edition edn. Beijing and Boston and Farnham: O’Reilly.
74
RossiA.TessmannO. (2017a). “Aggregated Structures: Approximating Topology Optimized Material Distribution with Discrete Building Blocks,” in Proceedings of the IASS Annual Symposium 2017 Interfaces: Architecture, Engineering, Science, Hamburg, Germany. International Association of Shell & Spatial Structures.
75
RossiA.TessmannO. (2017b). “Designing with Digital Materials: A Computational Framework for Discrete Assembly Design,” in Protocols, Flows and Glitches. Editors JanssenP.LohP.RaonicA.SchnabelM. A. (Hong Kong: CAADRIA).
76
RossiA. (2021). Wasp: Grasshopper Plugin for Discrete Assemblies.
77
RozenbergG. (1997). Handbook of Graph Grammars and Computing by Graph Transformation, Vol. 1. Singapore: World Scientific.
78
RudolphS. (2002). Übertragung von Ähnlichkeitsbegriffen. Stuttgart: Habilitation, Universität Stuttgart.
79
Ruiz-MontielM.BonedJ.GavilanesJ.JiménezE.MandowL.Pérez-de-la-CruzJ.-L. (2013). Design with Shape Grammars and Reinforcement Learning. Adv. Eng. Inform.27, 230–245. 10.1016/j.aei.2012.12.004
80
RungeO.ErmelC.TaentzerG. (2011). “AGG 2.0–new Features for Specifying and Analyzing Algebraic Graph Transformations,” in International Symposium on Applications of Graph Transformations with Industrial Relevance (Berlin: Springer-Verlag), 81–88.
81
SchürrA.WinterA. J.ZündorfA. (1995). “Graph Grammar Engineering with PROGRES,”. Software Engineering - ESEC ’95. Editor SchäferW. (Berlin: Springer-Verlag).
82
SheaK. (1997). Essays of Discrete Structures: Purposeful Design of Grammatical Structures by Directed Stochastic Search (Pittsburgh: Carnegie Mellon University). Dissertation.
83
SilvaP. B.MüllerP.BidarraR.CoelhoA. (2013). “Node-based Shape Grammar Representation and Editing,” in Proceedings of the Workshop on Procedural Content Generation in Games PCG’13 (New York, United States: Association for Computing Machinery), 1–8.
84
SlusarczykE. G.StrugB. (2017). “A Graph-Based Generative Method for Supporting Bridge Design,” in 24th EG-ICE International Workshop on Intelligent Computing in Engineering (EG-ICE 2017). Editors KochC.TizaniW.NinićJ. (Red Hook, NY: Curran Associates Inc).
85
StinyG. (1980). Introduction to Shape and Shape Grammars. Environ. Plann. B7, 343–351. 10.1068/b070343
86
StinyG.MitchellW. J. (1978). Counting Palladian Plans. Environ. Plann. B Plann. Des.5, 189–198. 10.1068/b050189
87
StouffsR. (2015). “Description Grammars: An Overview,” in Emerging Experience in Past, Present and Future of Digital Architecture. Editors IkedaY.HerrC. M.HolzerS.KaijimaM.KimM. (Hong Kong: Association for Computer-Aided Architectural Design Research in Asia (CAADRIA)), 137–146.
88
StouffsR. (2019). “Predicates and Directives for a Parametric-Associative Matching Mechanism for Shapes and Shape Grammars,” in Blucher Design Proceedings (São Paulo: Editora Blucher), 403–414. 10.5151/proceedings-ecaadesigradi2019_658
89
StrugB.ŚlusarczykG.PaszyńskaA.PalaczW. (2022). “A Survey of Different Graph Structures Used in Modeling Design, Engineering and Computer Science Problems,” in Graph-Based Modeling in Science, Technology and Art. Editors ZawiślakS.RysińskiJ. (Cham: Springer International Publishing), 243–275. vol. 107 of Mechanisms and Machine Science. 10.1007/978-3-030-76787-7_12
90
Sysml (2021). SysML Open Source Project - what Is SysML? Who Created SysML. Available at: SysML.org.
91
TaltonJ.YangL.KumarR.LimM.GoodmanN.MěchR. (2012). “Learning Design Patterns with Bayesian Grammar Induction,” in Proceedings of the 25th Annual ACM Symposium on User Interface Software and Technology - UIST ’12. Editors MillerR.BenkoH.LatulipeC. (New York, New York, USA: ACM Press), 63. 10.1145/2380116.2380127
92
TonhäuserC.RudolphS. (2017). “Individual Coffee Maker Design Using Graph-Based Design Languages,” in Design Computing and Cognition ’16. Editor GeroJ. S. (Cham: Springer International Publishing), 513–533. 10.1007/978-3-319-44989-0_28
93
TrattL. (2010). “Theory and Practice of Model Transformations,” in Third International Conference, ICMT 2010, Malaga, Spain, June 28-July 2. 2010. Proceedings. 10.1007/978-3-642-13688-7
94
van DiepenM.SheaK. (2019). A Spatial Grammar Method for the Computational Design Synthesis of Virtual Soft Locomotion Robots. J. Mech. Des.141 (10), 101402. 10.1115/1.4043314
95
Veit BatzG.KrollM.GeißR. (2008). “A First Experimental Evaluation of Search Plan Driven Graph Pattern Matching,” in Applications of Graph Transformations with Industrial Relevance. Editors SchürrA.NaglM.ZündorfA. (Berlin, Heidelberg: Springer), 471–486. 10.1007/978-3-540-89020-1_32
96
VestartasP. (2021). Design-to-Fabrication Workflow for Raw-Sawn-Timber Using Joinery Solver (LausanneSwitzerland: EPFL). Ph.D. thesis. 10.5075/EPFL-THESIS-8928
97
VilgertshoferS.BorrmannA. (2017). Using Graph Rewriting Methods for the Semi-automatic Generation of Parametric Infrastructure Models. Adv. Eng. Inform.33, 502–515. 10.1016/j.aei.2017.07.003
98
VogelS. (2016). Über Ordnungsmechanismen im wissensbasierten Entwurf von SCR-Systemen (Stuttgart: Universität Stuttgart). Dissertation. 10.18419/opus-8829
99
WhitingM. E.CaganJ.LeDucP. (2018). Efficient Probabilistic Grammar Induction for Design. AIEDAM32, 177–188. 10.1017/S0890060417000464
100
WonkaP.WimmerM.SillionF.RibarskyW. (2003). “Instant Architecture,” in ACM SIGGRAPH 2003 Papers on - SIGGRAPH ’03. Editor RockwoodA. P. (New York, USA: ACM Press), 669. 10.1145/1201775.882324
101
WortmannT. (2013). Representing Shapes as Graphs : A Feasible Approach for the Computer Implementation of Parametric Visual Calculating (USA: Massachusetts Institute of Technology). Diploma thesis.
102
ZimmermannL.ChenT.SheaK. (2018). A 3d, Performance-Driven Generative Design Framework: Automating the Link from a 3d Spatial Grammar Interpreter to Structural Finite Element Analysis and Stochastic Optimization. AIEDAM32, 189–199. 10.1017/S0890060417000324
Summary
Keywords
graph grammars, spatial grammars, graph theory, design synthesis, graph rewriting
Citation
Kolbeck L, Vilgertshofer S, Abualdenien J and Borrmann A (2022) Graph Rewriting Techniques in Engineering Design. Front. Built Environ. 7:815153. doi: 10.3389/fbuil.2021.815153
Received
15 November 2021
Accepted
28 December 2021
Published
01 February 2022
Volume
7 - 2021
Edited by
Vagelis Plevris, Qatar University, Qatar
Updates

Check for updates
Copyright
© 2022 Kolbeck, Vilgertshofer, Abualdenien and Borrmann.
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.
*Correspondence: Lothar Kolbeck, lothar.kolbeck@tum.de
† ORCID ID: André Borrmann orcid.org/0000-0003-2088-7254
This article was submitted to Computational Methods in Structural Engineering, a section of the journal Frontiers in Built Environment
Disclaimer
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.