ANALOGY MATCHING WITH FUNCTION, FLOW AND

ANALOGY MATCHING WITH FUNCTION, FLOW AND PERFORMANCE
by
Peter R Morgenthaler
A thesis submitted to the Faculty and the Board of Trustees of the Colorado School of
Mines in partial fulfillment of the requirements for the degree of Master of Science (Mechanical
Engineering).
Golden, Colorado
Date
Signed:
Peter R. Morgenthaler
Signed:
Dr. Cameron J. Turner
Thesis Advisor
Golden, Colorado
Date
Signed:
Dr. Gregory Jackson
Professor and Department Head
Department of Mechanical Engineering
ii
ABSTRACT
Multiple methods exist to achieve design innovations. Analogical reasoning is one such
method that has been shown be effective. The Design Analogy Performance Parameter System
(DAPPS) project presented here is developing a method to aid in analogy generation by
specifying a set of critical functions and desired design performance improvements. DAPPS
uses performance parameter metrics to compare user inputs to potential analogical sources, thus
stimulating analogical reasoning and innovative designs. We showcase the validation aspect of
the DAPPS project. Proof-of-concept has previously been performed and implemented via the
Design Repository & Analogy Computation via Unit-Language Analysis (DRACULA)
framework. The steps for validation of DRACULA have been divided into two parts: 1)
generation of numerical metrics with which multiple analogical generation methods may be
compared and 2) case study assessments which will compare between various these methods.
Previous works have shown that within a design problem there are functions that are the most
important to meet the product requirements or customer needs. These functions have been
defined as critical functions. In many products, there are multiple critical functions that create a
critical chain. These critical chains are the primary focus of the comparison of the various
analogical generation methods. Critical chains have both functional groupings and architecture.
The functional groupings of the chains are the functions contained within the chain while the
architecture is the order of the components. Within the architecture, five different ways to relate
two architectures have been identified, including: identical, mirrored, disordered, mirror
disordered, and unique. By comparing the function chains of analogical sources to design
problems in both the functional groupings and the five architectural relations, we show a
correlation in design characteristics such as innovativeness, ability to be implemented, similarity,
3
and applicability of analogical sources. The correlation of design characteristics is the primary
focus of research. If this new method of measuring the relationships between function chains
proves effective, then it can be applied to DRACULA and DAPPS to validate the method as well
as guide research towards the improvement of the DRACULA analogy matching algorithms.
4
TABLE OF CONTENTS
ABSTRACT ....................................................................................................................... iii
LIST OF FIGURES............................................................................................................ ix
LIST OF TABLES ............................................................................................................. xi
LIST OF EQUATIONS .................................................................................................... xii
KEY TERMS ................................................................................................................... xiii
ACKNOWLEDGMENTS ............................................................................................... xiv
CHAPTER 1 INTRODUCTION...................................................................................... 1
1.1
Design by Analogy Tools ...................................................................................... 2
1.2
Research Objectives and Problem Statement ........................................................ 4
1.3
Contributions ......................................................................................................... 5
CHAPTER 2 LITERATURE REVIEW........................................................................... 7
2.1
Design-by Analogy................................................................................................ 7
2.1.1 Implementation ................................................................................................ 8
2.2
Functional Basis .................................................................................................. 10
2.3
Linguistic Pattern Matching ................................................................................ 12
2.3.1 WordTree Method ......................................................................................... 12
2.3.2 AskNature.org ............................................................................................... 14
2.4
Performance Parameter Matching ....................................................................... 19
2.4.1 Vector Space Similarity Measures ............................................................... 20
2.4.2 Dimensional Analysis Theory Matching ....................................................... 22
2.4.2.1 Critical Functionality.............................................................................. 23
5
2.4.2.2 Critical Flows ......................................................................................... 25
2.4.2.3 Critical Pairs ........................................................................................... 27
2.4.2.4 Performance Metrics............................................................................... 27
2.4.2.5 Dimensional Analysis Theorem ............................................................. 29
2.4.2.6 Bond Graphs ........................................................................................... 30
2.4.3 Design Repository &Analogy Computation via Unit-Language Analysis ... 32
2.5
Conclusion........................................................................................................... 36
CHAPTER 3 THEORY AND METHODS .................................................................... 37
3.1
Existing Design Tools ......................................................................................... 37
3.2
DRACULA.......................................................................................................... 39
3.2.1 Functional Model Pattern Types .................................................................... 41
3.3
Conclusion........................................................................................................... 47
CHAPTER 4 EXPERIEMENTS .................................................................................... 48
4.1
DAPPS Case Studies ........................................................................................... 48
4.2
Metrics ................................................................................................................. 48
4.3
Sisyphus............................................................................................................... 53
4.4
Experiment Development .................................................................................... 54
4.4.1 Experiment Implementation and Termination ............................................... 56
4.5
Van Helsing ......................................................................................................... 60
4.6
Conclusion........................................................................................................... 62
CHAPTER 5 RESULTS & DISCUSSION .................................................................... 64
6
5.1
Results ................................................................................................................. 64
5.2
Results Conclusion .............................................................................................. 72
5.3
Van Helsing ......................................................................................................... 72
5.3.1 Mirror Analogy Metric .................................................................................. 73
5.3.2 Disordered and Mirror Disordered Analogy Metrics ..................................... 74
5.3.3 Identical Analogy Metrics ............................................................................. 75
5.3.4 Component Analogy Metric .......................................................................... 75
5.4
DAPPS ................................................................................................................ 76
5.5
Conclusion........................................................................................................... 77
CHAPTER 6 CONCLUSION ........................................................................................ 78
6.1
Design-by Analogy Tools.................................................................................... 78
6.2
DRACULA.......................................................................................................... 79
6.3
Metrics ................................................................................................................. 79
6.4
Experiment Van Helsing ..................................................................................... 80
6.5
Future Work ........................................................................................................ 80
6.5.1 The Future of Sisyphus .................................................................................. 80
6.5.1.1 Algorithm Improvement ......................................................................... 81
6.5.1.2 Previous Experiments ............................................................................. 83
6.5.1.3 Multi-Objective Optimization ................................................................ 84
6.5.2 Future Work Conclusion ............................................................................... 86
6.6
Broader Context .................................................................................................. 86
6.7
The DAPPS Design Statement ............................................................................ 87
vii
6.8
Conclusion........................................................................................................... 87
REFERENCES CITED ..................................................................................................... 88
APPENDIX A
DRACULA PSEUDO CODE ............................................................... 93
APPENDIX B
SISYPHUS PSEUDO CODE ............................................................... 95
APPENDIX C
SUPPLEMENTAL ELECTRONIC FILES ........................................ 101
8
LIST OF FIGURES
Figure 1.1
Visual Design Problem Representation ......................................................... 2
Figure 1.2
Perceived Analogy Ranking Order ................................................................ 4
Figure 2.1
Engineering Design Process Adapted Form .................................................. 8
Figure 2.2
Concept Design Phase Adapted Form ........................................................... 9
Figure 2.3
Functional Modeling Example ..................................................................... 11
Figure 2.4
WordNet Example [15] ................................................................................ 13
Figure 2.5
Completed WordTree Example ................................................................... 14
Figure 2.6
Biomimicry Taxonomy as Developed by AskNature.org [30] .................... 15
Figure 2.7
Biomimicry Taxonomy Example................................................................. 17
Figure 2.8 AskNature.org and Functional Basis Function and Flow Translations [7].. 18
Figure 2.9 Segment of the OSU Design Engineering Lab Morph Search Web Page ... 22
Figure 2.10
Function Structure of a Wind Turbine [7].................................................. 25
Figure 3.1
Design Problem Functional Model Representation ..................................... 42
Figure 3.2
Functional Model Component Comparison ................................................. 42
Figure 3.3
Functional Model Architecture Comparison ................................................ 43
Figure 3.4
Architectural Aspect Breakdown ................................................................. 44
Figure 3.5
Architectural Comparison Types ................................................................. 45
Figure 4.1
Function Chain Snipping Example .............................................................. 50
Figure 4.2
Disordered Example Comparison ................................................................ 52
Figure 4.3
Potential Analogy Cut-Away Example [48] ................................................ 55
Figure 5.1
Entire Pairwise Dataset Statistical Boxplot ................................................. 71
Figure 5.2
Predetermined Analogies Boxplot ............................................................... 71
9
Figure 6.1
Modified Metric Example ............................................................................ 82
Figure 6.2
f(x,y) = x^2 + y^2 ............................................................................................ 85
Figure 6.3
Two Objective Space Pareto Front [51] ....................................................... 85
1
LIST OF TABLES
Table 2.1
Dimensional Analysis Theorem (DAT) Variables ........................................ 23
Table 2.2
Flows of the Functional Basis ....................................................................... 26
Table 2.3
Dimensional Analysis Theorem Variables .................................................... 30
Table 2.4
Bond Graph Components Definitions, Functionality and Relationships [7] 31
Table 2.5
Bond Graph Component Definition, Functionality and Relationship [7] ...... 32
Table 3.1
Design-by-Analogy Tools Comparison ......................................................... 38
Table 3.2
Formatted DRACULA Output ...................................................................... 40
Table 3.3
Architectural Type Metric Scores.................................................................. 46
Table 4.1
Preliminary Study Results Perspective Example .......................................... 57
Table 4.2
Preliminary Study Results Consistency Example ......................................... 58
Table 4.3
Van Helsing Initial Test Data ........................................................................ 60
Table 4.4
Comparative Analogies ................................................................................. 61
Table 5.1
Dataset Average Metric Values ..................................................................... 64
Table 5.2
Predetermined Matches Metric Value Statistics............................................ 65
Table 5.3
Preselected Comparison Metric Values ......................................................... 66
Table 5.4
Best and Worst of the Top 10% .................................................................... 68
1
LIST OF EQUATIONS
Equation 2.1
DRACULA Function Chain Scoring Algorithm ...................................... 33
Equation 4.1
Metric Component Calculation ................................................................ 49
Equation 4.2
Identical Metric Value.............................................................................. 50
Equation 4.3
Mirrored Metric Value ............................................................................. 51
Equation 4.4
Disordered Metric Value .......................................................................... 51
Equation 4.5
Mirror Disordered Metric Value .............................................................. 51
Equation 4.6
Unique Metric Value ................................................................................ 52
xii
KEY TERMS
Architecture
AskNature.org
Bond Graph
Component
Critical Flow
Critical Function
Critical Pair
DAPPS - Design Analogy Performance Parameter System
DAT - Dimensional Analysis Theorem
DbA - Design by Analogy
Disordered
DRACULA - Design Repository and Analogy Computation via Unit-Language Analysis
Functional Basis
Functional Model
Graph Theory
Identical
Linguistic Pattern Matching
Memic
Mirror Disordered
Mirrored
MOPSO - Multi-Objective Particle Swarm Optimization
Performance Metrics
Performance Parameter Matching
Sisyphus
Unique
WordNet
13
ACKNOWLEDGMENTS
I would like to thank my advisor, Dr. Cameron J. Turner for his unrelenting support and
encouragement throughout this research. I would also like to thank Dr. Julie Linsey of Georgia
Tech for her provided guidance. To my committee, thank you for your help, mentoring and
friendship. To Megan Tomko and Ethan Hilton of Georgia Tech and Connor Taylor and Trevor
Worth of Colorado School of Mines, thank you for your assistance when I needed it the most.
Lastly, to my family, I cannot thank you enough for your continued love, patience, and support.
My dream could not have become reality without you.
14
CHAPTER 1
INTRODUCTION
Enhancing the Design Analogy Performance Parameter System (DAPPS) is about enhancing
the design process efficiency by increasing the experience level of novice engineers. By creating
a tool which can link analogies based on function structures, efficiency can be gained in design
fields by bridging the experience gap between novices and experts. This gap is important as
design engineers typically relate to previous experiences [1, 2, 3, 4]. Analogies are commonly
used by the design engineers during development of a design [5]. Expert engineers tend to use
more analogies than a novice engineer [6]. Currently, there are approaches, such as
AskNature.org, which will generate analogies based on search parameters, but these systems do
so based on keywords. This project has led to the Design Repository & Analogy Computation
via Unit-Language Analysis (DRACULA) program which has the potential to be a valuable
design tool for novice engineers. DRACULA, uses a common engineering language. Engineers,
as a generality, have a specific vocabulary which is unique from the rest of the world. This
difference in vocabulary can make communication difficult between engineering fields. Even
within the engineering community, different sub-communities may use different words to
describe the similar forms. Engineers with more experience tend to have an easier time bridging
analogy gaps even with the differences in vocabulary. By using DRACULA, the vocabulary is
limited to the revised functional basis vocabulary, which transcends communities and is nearly
universal [7]. DRACULA uses this vocabulary to match the function-flows of the designer with
function-flows of the analogies. In turn, it supplements the experience of a novice engineer. As
a result, engineers can become more efficient. The idea behind DRACULA is drastically
1
different than existing approaches but has the potential to be exceptionally valuable. However,
DRACULA must be baselined, compared, evaluated and improved. Furthermore, the
DRACULA database used to identify and score analogies must increase in quantity of entries.
There are two foreseen issues to overcome in the immediate future. The first is the
evaluation of the analogy generations. The second is procedure for population of the database.
This paper discusses the former. Functional models are used extensively for this project. For
simplification purposes, a functional model can be represented synonymously as shapes with
colors and arrows connecting the shapes. Figure 1.1 shows a pictorial representation of a
simplified functional model similar to what is used throughout this paper.
Figure 1.1
1.1
Visual Design Problem Representation
Design by Analogy Tools
Design analogy generators currently exist for use by the public. One such system is the
AskNature.org website. AskNature.org, as well as other currently available analogy generators,
are linguistically driven, like an internet search engine. Search keywords are identified, and
relates those keywords link to articles in a database. The problem with this method is that
2
providing appropriate, specific keywords are necessary, and there is the potential for the results
to revolve around unrelated and accommodating results. In other words, the quality of the
keywords affects the quality of the search results. This is where DRACULA can be beneficial.
DRACULA uses precise verbiage with which most engineers will be familiar. This precise
verbiage will help eliminate those unrelated entries from appearing in the results from a search.
In general, this approach should improve performance.
One of the goals of DRACULA is to value the analogies sufficiently such that the best
options are displayed first, thus limiting the number of analogies to be listed. This raises the
second concern. The quantity of analogies given to the engineer has the potential to be
burdensome. Again, as a generality, engineers tend to not perform as well when too many
options are available [7]. Therefore, limiting the options immediately seen but allowing more to
be available is a desirable user design aid. Second, as DRACULA uses graph theory to find
matches and establish scores for each of the analogies, this aspect could cause a problem. By
freely displaying the score associated with the various analogies, it is possible to bias the
designer towards analogies with a greater score. It is reasonable to think that not only could the
top ranked analogy not be the best, it could actually provide nothing of value whereas a lower
scored analogy could in fact be a logically better analogy. This same concept is seen with
Google searches. Google’s goal, as a search engine, is not simply to make the top search result
the best, but rather to ensure that the best result is on the first page. Applying this idea into
DRACULA, one of the goals is to value the analogies sufficiently such that the best options are
displayed, in a limited listing. This will help ensure that the tool will be useful and not
burdensome. One potential method of limiting the results would be to provide results purely
based on exact similarity. Another method of limiting results would be provide a select, small
3
range of comparisons. If one were to compare the pictorial functional model of Figure 1.1, and
compare it to each of the perceived analogical matches of Figure 1.2, the differences between the
two pictorial representations become apparent.
Figure 1.2
1.2
Perceived Analogy Ranking Order
Research Objectives and Problem Statement
It is proposed that by addressing how well defined metrics could lead to better analogies
for design engineers, thus leading to more novel designs.
Analogy matching based on function, flow, and performance
leads to better analogy generation.
DRACULA will be for the testing of this hypothesis. The current implementation of
DRACULA is online and the database has over 60 entries and continues to grow. DRACULA
4
must be tested in its current state in order to determine the utility of the program, which has been
shown by Lucero et al. [7], but that the program has the potential to provide added benefit in
Design-by-Analogy. Steps for testing DRACULA will include:
-
Developing test cases
-
Developing metrics for analysis of analogy matching
This research will contribute to existing literature in several ways. First, it assesses
performance based metric analogy generation against current methods. Second, it compares
different performance based metric analogy generation methods with each other.
1.3
Contributions
The work completed in this thesis can be summarized to several contributions. The
original implementation of DRACULA was not conducive to adequate testing. As such,
DRACULA was transitioned from its original platform into a program which could be used
through the internet began. While the work performed was done during the timeframe of this
thesis but was performed by two student employees. These students were supervised by myself.
The identification and definition of function structure component comparisons as well as
architectural comparison were done by myself and Dr. Cameron Turner. From these
identifications, the development of mathematical equations for the metrics with which the
function structure comparisons are performed were developed by me. The program, Sisyphus,
which implements the comparisons, as well as other aspects, was created by myself. The two
experiments performed for this thesis were primarily developed by myself under the guide of
both Dr. Cameron Turner and Dr. Julie Linsey. These experiments were developed for proof-ofconcept of the function structure comparison metrics. These efforts have moved the DAPPS
team closer to the goal of providing a Design-by-Analogy tool based on performance parameters.
5
The rest of the paper is organized as follows: Chapter 2 provides the reader with a stateof-the-art review in Design by Analogy tools, Chapter 3 details the theory and methodology
behind the DRACULA tool, Chapter 4 contains the plan to test the theory behind DRACULA,
Chapter 5 reviews the results of the experiments performed in this thesis and discusses the
results, Chapter 6 discusses future work as well as the overall conclusion of this thesis.
6
CHAPTER 2
LITERATURE REVIEW
A literature review has been performed so that the reader has a necessary understanding
of the application of the work at hand and its relationship to the state-of-the-art design. The
essential topics covered include Design-by-Analogy (DbA), functional basis, linguistic matching,
and performance parameter matching.
2.1
Design-by Analogy
Design-by-Analogy (DbA) is a methodology for contributing innovations to design
problems through the discovery of additional sources of information [2, 8, 9]. DbA is
specifically useful in that it relates varying domains. Research shows that visual analogies are
useful for both novice and experienced design engineers [10]. When the process is done
effectively, a designer relates the design problem with potential solutions through a similar
metric. This metric is typically expressed as a linguistic similarity, functional similarity or
domain similarity. These similarities are based on the different language used, function form, or
engineering domain, respectively. As a result, this design mechanism requires an extensive
amount of experience and knowledge, even for the most senior engineers. Currently there are
tools to aid in DbA, such as a WordTree and AskNature.org, both of which have established
repositories [11, 12, 13, 14, 15]. However, the process can be difficult for expert design
engineers with necessary knowledge. This difficulty increases greatly for a novice engineer as
they typically have not had the quantity of experiences as compared to a senior engineer.
7
2.1.1
Implementation
The engineering design process has several phases [16]. Figure 2.1 shows the multi-
phase process. These phases include Problem Identification, Project Planning, Problem
Definition, Conceptual Design, Product Development, and Product Support. The Design by
Analogy methodology is typically implemented during the Conceptual Design phase of the
Engineering Design Process.
Figure 2.1
Engineering Design Process Adapted Form
8
Within most of the phases of the Engineering Design Process, there are several steps.
The Conceptual Design phase is no different. The Conceptual Design, Figure 2.2, phase is an
iterative process which consists of six steps: Generate Concepts, Evaluate Concepts, Make
Concept Decisions, Document and Communicate, Refine Concept, and Approve Concept. The
DbA methodology, as well as the tools which are based on or use DbA typically will be used in
the Generate Concept step of the Conceptual Design phase. All of the DbA tools which are
discussed in further detail in this thesis are thought to be used in the Generate Concept step.
Figure 2.2
Concept Design Phase Adapted Form
9
2.2
Functional Basis
The use of design requirements in product development creates a systems-level view of
the hierarchical structure which can be broken down into sub-level functions. The functionality
of a system as a whole and the various components can be further abstracted into individual
functions which satisfy design requirements [17, 3, 18]. Functional basis is an empirically
demonstrated approach to functional description [7, 19]. A functional basis model is a flow chart
containing material, energy and signal flows which move through functions consisting of verbobject pairs. The flows are those which are necessary for the design as a whole, but also for the
operation of each individual function the flow interfaces with. The material flow will follow the
law of Conservation of Mass. The energy flow will follow the first law of thermodynamics,
conserving energy [20]. The signal flow does not specifically follow a law of conservation,
however, there can be no signals without the transference of some energy [3]. The verb-object
pair of the function is what correlates the inputs and outputs of the function. The use of this
format, the function structure can be used as a functional representation of a product via a system
concept as individual boxes and flows. These function structures permit abstraction to be
incorporated into the system via pictorial representation of the function and flow combinations.
Studies by McAdams et al. have studied the causalities and positive effects of DbA [21]. Using
this method creates a representation which allows for form-independent solutions. These
solutions can therefore satisfy the design requirements from which the functions were extracted.
This form ultimately is more dependent on function as the design progresses, aiding in the
establishment of the exact details of design [3].
10
Figure 2.3
Functional Modeling Example
Julie Hirtz et al. proposed a defined design vocabulary which transcends across different
engineering disciplines and applications [8]. The development was an attempted aid in
functional modeling methods by utilizing a generic level of specificity and synonyms. This
defined vocabulary can be used in conjunction with function structures as a standard.
As previously mentioned, functions are comprised of a verb-object pair. The verb of the
function is typically one which is required for an action at that point in the sequence. The object
of the function is what coincides with the flow. Effectively, the functions modify the flows of
the system. These functions and flows will follow many of the laws of nature such as
conservation of mass and energy. In addition to the laws of conservation, the inclusion of a
system boundary in the representation is used to help establish the scope of the design problem.
A uniform vocabulary has been defined by Otto and Wood that can be used in multiple
engineering disciplines for functional basis [17, 3, 8]. The intent of the uniform vocabulary is to
make the vocabulary finite while allowing for abstraction in functionality and form across the
different engineering disciplines.
11
2.3
Linguistic Pattern Matching
Linguistic pattern matching is the method of pairing sources to a set of keywords.
Linguistic resources, such as search engines and databases, can be explained in terms of patterns
and contextual exploration based on syntactic and semantic constraints [22]. Past research has
been pointed towards the development of tools as analogy databases for matching based on
linguistic similarity [23, 24, 25, 26]. The constraints of linguistic pattern matching systems can
incorporate concepts of adjacency, concatenation, containment, ordering and position of the
textual units. This methodology has been adapted for DbA database search methods. Two tools
which use linguistic pattern matching are the WordTree Method and AskNature.org.
2.3.1
WordTree Method
The WordTree Method begins with the identification of the key function or functions
within the design problem. Once the functions have been identified the user would
systematically represent the functions in a tree form paired with the verbs associated with each
individual function. The individual verbs are identified by specifying a broad-spectrum of verbs
which are similar or analogous in meaning. These verbs can be identified from either the
designer’s knowledge or through a linguistic repository, such as WordNet [27]. WordNet is
large lexical database developed by Princeton University containing English nouns, verbs,
adjectives, and adverbs which have been grouped as a sets of cognitive synonyms [15]. As an
example seen in Figure 2.4, scissors contain the key function identified as cut. Using the
designer’s knowledge or WordNet, the more general function of cut can be identified as separate
or remove. At the same time, two more domain-specific function definitions are changed or
dissect. Repeating this process, more analogous verbs can be identified and represented in the
form of a tree.
12
Figure 2.4
WordNet Example [15]
Therefore, the WordTree Method is a tool which aids in the identification of additional
analogies for alternative innovative solutions to a design problem and does so across analogous
domains. These various domains allow for a connection to be made between the problem and
externalities of the existing design domain. The WordTree database provides analogies which
are maintained and continually grows past design solutions where novice engineers can be aided
in their goal towards developing a unique solution to a design problem. An example of the
WordTree Method taken to completion can be seen in Figure 2.5.
13
Figure 2.5
Completed WordTree Example
The strength of this method is the ability of the database to store the analogy entries for
both domain specific and domain independent form [28]. This allows for potential analogous
solutions to be returned for the original design problem. This can ultimately lead to designers
being able to develop innovative solutions.
2.3.2
AskNature.org
AskNature.org is an online biomimicry community-generated database which allows for
access to natural analogous entries [11]. AskNature.org is a product of the Biomimicry Institute
3.1 [29]. The Biomimicry Institute is a non-profit organization dedicated to the academic and
public education of biomimicry and nature. The AskNature.org database is an open-source
library of biological functions. It is maintained for and by the community with the intention of
using it to recall natures design solutions.
14
Figure 2.6
Biomimicry Taxonomy as Developed by AskNature.org [30]
15
The database at AskNature.org is a functional organization which lists the challenges that
natural organisms face every day. The challenges which the organisms overcome are observed
and from this designers and engineers can mimic nature’s solutions. Both biologists and
engineers work together to create questions around the concept of how nature solves various
problems. For this biomimicry taxonomy to work, the Biomimicry institute breaks the analogy
finding process down into the following 4 steps (Figure 2.6).
□
Identify the function of the design problem.
□
Find the verb in the green semi-circle that describes what the design should do in
nature.
□
Attempt to approach the design from a different angle in the second semi-circle.
□
Determine how nature implements the alternative approach.
An example of this process would be to take the move or stay put group. This can be
further broken down into an attach subgroup and a permanently attach function (Figure 2.7).
The resulting analogy is the blue mussel. In this analogy, the blue mussel attach to wet and solid
surfaces using catechols or an adhesive proteins which overcome the surface’s affinity for water
[31]. This analogy has its benefits in that the adhesive effect does not contain carcinogens, cures
underwater and is comparable to human-made glues.
AskNature.org’s biomimicry taxonomy library contains 8 groups, 30 sub-groups and 162
functions which are separated into the top level groups. These groups are further broken down
into the subgroups, utilizing the verbs as the classification. The last step finds the potential
analogy from the functions group. Functional basis is similar to this taxonomy in that there are 3
function levels within the system.
16
Figure 2.7
Biomimicry Taxonomy Example
In an effort to include the vocabulary used by design engineers, a translation of the
taxonomy library groups and subgroups to the functional basis was performed by Lucero et al.
[7] (Figure 2.8). The translation was performed on the basis of the functionality of the taxonomy
within the similarities of the linguistics as a secondary alternative. Both the primary and
secondary levels were retained with both taxonomies as the levels with the most specificity [7].
During the translation process, the flows which were associated with the database also
were included for functional basis. The nouns associated with the AskNature.org taxonomy
were used to derive the flows. The flows which coincide with the functions of the functional
basis in either the energy or material flows. Biological signals is exceptionally difficult to
translate accurately and as a result these flows were included in the energy flows.
17
Figure 2.8
AskNature.org and Functional Basis Function and Flow Translations [7]
18
The provided example of this translation is to take AskNature.org’s primary class,
modify, and equate it to the functional basis flows of control magnitude and convert as the
functionalities of the two taxonomies are comparable. Thus, the matching on the alteration of
the flow was sufficient to consider them equivalent translations. This continues to stand as both
material and energy are capable of modification.
Biomimicry Institute’s AskNature.org database system is a unique tool which has been
expanding its uses and applications of the library entries within the biomimicry field since its
indoctrination. The database has continued to grow with sufficient opportunity and funding.
When properly used, the AskNature.org database has the potential to yield a greater amount of
novelty in DbA, not just for novice engineers, but also for experts. The WordNet and
AskNature.org repositories are the primary focuses of the linguistic pattern matching aspect of
DbA for this research.
2.4
Performance Parameter Matching
Performance parameter matching is a concept similar to linguistic pattern matching in
Design by Analogy. Both methods utilize a specific taxonomy in order to generate analogies. A
performance parameter matching system takes the repository requirement further by utilizing the
definition of each of the functions to compare how the functions operate as a set. The idea of
finding functions similar to one specific function within a design problem is in and of itself
helpful, but minimally so. Methods which do so, such as AskNature.org have two main
limitations. The first is that there are inherently different linguistics in different engineering
domains. As a result, the way in which each engineer looks at the definition of functions and
flows can be dissimilar. For example, regulate energy could be interpreted as the necessity to
19
maintain a specific temperature on a surface or to inhibit the rotation of an object. While both
interpretations are technically correct, they have drastically different meanings.
The second limitation of linguistic systems is that there is no way to compare adjacent
functions within a system. As previously mentioned, objects can be broken down into multiple
functions and flows. Performance parameter matching takes this into account. With a linguistic
pattern matching system, such as AskNature.org, a design engineer would need to input both
functions separately and compare the results. Performance parameter matching accounts for how
the functions interact with each other within an analogy.
2.4.1
Vector Space Similarity Measures
Kerry R. Poppa of Oregon State University has researched the application of vector space
similarity measures in computer assisted conceptual design [32]. With the primary focus of
similarity measures work on information retrieval, the scope of the project was over Design by
Analogy. The two primary reasons DbA was chosen for the research is that, at the time, the
literature suggested DbA was of specific interest to the research community as well as there are
quantitative similarity measures for the process which could serve the comparison for the work.
The work performed utilizes a design repository of the Design Engineering Lab at
Oregon State University. The repository is the result of MIST (previously UMR), The
University of Texas at Austin, and NIST collaborating with Oregon State University and
contains information on products primarily from consumer goods but also from sub-systems of
NASA spacecraft and biological systems. The repository has transformed a wide variety of
heterogeneous product design knowledge into a single knowledge base [33]. Poppa describes the
database as an, “artificial centric relational database populated with the information from the
20
disassembly and reverse engineering of existing products.” Similar to AskNature.org, Poppa
utilized the verb-object taxonomy of the database, specifically functional basis.
One tool created utilizing the Design Engineering Lab database is the MEMIC concept
generator. The program aids in the generation of ideas from the repository as well as internally
evaluating them using comparison algorithms. The tool does this by determining the distance
between concepts’ functional basis models via vector space arithmetic. As previously
mentioned, the functional basis models include both functions and flows, such as store and
electrical energy. With the functional model created, an adjacency matrix is developed and from
the matrix an 18,496 element vector is created. Each element represents a possible connection
between component types. The columns of the vector represents a concept while the rows
represent a possible component interaction. A zero represents no interaction while a one would
indicate that there is one instance of that particular interaction. Within a product, if a particular
interaction does not appear across an entire row, they are omitted from the vector for the sake of
efficiency. If particular components do not exist, there is no need to include them as there is no
value in retaining that variable.
This tool is unique in that it provides specific concepts. In one of the studies by Poppa et
al. analyzed concept generation for a peanut sheller. The concept generator provided a list of
physical items which would meet the design requirements of the product. One of the concepts
contained blade, shaft, bearing, cam, knob and reservoir. With this concept, it would then be up
to the engineer to discern how these objects would fit together in order to accomplish the task.
The current tool available for public use from Oregon State University is the
Morphological Chart Search [34]. There are also three available versions of the MEMIC concept
generator which are available for download. The online Morph Search tool, as see in Figure 2.9,
21
has the appearance of working in the same manner to which the MEMIC tool operates. These
tools all utilize a morphological matrix concept.
Figure 2.9
2.4.2
Segment of the OSU Design Engineering Lab Morph Search Web Page
Dimensional Analysis Theory Matching
Dimensional Analysis is a novel concept to be incorporated into analogy generation.
This idea is driven by Dimensional Analysis Theorem (DAT) [7]. Dimensional Analysis is a
process which simplifies a physical problem through reducing the number of relevant variables
with dimensional homogeneity [35]. DAT is used by DRACULA, the Design Repository &
Analogy Computation via Unit-Language Analysis, which is currently in development by three
universities (Colorado School of Mines [CSM], Clemson University [CU] and Georgia Institute
of Technology [GT]). DAT is an appropriate method for DRACULA as a correlation has been
established with design metrics and dimensionless variables [36]. DAT breaks down
performance parameters, such as velocity or energy into base variables.
22
Table 2.1
Dimensional Analysis Theorem (DAT) Variables
Unit
Mass
Length
Time
Electric Charge
Absolute Temperature
Amount of Substance
Luminous Intensity
Cost
Degree (rotation)
Symbol
M
L
T
Q
Θ
N
J
$
°
By utilizing the DAT variables, Performance Parameter variables, can be broken down
into base units and compared at a consistent level. The concept of Critical Functionality, Critical
Flows, and Critical Pairs also are utilized in DRACULA.
2.4.2.1 Critical Functionality
Critical Functionality is a concept developed by Lucero et al. [7]. Within functional
modeling there are a few functions which are applicable across product domains. The work
postulated that all functions do not hold the same weight in the function structure hierarchy. The
frequency of appearance in the functional model is not the determining factor. The primary
function of the product is the determining factor. The primary function of the product can be
broken down into several more specific sub-functions which are not equal to one another in
significance to the operation of the product.
Using a can opener as an example, which has the primary function of
separation of the can in a manner which allows access to the contents inside, and
comparing it to a vehicle jack, which has the primary function of stabilizing the
vehicle, the critical functions of the two products will not be equivalent. The
critical function of the can opener is the separation function. The critical function
of the vehicle jack is the stabilization function. Both of these products have
additional functions within their function structures, however, they do not have
the same importance as the previously mentioned functions. [7]
23
One case study performed by Lucero et al. [37] supported the argument that all functions
do not share the same significance, within the function structure, or within the system-level
product. There are some functions which carry more weight in the determination of which
functions or flows are more significant at a systematic step in the operation of the product.
These functions and flows have been determined to be critical.
Lucero et al. [37], Caldwell et al. [38], and Bohm et al. [39] have a mutual consensus that
the most common reoccurring functions in any design domain are transfer, convert, store,
actuate, separate and guide. These generalize secondary functions are common across multiple
domains and also can be quantified through the use of performance metrics. The difference
between the two studies is how they differentiate between reoccurring functions. The study
performed by Caldwell et al. [38] identified the critical functions of the design problem through
quantity. Therefore, the most prevalent functions and those which were most pertinent were not
necessarily the same within the function structure.
The examples of the vehicle jack and the can opener both contain a single critical
function. However, it is possible for there to be multiple critical functions. In a wind turbine
(Figure 2.10) it can be determined that both convert wind energy to rotational energy and
convert rotational energy to electrical energy are critical functions. In this example, these vital
functions are necessary to the key performance parameters (KPPs) of the system of converting
wind energy to electrical energy. For the research performed by Lucero et al. [37] as well as the
research to be performed, functions such as this are classified as being necessary to the operation
of the system and will be used to further quantify the system performance. This concept will is
applied in this research.
24
Figure 2.10
Function Structure of a Wind Turbine [7]
2.4.2.2 Critical Flows
As previously mentioned, the flows within functional basis have been broken down into
three categories: energy, material and signal. Table 2.2 shows that these primary flows have
been broken down into secondary and tertiary flows with some examples of possible components
which would make up the categories. Similar to how specific functions are more important in
product designs, specific flows also can be deemed critical. Critical flows are domain dependent
but may cross the domain boundaries at the interfaces.
Critical flows are similar to critical functions in that there are specific flows within a
functional model which holds more importance in the determination of the systematic operation
of a product. Just as the critical functions are domain dependent, the critical flows are domain
dependent. This is due to the fact they describe the flow of energy, material or signal through the
system. The action of the function which is being applied to the specified flows is what
determines the domain dependence.
25
Table 2.2
Flows of the Functional Basis
Returning to a wind turbine as an example, the critical flows which traverse through the
system are wind energy, rotational energy and electrical energy. These three secondary flows
are the most important within the functional model of the system. These three flows are
imperative to the KPPs of the wind turbine system of converting wind energy to rotational
26
energy and converting rotational energy to electrical energy. In this system, two flows are
required in order to meet the requirements of the system for electricity generation. For the
research performed by Lucero et al. [7] as well as the research to be performed, functions and
flows whose embodiment are significant to the systems performance are classified as critical
pairs and are further used to quantify the system.
2.4.2.3 Critical Pairs
Critical pairs are the combination of the critical function and critical flows within a
function structure [7]. This verb-object pair is a necessary aspect in order to satisfy the system
requirements. Through the use of performance metrics, these pairs can be used in order to
produce analogies beyond looking at the functionality or domain. Therefore, these pairs can be
considered significant in the generation of analogies based on performance.
Mapping functions can derive functions which can be used to mimic the same function as
desired [7]. The flows allow for a connection between the domains as well as can used to check
the feasibility on a rational level. An example of this is that both air and water are considered
fluids within fluid dynamics. Both substances can behave in similar manners and as such,
functions working on similar flows could be identified. By considering both the functions and
flows in how they operate together, performance metrics of a specific design problem can be
defined and quantified.
2.4.2.4 Performance Metrics
A study performed by Lucero et al. [7] searched the design repositories from three
universities (Colorado School of Mines [CSM], Texas A&M University [TAMU] and University
of Texas at Austin) for function structures and found 114 consumer products which had been
broken down into functional models with functions and flows using functional basis as the
27
methodology. Within this set of function structures, 795 functions and flows were found to be
non-redundant. Once collected these functions and flows were compared utilizing a reconciled
vocabulary. For this work, the functions and flows were in the individual boxes of the function
structure. All of the products received from the design repositories were simple and mechanical
consumer products such as can openers and nut crackers. Most of these function structures were
developed from mechanical engineering senior undergraduate design projects with most of the
data coming from the mechanical domain. Some of the data did originate from the electromechanical, electrical and thermal domains.
The functional basis model is assumed to be complete and adequate for the biological,
electrical, mechanical and thermal domains. Bearing this assumption in mind, the study was
performed measuring the frequency to which various flows were associated with functions
within the function structures of the products from the design repositories. It was determined
that the flows are capable of deciphering which performance metrics could be targeted for
analogical mapping.
The input flows were further analyzed into the various performance metrics which were
capable of being quantified as functional basis flows. This was done to establish a set of criteria
to gauge the engineering capabilities. The performance metrics used were collected from various
engineering domains and should not be considered a complete listing.
Engineering parameters which were energy flows were developed from the use of bond
graph theory as specified by Hirtz et al. [8]. Material flows for the engineering parameters are
labeled as, “global,” parameters and are not associated with either the energy or power of the
bond graphs. The parameters are considered ranges of values for the flows while the signal
flows rely heavily on electrical parameters.
28
Within the collection of functional models, it was desired to match the flows and
functions with of the repository. The energy and material flows appeared with the greatest
frequency within the functions. The most commonly utilized functions within the model were
the control magnitude and convert functions. The signal flows primarily interacted with only a
few functions, signal and control magnitude.
From this study it was determined that there is a need to identify the common flows
between functions with their associated performance parameters. Along with this, the concept
that engineering performance parameters could be considered an additional category of flows
within a system. With this concept in mind, further research was performed in an effort to gain a
better understanding of the feasibility of this concept. By comparing the engineering parameter
flows to the critical flows, a correlation could be drawn between the functions and their
relationship with the flows.
2.4.2.5 Dimensional Analysis Theorem
The work performed by Lucero et al. [7] required the use of engineering parameters. The
engineering parameters used to facilitate the concept of functional flows were determined
utilizing Dimensional Analysis Theorem (DAT). DAT reduced the engineering parameter into a
defined set of units. By doing so, the degree of complication between the engineering units can
be minimal. The standardized variable, as seen in Table 2.3, from the Buckingham-Pi Theorem
include: mass (M), length (L), time (T), electric charge (Q), absolute temperature (Θ), amount of
substance (N) and luminous intensity (J). In an effort ensure coverage of all domains with
adequate representation, two additional unit values were utilized, cost ($) and degree (°). While
it was understood that rotation is typically considered a unit-less entity, this unit was considered
a necessary inclusion to aid in tracking rotational aspects of systems within the mechanical
29
domain. It was determined that units of cost were essential factors in specific design problems
which was not included in the standard functional basis models. As a result, it was determined
that the monetary domain with the flow of money must be accounted for in the developing
repository. Currently these two units have been minimally used, however, it is anticipated that as
the design repository grows, these two units will be utilized more frequently.
Table 2.3
Dimensional Analysis Theorem Variables
2.4.2.6 Bond Graphs
Bond graphs are a methodology of dynamic representation of subsystems, components
and elements interacting by energy [40, 41, 42]. A system is pictorially be modelled as a graph
with nodes and edges. These nodes act as ports of energy or power transformation which act as
an intersection for the various subsystems [42]. The edges connect the nodes together and relay
the information about the type of energy or power being transferred between the nodes.
In order for the bond graph to be able to translate the system functionality within a
defined set of components utilizing both energy and power, a physical process of an action on
the power must occur with two variables, and effort and a flow. These two variables are
30
individually domain dependent but when multiplied together, they result in power in standard
units. There are two additional categories for use in bond graphs which go along with effort and
flow, momentum and displacement. The momentum and displacement variables account for
time variances in dynamic systems where the energy changes over time. Utilizing these four
variables, a specific definition of the various bond graph components can be defined (Table 2.4).
Table 2.4
Bond Graph Components Definitions, Functionality and Relationships [7]
The various components of bond graphs are resistive, capacitive, inertial, transformer,
and gyrator. A resistive component is one which dissipates energy by relating effort to flow or
flow to effort such as electrical resistors or springs. A capacitive element is one which stores
potential energy with both effort and displacement, such as electrical capacitors or gravity tanks.
Elements which store kinetic energy by relating a flow and momentum are inertial elements. An
example of this would include a rotational motor. The element which relates two flow is the
transformer which would be examples such as electrical transformers or gear trains. The final
variable, the gyrator, relates effort to flow or flow to effort. Examples for the gyrator would be
electric motors or voice coil transducers.
The established bond graph metrics have been used with the energy flows in an effort to
provide analogies across various domains. Variables can be defined within domains due to the
secondary flow breakdown of functional basis. The theory behind utilizing bond graphs is that
31
they allow for different efforts and flows to be analogous to each other, disregarding the domain.
Going back to the wind turbine example, this can be exemplified by the system starting with
mechanical rotational energy and ending with electrical energy without the loss of fluidity in the
system. The functions which act on flows in functional basis can be matched to five components
of the bond graph. Table 2.5 shows the definition, functionality and relationships of each of the
five bond graph components. Table 2.5
Bond Graph Component Definition, Functionality
and Relationship
Table 2.5
Bond Graph Component Definition, Functionality and Relationship [7]
Component
Function
Relation
Resistive
Dissipate energy
Directly relate effort→flow
Capacitive
Store potential energy
Inertial
Store kinetic energy
Directly relate effort→general
displacement
Directly relate
momentum →flow
Directly relate effort→effort &
flow→flow
Directly relate effort→flow &
flow→effort
Transformer Effort→effort,
flow→flow
Gyrator
Effort→flow,
flow→effort
Mathematical
Relation
q = ΦR(f) or f = ΦR1
(q)
q = ΦC(e) or e = ΦC1
(q)
p = ΦI(f) or f = Φ
I
1
(p)
e1 = ne2 or f1 = nf2
E1 = rf2 or rf1 = e2
An example of this would be the common function, convert. Using the definitions seen
in Table 2.5, it can be determined that convert has only has qualities of a transformer and a
gyrator. The convert function does not inherently dissipate or store energy. It does transform
and/or gyrate energy.
2.4.3 Design Repository &Analogy Computation via Unit-Language Analysis
The Design Repository & Analogy Computation via Unit-Language Analysis
(DRACULA) is a novel tool which was first developed by Lucero et al. [7]. DRACULA is a
32
tool to aid in Design by Analogy for both novice and expert design engineers alike. The program
performs dimensional analysis matching through the use of critical functions, critical flows,
critical pairs, performance metrics, Dimensional Analysis Theorem and bond graphs. The work
performed entailed the development of the concept into a program as well as the creation of a
design repository which would meet the needs of the system.
The original DRACULA program was written in C++ through the use of the
programming aid, Qt. DRACULA uses bond graphs to equate functions with DAT parameters.
The base portion of the program holds the primary algorithm parameter, flows, parameter bond
graphs, and critical function bond graphs. DRACULA itself will search through the provided
repository and scores each analogy based on similarity. To score an analogy, the program used a
function which scores a critical function chain input by the user against the critical function
chains of the repository. The returned value is 1.0 if the compared chains are identical and
returns a value between 1.0 and 0.0, depending on how dissimilar the two function chains are.
There are two specific penalizations which occur. A chain will be penalized for mis-ordered
elements by computing the corresponding index shifts. Penalties from inconsistent chain length
are done by normalizing the summations by the square of the greater chain length. The scoring
process, scoreChainPair(), can be seen in Equation 1 below.
(2.1)
where
ℎ
ℎ
=
=
33
=
=
ℎ
ℎ
ℎ
ℎ
The parameter within the program are the various engineering parameters. These
parameters are constants across all engineering domains and have been broken down into base
units through Dimensional Analysis Theorem (DAT). Mass flow rate for example would be in
this list with one unit of mass (M), and one inverse time unit (T) and no length (L), electric
charge (Q), absolute temperature (Θ), amount of substance (N), luminous intensity (J), cost ($) or
degrees (°). The parameter bond graphs contain the name of the parameters, such as mass flow
rate, and what variable they contain within a bond graph. For example, mass flow rate can act as
a resistive, inertial, transformer or gyrator within the bond graph but not as a capacitive
variable. The critical functions within DRACULA are the same as those used in functional
basis. The critical function bond graphs contain the critical function names, such as actuate and
the bond graph variable which the critical function can perform. Actuate, is represented with
resistive element in a bond graph. Just as the critical functions listed in DRACULA are the same
as those used in functional basis, the available flows in the program are the same as well. No
additional functions or flows were added, but the program was created in a manner which would
allow for components to be added if the need arose.
The design repository of DRACULA contains all the analogies which are available for
the tool as well as additional information about the analogies. The expansion of the database
continues from the original 12 entries to approximately 60 entries. This database contains the
name of each entry followed by the number of function chains, the length of the function chains,
and lastly the numerical values associated with each function chain as per DAT. At the time
there was anticipation and the desire that the database would eventually hold additional
34
information such as the domain and the field of the analogy as well as how the analogy could be
beneficial in Design for X scenarios. The original database also did not have any way to cite the
source of the analogy which was also a desired improvement as many of the analogies come
from outside sources, such as AskNature.org. A MS excel spreadsheet containing all the
database information, both including and excluding DRACULA data, had been maintained
throughout the development.
The DRACULA tool has several aspects that are similar to the previously mentioned
tools. First and foremost, DRACULA is a design analogy tool similar to the WordTree method
and AskNature.org database. With the correct understanding of functional basis, DRACULA
can produce related results from its design repository. Another similarity aspect is that the tool is
not domain specific, unlike AskNature.org. DRACULA, MEMIC, and the WordTree Method
are all capable of being able to transcend across domain boundaries whereas AskNature.org only
has the capability of providing results from one domain. Within any provided analogy on the
web site there is information about some of related bioinspired products. This undoubtedly
could yield unique ideas. However, the potential paths which an individual could take to find a
usable analogy becomes exponential and thus burdensome. DRACULA has the added benefit of
having the ability to include these analogies. A benefit DRACULA shares with both MEMIC
and AskNature.org is the ability to let a computer run through the process. The WordTree
Method was shown to be effective if properly executed, but if not, the analogies generated can
lack uniqueness or novelty [43].
There is one aspect to DRACULA which is not found in other design tools. DRACULA
operates utilizing engineering parameters. No other design tool currently available takes into
account the engineering parameters of system being designed. This aspect was incorporated into
35
the development of DRACULA in an effort to yield more valuable results. It is anticipated that
this aspect of the program will provide better direction towards analogies rather than limiting the
applicable analogy domains.
2.5
Conclusion
There is an experience gap between novice and senior design engineers. The
development of the WordTree Method and AskNature.org are testimonies to this. The
shortcomings of these methods has led to the concept of developing a new method of analogy
generation through the use of performance parameters and critical functionality. With these
aspects in mind, the development of the DRACULA tool and DRACULA’s design repository
began. The work by Lucero et al. [7] showed promise. However, further development is needed
for the tool to address functionality of DRACULA as well as validate it as a useful tool.
36
CHAPTER 3
THEORY AND METHODS
In this chapter, the current state of the project as well as the theory for this research is
presented. There are two main aspects to this research. The first is the refinement of the Design
Repository & Analogy via Computational Unit Language Analysis (DRACULA) package. The
second is the derivation of alternative matching formulations to improve performance.
3.1
Existing Design Tools
Currently, there are a handful of tools to aid engineers in Design by Analogy (DbA), as
discussed in Chapter 2. While each can one can be a powerful tool when used appropriately,
each one also has critical limitations. The first tool discussed, the WordTree method, has a few
problematic aspects identified by Linsey et al. [43]. The first is that the correctness of the
method implementation varies. This problem leads to errors such as lack of focus on the
function but instead on aesthetics or ergonomics as well as using of the wrong tense of verbs or
constraints. Another issue with the method has been with obtaining adequate analogies. The
study performed by Linsey et al. [43] showed that in some cases, the analogies generated tended
towards being in close-domain analogies. The last issue was follow through of the process. The
study also found that in most cases, the teams did not apply the analogies generated through the
WordTree Method to the next step for an unknown reason. This can be particularly problematic
as larger domain distances result in design solutions which are potentially more innovative [44,
45, 46, 47].
The second tool discussed in the previous chapter was AskNature.org. This tool is a
major asset in DbA. To start, an individual who would use this tool would immediately find the
web site aesthetically pleasing. This design repository, as of September 2015, includes 1,675
37
[11] analogies. One of the results of studies performed by Lucero et al. [7] indicated that
AskNature.org is an effective tool for aiding novice engineers. There are two primary drawbacks
to AskNature.org. The first is that the tool only has biological analogies. While these analogies
have been useful, there are countless example of human developed solutions; none of which are
available through AskNature.org. The second drawback which is found also in utilization of the
WordTree Method, and that is that focusing on linguistic similarities could cause engineers to
miss opportunities based on performance parameters.
The third tool discussed, MEMIC, isn’t actually a tool for DbA as much as it is a design
tool. The tool itself aids in concept generation from function models input from the user. The
tool itself creates a list of concepts from a functional model the user inputs. This list concepts
each have a number of objects which together meet the need of the functional model which was
entered into the system. The user then would need to interpret how each concept fits together to
meet the design requirements. The tool itself is a novel idea, however, it is not an analogy
generation tool, in the same sense as AskNature.org or the WordTree Method. Table 3.1 shows a
side-by-side comparison of many of the aspects covered about the various design tools.
Table 3.1
Tool
WordTree
Method
Design-by-Analogy Tools Comparison
Domains
Linguistic
Restraints
Multiple
Yes
AskNature.org Biological
Yes
MEMIC
Multiple
None seen
DRACULA
Multiple
Developed around
Primary
Application
Design-byAnalogy
Design-byAnalogy
Concept
Generation
Design-byAnalogy
38
# of
Functions
Input
Assesses
Function
Interaction
1
No
1
No
Multiple
No
1-3
Yes
3.2
DRACULA
Since DRACULA was originally developed, several changes have taken place to the
program. The most notable of which is that the tool has been moved from being a downloadable
application to being accessible via the internet. Both the analogy generation as well as the
repository are kept on an internet server through the Georgia Institute of Technology. The
primary reasoning for this for ease of use. As the tool itself aids in analogy generation based on
function, flow and performance, experiments to establish performance will be a necessity.
Enabling easy access is a necessary aspect for these case studies. Potential test studies discussed
further in subsequent chapters. With the tool online, the information provided to the user has
increased. With the previous DRACULA application, the information provided after an analogy
generation occurred was minimized to only the top three generated analogies with the ability to
download and look at a text document which contained the input parameters, the scores of each
analogy when compared to the inputs followed by the list of the top three analogies, in
descending order. With the current web based system, the user can specify the maximum
number of entries to be displayed, and the results page displays the name, description, possible
applications, domain, field, source and hyperlink of the information. An example of the
formatted output from the DRACULA program can be seen in Table 3.2. In this example, the
top 2 scored analogies are shown for a search with the Temperature Engineering Parameter
selected and only one Critical Function, Regulate, was selected. The analogies are again listed
in a descending order and there is the ability to specify whether the individual scores are to be
displayed or not. Similar to the previous version of DRACULA, there is the ability to export the
current analogy generation results, however, the exported results file contains additional
information about the generated analogies. An internet browser is necessary to view the results,
39
but an internet connection is not otherwise necessary except to view the pictures associated with
the analogies. One of the minor differences between the two versions is that the original version
had the ability to perform up to three searches at the same time. For the sake of saving
computational power, this was reduced to only being able to perform one search at a time. The
last major difference is the repository itself. Previously, the repository was a set of text
documents, each of which contained a list or a matrix. As a result, this data was prone to errors
which were both challenging to locate and to properly disentangle. This included the addition of
new entries. As the repository is now network based, a separate web browser based applet was
created for the maintenance of the repository. An additional cost of moving the system into a
network was need to rebuild the database. While the initial work of locating entries for the
repository and developing function structures for each one had been done, the lengthy process of
adding each entry currently available into the repository is an ongoing project.
Table 3.2
Name
Description
Possible
Applications
Domain
Field
Source
Hyperlink
Formatted DRACULA Output
Analogy 1
Ants Keep Cool
When an ant enters into the sunlight,
they are able to keep themselves cool
as air scoops open on their sides.
For self-cooling devices or buildings,
the machine turns on the air cooling
system when sunlight hits the
machine.
Biological
Biomimicry
AskNature
Analogy 2
Penguin Fins Retain Heat
Wings of penguins reduce heat loss
by forming a countercurrent heat
exchanger via the vascular design.
Pressure
Temperature
Biomimicry Institute-Energy. (2014),
accessed 6/2014
http://www.asknature.org/strategy/67 http://www.asknature.org/strategy/74
9517306e815ab19b4b04ba75a543eb# 0c420618b1b9abb92630cdaff6e0dd#.
.VIBw2zHF98E
U5e6Y_ldU4E
40
The current algorithm in use for DRACULA could be improved upon for DbA through
functional form. The algorithms in DRACULA compare the user inputs to every analogy in the
repository and ranks each analogy according to how directly similar the analogy functional
model is to the input parameters. It has been theorized by the researchers of the DAPPS program
that analogies with near identical flows are not necessarily the most beneficial. Analogies with
inverse flows from the design problem have the potential aid in the creation of novel engineering
solutions. However, these analogies are typically more difficult for a design engineer to
determine. While inverse relationship matches are not currently embedded into the algorithm,
this research effort sought to include these relationships in the matching algorithm. It is also
speculated that analogies generated by comparing which functions are present in the model
without specifically looking at the order could also be beneficial. Similar to the inverse
relationships, the ordering of the relationships is not currently taken into account in the
algorithm, but has also begun the process of being incorporated into the tool for testing. The
testing, however, is discussed in Chapter 4.
3.2.1 Functional Model Pattern Types
In previous sections, it has been mentioned that the DRACULA tool utilizes bond graphs
as a way to pair analogies to a set of inputs. It should be noted that these functions can be
compared in multiple ways. For this research, two characteristics of the Functional models have
been defined as the Components and the Architecture. Start with a visual representation of what
the bond graph of a design problem may look like, as seen in Figure 3.1.
41
Figure 3.1
Design Problem Functional Model Representation
In this example, the shapes represent the functional aspect of the Functional Model while
the arrows represent the flow direction. The component of the design problem is that there is a
red circle, yellow diamond, and blue square. The architecture of the design problem is that
yellow diamond comes after the red circle and the blue square comes after the yellow diamond.
It is easy to say that an exact match of both component and architecture would have the same
visual representation. Figure 3.2 shows the visual representation of a functional model with a
possible analogy match which is similar in components.
Figure 3.2
Functional Model Component Comparison
42
The design problem (left) is similar to the analogy (right) in that both Functional Models
have a red circle and a yellow diamond. This concept is what the current DRACULA algorithm
is looking at between what the user inputs to the system and the analogies in the repository.
Figure 3.3 shows a visual representation of how an additional Functional Model could be similar
to the design problem due to a similarity in architecture.
Figure 3.3
Functional Model Architecture Comparison
In this example, the design problem (left) is similar to the analogy (right) in that both
functional models contain the same set of shape and color components. The ordering of the
functions is what is different between the design problem and the analogy. So while these
models are similar, they are architecturally distinct. Five different ways of have been identified
to compare architectures. These five different types have been identified based on the concept
that there are two aspects of architectural comparisons. The compared sets can either have an
ordered aspect to them or a disordered. Within the ordered aspect, the two sets could be
identical or mirrored when compared to each other while in the disordered aspect, the functional
sets can either be viewed as disordered or unique. It is also possible for these aspects to be
combined, which can be seen in Figure 3.4.
43
Figure 3.4
Architectural Aspect Breakdown
It should be noted that not all architectural comparisons can be distinguished when the
chains have fewer than four common functions. It should also be noted that when two chains
exhibit only a single common function no comparative architecture can be considered. Figure
3.5 shows a visual representation of a design problem with the 5 identified architectural
comparison types.
44
Figure 3.5
Architectural Comparison Types
While Figure 3.5 shows the 5 architectural comparisons, it is obvious that more
permutations of these shapes could occur in a linear style. Not only could there be other
permutations, there is the definite possibility that there are other functions nestled between the
ones shown above, as well as certain functions could be absent. These general definitions of the
five architectural comparisons have been developed as a result. The identical architectural
comparison is based on how identical the orders are between the two sets of functions being
compared. The mirrored architectural comparison is similar to the identical with the exception
that it is based on whether the orders of the two sets of functions being compared are in the exact
opposite order with the same penalties of extra or non-existent functions. A disordered
architectural comparison is characterized by having most of the function interactions being
identical. If you take the Disordered set from Figure 3.5 and compare it to the design problem, it
can be seen that the red circle leads to the blue square, which leads to the yellow diamond. The
green pentagon does not follow the yellow diamond, but instead comes before the red circle.
45
This is just one example of a disordered architectural comparison. The mirrored disordered
architectural comparison is similar to the disordered, but again, it is a look at the function models
in reverse order. Lastly, the unique architectural comparison shows that none of the interactions
are the same between the two function sets. Looking at the example in Figure 3.5, not only are
none of the shapes of the Unique set in the same location as the design problem, but none of the
interactions are the same. This scenario shown is one of the most Unique comparison sets
conceived while not including functions which are not common between the sets.
Table 3.3
Architectural Type Metric Scores
Analogy Metrics
Function Chain
Component Identical Mirrored Disordered Mirror Disordered Unique
Identical
1.0000
1.0000
0.0000
1.0000
0.5000
0.2500
Mirrored
1.0000
0.0000
1.0000
0.5000
1.0000
0.2500
Disordered
1.0000
0.0000
0.0000
0.6250
0.7500
0.3125
Mirror Disordered
1.0000
0.0000
0.0000
0.7500
0.6250
0.3125
Unique
1.0000
0.0000
0.0000
0.6250
0.6250
0.3750
Green = Function Structure type compared to equivalent metric
Red = Indicates metric value greater than equivalent metric
Table 3.3 shows the metric values for each of the architectural analogy types shown in
Figure 3.5. The metric scores which are designed to relate to a specific architectural type are in
green while any score which is greater than that value are in red. As anticipated, both the
identical and mirrored architectural types are the only types with a score associated with them in
their correlated metrics, respectfully. The unique metric was highest with the unique
architectural type, however, it is significantly higher than a majority of values calculated in
46
experiments. The disordered and mirror disordered while did not display the highest scores, did
not perform surprisingly. The architectural types displayed in Figure 3.5 do not have any
functions which do not match between the function chains. This affects the disordered and
mirror disordered metric scores greatly.
This is precisely the reason a computer program is necessary to interpret the data. As
previously mentioned, the current DRACULA algorithm relates the components of the analogies
in the repository with the user inputs. However, the algorithm does not take into consideration
the architecture of the analogies. This is an aspect which is desired within the tool as it is
anticipated that certain functional model architectural similarities may provide better analogy
results than others.
3.3
Conclusion
The identification of the various Design by Analogy tools is a large step towards the
development of new tool, such as DRACULA. The theoretical method behind DRACULA
attempts to implement a new tool which is geared towards filling an observed experience gap in
the design engineering community. With the implementation of the DRACULA successful, the
need to validate the tool became the next step. To validate DRACULA, the concept of
functional model pattern types was explored. Two aspects were identified for a function model,
component and architecture. While the components of two function models can be compared
directly, five different comparisons were identified within architecture: identical, mirror,
disordered, mirror disordered, and unique. The next step became how best to identify each of
the six metrics and place a value with each one. This would be followed by validation of the
metrics to ensure that they are appropriate method of assessing analogical pairs.
47
CHAPTER 4
EXPERIEMENTS
Chapter 4 discusses the preliminary results from analogy matching through function, flow
and performance parameters on the DAPPS project and presents an outline of the remaining
required work. Initial testing shows that a tool, such as DRACULA, which is based on function,
flow, and performance parameters can be beneficial to a design engineer creating a new design.
Additionally, it is theorized that more comprehensive matching metrics can lead to more robust
identification of design analogies
4.1
DAPPS Case Studies
Lucero et al. [7] conducted several case studies examining the algorithms underlying
DRACULA. These studies primarily showed the ability to identify critical components of a
functional model as well as showing that useful analogies could be determined by comparing the
critical functions within Functional Models. While the method was shown to be useful, the
overall value of the method has not been assessed. This is work which needed to be tested.
4.2
Metrics
The metrics originally implemented in DRACULA only evaluate the component
similarity of the critical chains within the functional models. They do not consider the nature of
the architecture. While many analogies are based solely on component similarity (e.g. a nail gun
versus a stapler) other analogies present different architectures that go beyond similarity (i.e. a
motor versus a generator). This project established metrics to be used to measure both
component similarity and architectural relationships. These metrics serve two purposes. First,
they will be used to score the analogies beyond the current DRACULA algorithm. These metrics
48
were developed based on the six different aspects of components and architecture. The metric
measures the closeness of the compared sets based on their components.
The metrics identified
for the comparison of functional structures are the Component similarities, along with the five
architectural similarities: Identical, Mirrored, Disordered, Mirror Disordered and Unique. Six
equations have been developed to establish a numerical value to each of these metrics. Equation
4.1 shows the equation for the Component comparisons.
(4.1)
where
FunctionsShared = The number of functions two chains have in common
Chain1Length = The total chain length of the input
Chain1Length = The total chain length of the source required to cover all common
functions
This metric models multiple aspects of similarity. First, it is important to know the total
number of functions in common. Second, it is important to note how the common functions
relate to the input chain. Third, it is also important to note how the common functions relate to
the source analogy chain. Finally, it is important to keep track of the functions the source has in
common with the input as well as the functions in between, but exclude the functions in the
beginning or the end of the source chain which are not relatable to the input. A visual
representation of this function chain snipping operation can be seen in Figure 4.1.
49
Figure 4.1
Function Chain Snipping Example
The snipping operation considers the green pentagon and yellow diamond significant as
they are in common as well as the red circle as it is between the common functions. Both of the
blue squares would be discarded as they are not perceived to have significance. The next metric,
identical, is nearly identical to the component metric, with the exception that its determinate is
based on whether or not the common functions of the input and the source are in the exact same
order. If the order of the common functions is not the same in the two chains, the metric value is
zero.
(4.2)
The variables for the Identical equation are the same as Component equation. It has been
speculated that there may be value in having a value for Identical metric which is based on the
greatest number of functions in the source which have the same order as the input, however, this
concept will be further vetted at a later time. The calculation for the Mirrored metric is also
nearly identical to the Component, as seen in Equation 4.3. The exception for the Mirrored
metric is that it is dependent on the common functions of the input chain and the source chain to
be in the exact opposite order.
50
(4.3)
The Disordered and Mirror Disordered metrics assign a value to the location of each
shared function from the source to the input. Equation 4.4 and Equation 4.5 show the method
which calculate the values associated with each of the two metrics.
(4.4)
(4.5)
where
n = the number of matched functions
IFPi = the position of input function i
SFPi = the position of source function i
The overall goal of these two metrics is to try to judge how close various sets are to being
in the same order. Take Figure 4.2 for example. If you consider that there are four possible
positions, then the fraction of the whole that the Disordered red circle is from the Design
Problem red circle is ¾. The same would be true for the blue square and the yellow diamond.
The green pentagon is three positions away. Therefore, the value associated with the green
51
pentagon is ¼. The total disordered score in this example would be ¾ * ¾ * ¾ * ¼ = 27/256 ≈
0.105.
Figure 4.2
Disordered Example Comparison
The Mirror Disordered value would be based on how close each function is to its
mirrored position. In this case, the red circle would receive a score of ½, the blue square a 1, the
yellow diamond a ½, and the green pentagon would receive a 1. The total score in this scenario
for the Mirror Disordered metric would be a ¼ or 0.25. This example now shows how a
function chain may be viewed as a disordered set originally may actually be closer to a mirror
disordered, thus exemplifying the desire to use computers to assess potential matches. The last
metric is the Unique metric. Equation 4.6 shows the simplistic nature of the calculation.
(4.6)
The equation is simply the Disordered and Mirror Disordered values subtracted from a
max score of 1 after being divided by two in order to ensure the range this and every metric is
normalized from 0 to 1. The Unique value calculated from the comparison in Figure 4.2 would
yield a final value ≈0.822. Due to the similar nature between the Identical and Disordered as
52
well as the Mirrored and Mirror Disordered metrics, only the Disordered and the Mirror
Disordered values are used in the calculation.
4.3
Sisyphus
In an effort to efficiently compare function chains using the aforementioned metrics, a
MATLAB program was created, called Sisyphus. The name, Sisyphus, came from a period of
slow progress during the thesis. The role of Sisyphus is to perform all necessary metric
calculations for the experiments which will validate the proposed metric. There are two major
benefits of using Sisyphus. The first is accuracy. As the experiments conducted for this thesis as
well as future experiments require several calculations to be performed, it is likely a human
would make mathematical mistakes, even though much of the various calculations are simple
arithmetic. This also leads to the second reason of efficiency. In total there are six metrics being
assessed in each analogical comparison. The smallest set of data to be used in an experiment is
approximately 30 comparisons.
Sisyphus consists of eight different functions created in MATLAB. There is one function
to calculate each of the six metrics. One function was created to remove functions at the
beginning or end of the chain which do not coincide with the second function chain. The
function which removes the unnecessary functions from the beginning and end of a chain is
called a Snipping Function. The final function is a call function which calls all of the metric
functions and the snipping function in the appropriate order. The call function also normalizes all
of the calculated values on a scale from 0-1, to make comparison process easier.
Sisyphus has several sets of outputs. The first is a table which contains every possible
combination of analogical pairs from the dataset and the calculated metric values associated with
them. This table is exported to text file for further analysis. The second output is the
53
predetermined list of comparable analogies, such as the impeller and propeller, and the
calculated metrics associated with them. The set of comparable analogies is displayed to the user
as well as exported to a text file. The last two parts output by Sisyphus is the average metric
values of each of the list sets which are solely displayed to the user. All of these outputs were
put in place to aide in the analysis of any experiments.
4.4
Experiment Development
The intent of the experiment was to validate the developed metrics. One of the primary
researchers on the DAPPS project, Professor Julie Linsey of Georgia Institute of Technology,
has expertise in the formulation and analysis of case studies and experiments of this nature.
With the guidance of Prof. Linsey, the experiments continued where the case studies performed
by Lucero et al. [7] left off. Once the development of the experiment had been concluded, a set
of students would be handed two packets of papers. The first packet contains five common
household items, such as a can opener or electric clothes iron and a design problem for each
product. An example of this would be that the manufacturer wishes to increase the efficiency of
the product. The function structure of the product would be provided followed by a list of six
preselected potential analogies. The five products were going to be assessed and several of the
potential analogies would be able to be used for more than one product, totaling 21 potential
analogies. The second packet contains details about each potential analogy. The potential
analogies consisted of both biological systems and man-made products. Each potential analogy
would have its own page with a title, description, critical functions, and an area for any helpful
figures. The intent of the description is to provide a written understanding of how the product
works in a constant manner. The critical functions are provided to highlight the most important
aspects of that products various products. The provided figures would allow to participant to see
54
the product in question. As most of the potential analogies were other products, most of the
supplied potential analogies had a function structure in the figures area. For some of the
analogies a picture indicating the process which is occurring was added. An example of this
would be a cut-away picture of the product exposing the internal components allowing the
participant to see how the internal components interacted as seen in Figure 4.3.
Figure 4.3
Potential Analogy Cut-Away Example [48]
All of the provided data about the potential analogies is to ensure that a common
understanding of each one is available to the participants. All function structures used for this
portion of the experiment came from either the Oregon State University Design Lab or
developed by students of Dr. Linsey. This is one of the primary concerns which was raised by
55
Dr. Linsey during development. Dr. Linsey stated that if each of the potential analogies were not
able to be properly understood, the collected data could become skewed.
The participant, as previously mentioned would be asked to compare the product to six
potential analogies. The participant would be instructed to rank the potential analogies in one of
four design characteristics: similarity, applicability, ability to be successfully implemented and
likelihood to lead to a novel solution. The reasoning behind this is theory that potentially one or
more of the previously defined metrics may either directly or inversely correlate to one of the
design characteristics.
4.4.1 Experiment Implementation and Termination
Before the experiment was handed out to an appropriate amount of participants, two
preliminary runs were scheduled. The first preliminary study was given to two experienced
design engineers. There were several purposes to the preliminary study. The first purpose was
consistency. As previously specified, if the information provided about each of the potential
analogies was not consistent or if a similar understanding about each of the potential analogies
was not ensured, the results of the experiment could become skewed or inconsistent. The second
purpose was feasibility. By giving the experiment to experienced design engineers, it was
thought that the possible connections between the product and the potential analogies would be
more easily seen. As such, it was theorized that the results would be closer to the anticipated
results. The second preliminary study was never performed and will be discussed later in Future
Work.
The second preliminary study was not performed due to several complications which
arose during the first preliminary study. Four primary complications were observed during the
first preliminary study. The first was a difference in perspectives about the interpretation of the
56
provided information about the potential analogies. Both first study participants ran through the
experiment multiple times. During these multiple run-throughs it was discovered that the
different perspectives yielded different results. The ability to discern the quality of the
comparisons between the product and the potential analogies was ultimately the differentiation
characteristic. An example of the results of one of the questions with three different perspectives
by the same individual can be seen in Table 4.1. The question marks signify that the participant
was unsure of the relation to the problem.
Table 4.1
Preliminary Study Results Perspective Example
Perspective 1
Perspective 2
Perspective 3
Black and Decker Can Opener
1
3
1
Blackberries
2
4
2
Keyhole Limpets
?
2
3
Milwaukee Copper Tube Cutter
3
5
5
Velvet Worms
?
1
4
VHS Player
3
6
6
? = Indicates the participant was unsure of the relation between the potential analogies
This example plainly shows the effects of the different perspectives. The first perspective
did not allow for two of the potential analogies to be comparable to the design problem. It
should also be noted that the relative scores of most of the potential analogies change
considerably from one perspective to another.
57
The second complication which arose during the first preliminary study was inconsistent
results. As stated previously, the participants did several run-throughs of the experiment. The
participants made an effort to try to use similar approaches as each other for various trials. Even
when the participants used similar approaches, the results were inconsistent. This coincides with
the findings by Ward et al. in that participants are not solely limited by the problem, but are
influenced by memories and experiences [49]. Table 4.2 shows one of the comparisons between
the two participants answer’s using similar perspectives.
Table 4.2
Preliminary Study Results Consistency Example
Participant 1
Participant 2
Black and Decker Can Opener
5
1
Blackberries
4
2
Keyhole Limpets
1
3
Milwaukee Copper Tube Cutter
3
5
Velvet Worms
2
4
VHS Player
6
6
Just as with the previous example, this consistency example highlights the second
complication seen in the experiment. On average, the answers are different by 33% for each of
the potential analogies. With this difference, it should also be noted that the direction which
each score was skewed when comparing the two was also inconsistent.
58
The third complication of the first preliminary study was that the potential analogies
suffered from structural challenges. These structural challenges included the variation of the
complexity of the concepts. While the purpose of the information provided about each of the
potential analogies was meant to help the understanding of the analogy, the difference in the
complexity of various analogies required different amounts of information to be required. While
this aided the effort to ensure that a consistent basic understanding was achieved, it undermined
the consistency of the analogies. Another example of this is the complexity of the function
structures. All of the function structures were either collected by Dr. Lucero for the use of her
case study or retrieved from the Design Repository at Oregon State University. To ensure
consistency all the function structures were commonly formatted. However, since there were
different origins of the function structures, as well as different complexities in the base analogies,
the complexity and depth of the function structures varies.
The final complication of the experiment was a lack of uniformity within the linguistics.
Due to the fact that many of the potential analogies came from various engineering domains,
generally mechanical and biological, it is difficult to ensure that a common language is
consistent throughout the entirety of the experiment. This again leads to a breakdown in trying
to ensure consistency between all of the potential analogies.
These are the primary reasons behind not continuing the experiment at this time. All four
of the aforementioned complications have plausible solutions. Due to the forthcoming end of
funding for the DAPPS project, it is not feasible to pursue the experiment further into the second
preliminary study and the primary experiment.
59
4.5
Van Helsing
The need to validate the metrics was still a primary concern for the DAPPS project. A
new experiment needed to be designed to meet this need. After the termination of the planned
experiment, the principle investigators collaborated to develop an alternate approach. One of the
topics discussed was the available resources. During the development of the initial experiment,
Sisyphus was created to be able to efficiently calculate the metric values for the experiment.
This code also contains all of the function chains used in the initial experiment by the potential
analogies as well as the products, approximately 30 chains. This lead to the realization that in
the current state of the program, over 400 comparisons could be made. This brought on the idea
that it could be possible to find pairs of objects which could be considered analogies to each
other within the data already collected. These analogies could be compared to the overall
average of the entire data set to establish a baseline with the metrics as well as being able to
check to see if the results are as anticipated. This test was given the name Van Helsing due to its
relationship to the DRACULA program. A search for comparative analogies which would not
necessarily be immediately obvious but still perceived as being similar. Within the initial data
set, five pairs were found. The initial comparison of the first five pairs can be seen in Table 4.3.
Table 4.3
Van Helsing Initial Test Data
Nerf Gun
Nerf Gun
Vacuum Vice-Grips
Tube Cutter
Nail Gun
Brad Nailer
Blower
Quick Grip
Can Opener
Average
Component
0.4638
0.6
0.5455
0.75
0.8571
1
Identical
0.2805
0.6
0.5455
0.75
0.8571
1
Mirror
0.0181
0
0
0
0
0
Disordered
0.5754
1
1
1
1
1
60
Table 4.3 Continued
Mirror Disordered
0.3406
0.5556
0.5556
0.5556
0.5556
0.52
Unique
0.1527
0.2222
0.2222
0.2222
0.2222
0.24
In all of the metric categories, except for Mirror, the metric scores of each of the analogy
pairs are greater than the average scores of all of combinations in the data collection. While this
small scale test did not prove the theory that the proposed metrics are valuable for comparing
function structures, it does point the research into a direction which may provide fruitful results.
The next step was to create a larger list of analogies which could be used to elaborate on
the initial test of Van Helsing. Further collaboration lead to a list of 26 comparative analogies
which could be used to further test Van Helsing. The full list of the 26 comparative analogies
can be seen in Table 4.4.
Table 4.4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Comparative Analogies
Comparative 1
Vacuum
Vacuum
Vacuum
Vacuum
Electric Screwdriver
Black & Decker Slice Right
Irwin Quick Grip Clamp
Electric Can Opener
Electric Can Opener
Back Massager
Toy Nerf Gun
Toy Nerf Gun
Toy Nerf Gun
Toy Nerf Gun
Electric Pellet Gun
Paper Shredder
Comparative 2
Air Popcorn Popper
Shop-Vac Blower
Dyson Bladeless Fan
Water Pump
Electric Drill
Electric Jigsaw
Vice-Grip Pliers
Electric Copper Tube Cutter
Electric Jar Opener
Toy Bumble Ball
Electric Pellet Gun
Pneumatic Nail Gun
Pneumatic Brad Nailer
Electric Nail Gun
Paintball Gun
Noodle Maker
61
Table 4.4 Continued
17
18
19
20
21
22
23
24
25
26
Paper Shredder
Noodle Maker
Parachute
Parachute
Evaporative Cooler
Winch
Umbrella
Impeller
Velcro
Wind Turbine Blade
Shaved Ice Maker
Shaved Ice Maker
Dandelion Seed
Handheld Anemometer
Ant Air Vents
Thread Spool
Satellite Dish
Propeller
Plant Burrs
Whale Fin
By increasing the list of the comparative analogies, the list of analogies to be used for the
comparison also increases. The total count for the sources in the data set for Van Helsing is 59.
The function chains for the 59 predetermined analogies come from function structures from
Oregon State Universities Design Lab, Dr. Lucero’s research, or developed by students
performing research under Dr. Linsey. For Van Helsing, Sisyphus runs through 1711
comparisons using the sources from the data set and an additional 26 for the specified analogies
totaling 1737. This process takes several seconds. 1711 values to compare to the 26 compared
analogies seemed to be more than adequate and due to the time conditions, was not increased
further.
4.6
Conclusion
Once methods of calculating the predetermined metrics, the development of an
experiment to test the metrics began along with the generation of a tool, Sisyphus, to help the
generation of the metric values. Both Sisyphus and the experiment were being developed
simultaneously. When the initial experiment was deemed impossible with the current project
resources, the metrics and Sisyphus were still seen as assets. After much collaboration a new
62
experiment was set forth calculate a set of predetermined analogies against the average of a large
set of sources. The following chapter will discuss the results of the experiments.
63
CHAPTER 5
RESULTS & DISCUSSION
To understand the role of the metrics used in Sisyphus and to evaluate the hypothesis that
the quality of matches based on function structure can be determined by comparing the function
structure, the experimental Van Helsing, introduced in Chapter 4, was conducted. The results of
this experiment are discussed in this chapter.
5.1
Results
The previous chapter discussed the development of the experiment titled Van Helsing.
This experiment consisted of the program Sisyphus which contained 59 different function
models which are analyzed in combinatorial pairs. It also analyzes 26 specific, predetermined
comparisons, matching known analogies, as well as performing some statistical analysis. The
output of Sisyphus contains a text document of each set with the calculated metric values for
each comparison. In total 1737 analogical comparisons were performed by Sisyphus. Several
aspects were considered in data analysis. The first considered the metric averages for the entire
pairwise combinational dataset. The average metric values of the dataset are in Table 2.1.
Table 5.1
Average
Dataset Average Metric Values
Component
Identical
Mirror
Disordered
Mirror
Disordered
Unique
0.5348
0.2869
0.0211
0.7164
0.4479
0.2016
By calculating an average of a data set, it can be established what the typical values when
two random sources from the list are compared. If the average values of the predetermined set
64
(Table 5.2) show a tendency to be either greater or less than the dataset average, then a pattern
may be established with respect to the effectiveness of the metrics as analogy matching criteria.
Table 5.2
Predetermined
Analogies Averages
Difference from
Random Average
Dataset Standard
Deviation
Predetermined
Analogies Standard
Deviation
Predetermined Matches Metric Value Statistics
Component
Identical
Mirror
Disordered
Mirror
Disordered
Unique
0.7039
0.4808
0.0000
0.9061
0.5229
0.2470
+ 0.1692
+ 0.1939
-0.0211
+ 0.1897
+ 0.0750
+ 0.0454
0.2086
0.2999
0.1041
0.3970
0.2568
0.1104
0.1936
0.3620
0.0000
0.2078
0.1161
0.0615
At first glance, most of the direct average comparisons appear to be useful. It should be
noted that each metric calculation was normalized to have a range of [0 to1], however due to the
nature of the calculations the Unique metric will typically have lower values. Noting that the
range of all the metrics is [0 to 1] and that the Unique values will inherently be lower, the
difference in the average values of the two sets is promising. The one metric which shows
concern is the Mirror metric. It had been theorized on the DAPPS project that reverse analogies,
or analogies which have reversed function structures are difficult to identify. In addition, it
should be noted that the way the metric calculations were set up the ability for a comparison to
calculate a value for Identical and Mirror metric values is mutually exclusive. By definition,
Identical structures cannot Mirrored, and Mirrored structures cannot be Identical. This also
being said, it is also possible for the structures being compared to be neither Identical nor
Mirrored. Further work on mirrored analogies is likely necessary. Our further analysis of the
65
behavior of the mirrored analogy supports this conclusion and thus further results focus on the
other 5 metrics.
Table 5.3
Analogy 1
Preselected Comparison Metric Values
Analogy 2
Vacuum
Air Popcorn Popper
Vacuum
Shop-Vac Blower
Vacuum
Dyson Bladeless Fan
Vacuum
Water Pump
Electric Screwdriver
Electric Drill
Black & Decker
Electric Jigsaw
Slice Right
Irwin Quick Grip
Vice-Grip Pliers
Clamp
Electric Copper Tube
Electric Can Opener
Cutter
Electric Can Opener Electric Jar Opener
Back Massager
Toy Bumble Ball
Toy Nerf Gun
Electric Pellet Gun
Toy Nerf Gun
Pneumatic Nail Gun
Pneumatic Brad
Toy Nerf Gun
Nailer
Toy Nerf Gun
Electric Nail Gun
Electric Pellet Gun
Paintball Gun
Paper Shredder
Noodle Maker
Paper Shredder
Shaved Ice Maker
Noodle Maker
Shaved Ice Maker
Parachute
Parachute
Evaporative Cooler
Winch
Umbrella
Impeller
Velcro
Wind Turbine Blade
Dandelion Seed
Handheld
Ant Air Vents
Thread Spool
Satellite Dish
Propeller
Plant Burrs
Whale Fin
Component Identical Disordered
Mirror
Unique
Disorderd
0.4286
0.8750
0.5333
0.6667
0.8571
0.4286
0.8750
0.5333
0.0000
0.0000
1.0000
1.0000
1.0000
0.9200
0.8333
0.5556
0.5102
0.5000
0.5200
0.5556
0.8421
0.8421
1.0000
0.5000 0.2500
1.0000
1.0000
1.0000
0.5556 0.2222
1.0000
0.6000
0.8889
0.7500
0.6000
1.0000
0.6000
0.0000
0.0000
0.6000
1.0000
1.0000
0.6250
0.7778
1.0000
0.5200
0.5556
0.7500
0.5556
0.5556
0.2400
0.2222
0.3125
0.3333
0.2222
0.5455
0.5000
0.7500
0.5000
0.6667
0.5000
0.6000
0.5714
0.3333
1.0000
0.5714
1.0000
0.8333
0.8889
0.5455
0.5000
0.0000
0.5000
0.0000
0.5000
0.6000
0.5714
0.0000
1.0000
0.5714
1.0000
0.8333
0.0000
1.0000
1.0000
0.7778
1.0000
0.8750
1.0000
1.0000
1.0000
0.0000
1.0000
1.0000
1.0000
1.0000
0.7500
0.5556
0.5556
0.5556
0.5556
0.5000
0.5000
0.5556
0.5000
0.0000
0.5200
0.5000
0.5200
0.5200
0.6250
0.2222
0.2222
0.3333
0.2222
0.3125
0.2500
0.2222
0.2500
0.0000
0.2400
0.2500
0.2400
0.2400
0.3125
Green = Metric value in the top ten percent in that category
Red = Metric value less than the average in that category
66
0.2222
0.2449
0.2500
0.2800
0.3056
The next step in analyzing the method used in Sisyphus after comparing the average
metric value of each set is looking at each predetermined comparison and comparing them
individually with the average of the dataset as shown in Table 5.3. The values highlighted in red
are values which did not exceed the average of the metric values from the entire dataset. As no
predetermined analogies received Mirror metric scores, a Mirror column was omitted from the
table.
It can be seen from Table 5.3 that a majority of the calculated metric values from the
predetermined analogy comparisons are greater than the average of the dataset. Only four
predetermined analogy comparisons scored ranked lower than the average from the dataset in the
Component category, six in the Identical, one in the Disordered, and not in the Mirror
Disordered or Unique categories. The eight Identical values which are below the dataset
average are all 0.0000. This means that no Identical structure was calculated between the two
function structures. This is not surprising as it would be very logical to see that two functions
structures, while nearly identical, could have one function out of place which would stop the
Identical calculations from finding an associated value. The other predetermined comparisons
with metric values below the average of the dataset all appear to be exceptionally close to the
average. In addition to these aspects, no set of predetermined comparison metric values, with the
exception of the Mirror metric value, contain more than one value which is lower than the
average of the dataset. This too is a promising sign. One of the previously mentioned aspects is
that it is reasonable to think that one concept will not be the sole guiding principle which will
lead to the most promising Design by Analogy results. It is likely that multiple aspects will need
to be taken into consideration.
67
In trying to take the metric values to the next step, the thought came as to whether or not
any of the predetermined analogies had any metrics which ranked in the top ten percent overall.
24 of the 26 predetermined analogies had at least one which metric value which was ranked in
the top ten percent of the entire dataset of pairwise comparisons. Further, nine of the
predetermined analogies had three metric values which were ranked in the top ten percent of the
entire dataset. The nine predetermined analogies which have three metric values in the top ten
percent as well as the two pairs which had no metric values in the top ten percent are shown in
Table 5.4.
Table 5.4
Best and Worst of the Top 10%
Analogy 1
Analogy 2
Vacuum
Vacuum
Black & Decker
Slice Right
Irwin Quick Grip
Clamp
Shop-Vac Blower
Water Pump
Electric Jigsaw
Vice-Grip Pliers
Electric Copper Tube
Electric Can Opener
Cutter
Back Massager
Toy Bumble Ball
Evaporative Cooler
Winch
Impeller
Velcro
Wind Turbine Blade
Ant Air Vents
Thread Spool
Propeller
Plant Burrs
Whale Fin
Mirror
Unique
Disorder
1.0000
0.5102 0.2449
0.9200
0.5200 0.2800
Component Identical Disordered
0.8750
0.6667
0.0000
0.8421
0.8421
1.0000
0.5000 0.2500
0.8571
0.8571
1.0000
0.5556 0.2222
1.0000
1.0000
0.0000
0.0000
1.0000
1.0000
0.8333
0.0000
0.6250
0.0000
1.0000
1.0000
1.0000
0.7500
0.5200 0.2400
0.7500 0.3125
1.0000
0.8889
0.3333
1.0000
1.0000
0.8333
0.8889
0.8750
0.0000
0.5200
0.5200
0.5200
0.6250
0.0000
0.2400
0.2400
0.2400
0.3125
Green = Metric value in the top ten percent in that category
Red = Metric value less than the average in that category
There are several interesting takeaways from Table 5.4. The first one is with the last
entry with the Back Massager and the Toy Bumble Ball. When the metric values from this
specific set was compared to the average of the entire dataset, it was the only predetermined
68
analogy which had more than one metric value which was lower than the average of the entire
dataset. Yet the other metric values of the Back Massager and the Toy Bumble Ball were in the
top ten percent. While one example is hardly sufficient to make an absolute conclusion, this
shows that the metric values may be needed as a group to provide numerical values which
together show why two sources being compared are promising analogies.
The second takeaway from Table 5.4, is with the predetermined analogies whose metrics
all rank in the top ten percent in the Component, Identical, and Disordered categories. This may
be an indicator that these metrics could in fact be redundant to each other. Even though they are
mathematically different and were designed to assess different characteristics, such distinctions
may be unnecessary.
Similarly, the Component, Mirror Disordered, and Unique categories all came up as a set
twice, once with the bumble ball/massager pair and again with the wind turbine blade/whale fin.
This could indicate that these metrics may indeed be indicating similar strengths in an analogical
comparison.
The comparison between the evaporative cooler and the ant air vents was the second pair
of the predetermined analogies which did not have any metric values in the top ten percent.
Effectively, both are cooling processes which involve air flow and the exportation of thermal
energy through water. The metric scores indicate that only one function was found in common
between the two function chains. This is known as only the component value has a score. The
function structures used for each of these processes were harvested from two separate resources.
There are multiple possible explanations for the chains not being comparable. First, the
processes may not overlap as much as previously thought. Second, since the function structures
were taken from different resources, the interpretation of each process may be different and as
69
such would yield different structures. Either way further analysis into both the evaporative
cooler and the ant air vents processes in necessary to determine if the metrics failed to recognize
the comparison due to inadequate metric definitions, the analogy is purely an outlier, or if the
pair is not an analogy at all.
The final aspect looked at for the data is statistical data. The standard deviation of all
metrics within the dataset as well as for the predetermined analogies can be seen in Table 5.2.
Boxplots of the datasets have also been provided in Figure 5.1 and Figure 5.2.
The standard deviations of each set of data provide some useful information. It is worth
noting the difference in the standard deviations of the Disordered, Mirror Disordered, and
Unique metrics. The predetermined analogies have a significantly smaller standard deviation in
these metric categories compared to the entire dataset. This is another indicator that the
Disordered, Mirror Disordered, and Unique metrics provide valid results. The standard
deviation of the Mirror metric of the predetermined analogies is useless as no analogies were
indicated to have Mirrored architectures.
The boxplots primarily reinforce the findings from comparing the standard deviations of
the two datasets. As expected from the standard deviation, the Disordered, Mirror Disordered,
and Unique metrics have very tight groupings. It is worth noting that the Identical metrics in
Figure 5.1 and Figure 5.2 are exceptionally similar with the exception of the median of each
group. It is also worth noting that a majority of the Component scores in the predetermined
analogy set would be considered to be above 25% of the average. This could be an indicator of
the validity of the Component metric and its scoring system.
70
Figure 5.1
Figure 5.2
Entire Pairwise Dataset Statistical Boxplot
Predetermined Analogies Boxplot
71
The last piece of information which can be taken away from in Figure 5.1 and Figure 5.2
is with the outliers. Every non-zero score in the Mirror metric category is labeled as an outlier.
This reiterates the thought two sources which have inversed function structures are difficult to
find. It is also worth noting that every zero score in the Component metric category is
considered an outlier. This is perhaps an indicator that however unlikely sources seam, they may
have a small connection.
5.2
Results Conclusion
There are several discoveries to be taken away from Van Helsing discussed in this
chapter. Most notably with the Mirror metric. The Mirror metric values did not show the
expected insight, however the insight provided is still useful and not surprising. In addition to
this, it appears as though some metrics seem to work together in showing potential significance.
That being said, some metrics may be repetitive in terms of their usefulness.
5.3
Van Helsing
Van Helsing implemented the program Sisyphus to calculate six analogy metrics for
nearly 2000 pairwise combinations. It also generates statistical data associated with two separate
sets of data. The first set of data consists comparing all possible combinations of sources
together. The second set of data is a predetermined dataset which was comprised of 26
predetermined analogies. These predetermined analogies were seen as potentially strong
analogies while not being viewed as trivial by experienced design engineers. These comparisons
used the six previously defined analogy comparative metrics: Component, Identical, Mirror,
Disordered, Mirror Disordered, and Unique. As a result of this analysis, the following
conclusions were made about the validity of these metrics for analogy identification.
72
5.3.1
Mirror Analogy Metric
During several of the steps of the analysis two comments about the Mirror metric were
made. The first dealt with the fact that due to the nature of the Mirror metric calculation method,
very few comparisons showed any indication of the two function structures having exact inverse
flows. This is not surprising as it has been theorized that inverse analogies are exceptionally
difficult to identify. Van Helsing supports this theory. First, none of the predetermined
analogies generated a Mirror metric score. One of the predetermined analogies is typically
considered a reversed analogy, the Wind Turbine Blade and the Whale Fin. The reason these are
considered reverse analogies is because the whale uses its fin to push water (fluid), thus
expelling energy and creating movement. The wind turbine blade is the reverse. The wind
(fluid) pushes on the wind turbine blade, expelling energy and causing movement. The reason
the Mirror metric did not pick up on this is due to the design of score. As stated in Chapter 4,
both the Identical and the Mirror metric rely on the order of the function shared in the linear
function chain to be in an exact order. If this exact order is not met, a score of zero is given.
Functions which are not shared can be in the chain, but the shared functions must match in the
appropriate order. This may be a design flaw in the system related to the vocabulary of the
revised functional basis. If the metric cannot identify the analogies which are already seen as
reverse or inverse analogies, there would be little hope that it could identify new inverse
analogies effectively. As previously mentioned, there were several compared sources which did
receive a score in the Mirror metric category, even though statistically they were considered
outliers. Of the 41 paired sources, not one of the paired sources appeared to be analogies to each
other. However, analogies do tend to be situation dependent. As such, these matches’ sources
may be useful under the right set of circumstances.
73
5.3.2
Disordered and Mirror Disordered Analogy Metrics
The Disordered analogy metric most likely showed the best promise for directly
comparing linear function chains. The average value of the Disordered metric values for the
predetermined analogies was the highest average of any of the metrics. The average Disordered
metric scores of the predetermined analogies was approximately 40% higher than the average
Disordered metric scores from the entire dataset. In addition to the highest average, the
Disordered metric category, along with the Mirror Disordered metric category both had
exceptionally small standard deviations. The Unique category from the predetermined set did
have the smallest standard deviation, however this is not surprising. As previously mentioned,
the Unique metric category is naturally a more narrow category which will yield smaller values
in general.
The tightness of the groupings of the both the Disordered and Mirror Disordered metric
values in the predetermined analogy set is exceptionally encouraging for these metrics. The
standard deviation of the Disordered and the Mirror Disordered metric values of the
predetermined analogy set are 1/4th and 1/5th the entire data set, respectively, in addition to
having a higher average value than typical of other metrics. The statistics of these two metrics
show the potential of the Sisyphus program. It should be reiterated that the Disordered and
Mirror Disordered metric categories are somewhat dependent on the Identical and Mirror metric
categories, respectively. This dependency is only that, by design, typically Identical functions
structures will lead to higher Disordered metric scores and Mirrored function structures will lead
to higher Mirror Disordered metric scores.
74
5.3.3
Identical Analogy Metrics
The Identical analogy metric has an overall interesting result. The range of the Identical
metric values are identical for both the complete dataset and the predetermined analogy set. Also
the third quartile for both sets sits in a nearly identical value when looking at the Identical scores
from Figure 5.1 and Figure 5.2. Yet, both the median and the average of the predetermined
dataset are higher than the complete dataset. This still indicates the validity of this metric. The
one statistic which may be unfavorable for the implementation of the Identical metric is the
standard deviation. The standard deviation on the Identical metric is the only one where the
predetermined analogy set value is larger than the complete dataset value. On the other hand, the
as no Identical score can be calculated for every pair due to the mathematics, it may not be a
completely useless metric. One aspect which was discussed previously is the thought that the
Identical metric may be most useful when comparing sources with another metric, such as the
Component and/or Disordered metric(s).
5.3.4
Component Analogy Metric
The Component analogy metric is probably the most basic of the six as it only compares
what functions are shared between two different function chains. The Component metric showed
its worth when comparing the complete dataset to the predetermined analogies. The average
metric score of the predetermined set was higher than the complete set. The median of the
predetermined set was higher. The standard deviation was smaller. As mentioned in the
previous section, the Component metric may be most useful with other metrics, however. The
reason for this statement is the fact that within the predetermined analogy set, every time the
Component metric score was in the top ten percent of the entire data set, the Identical and
Disordered metric scores were also in the top 10 percent. This may be an indicator that when a
75
source pair scores high in these three metrics, that it is a stronger analogy than a pair which only
scores high in one or two of these metrics. This is purely speculation at this point, as there is no
other predetermined analogies which have only one or two of the top ten metrics to compare the
predetermined analogies with three top ten metrics.
5.4
DAPPS
A great deal of work has been done on the DAPPS project prior to Van Helsing. Most
notably would be the research and development of the program DRACULA, by Dr. Lucero et al
[7]. One of the next steps past the development of DRACULA was to develop a methodology
with which DRACULA can be baselined and compared to other Design by Analogy methods and
tools. Sisyphus has shown a strong ability during Van Helsing to be able to meet this need of the
DAPPS project. This is not to say that the metric equations do not need to be improved upon
before they can be implemented. They do show potential value. While not definitive, the
average metric scores of the complete dataset and the predetermined analogies do show a
likelihood that they can indicate if a pair of sources are analogies compared to random pairing.
At the very least Sisyphus could be used to indicate whether the analogy matching algorithm
used in DRACULA produces better, worse, or similar results to a random system. It is
reasonable to say at this point in the process that Sisyphus may be able to show the value of the
results from the DRACULA tool.
Sisyphus has shown an ability to distinguish potentially stronger analogies from weaker
ones. This is of great importance to the DAPPS project for the validation of DRACULA. The
success Sisyphus has shown in Van Helsing can potentially be helpful in other ways to the
DAPPS project. First, Sisyphus could potentially help steer the project towards being able to
provide certain types of analogies. For example, Sisyphus may be able to guide future version of
76
the DRACULA algorithm to be able to find analogies more effectively or even by architectural
classification. This could potentially be extremely helpful. In previous chapters, it was
mentioned that novice design engineers typically do not have the experience to provide as useful
analogies as an experienced design engineer. Furthermore, inverse analogies are believed to be
exceptionally difficult to identify. If DRACULA can identify potential inverse analogies to the
user, the analogy gap between the novice and experienced design engineers may become smaller.
In addition to Sisyphus having the potential to guide the DAPPS project towards the goal
of providing strong analogies through the use of graph theory and bond graphs, it is also possible
that Sisyphus could become a useful search algorithm, either independently or in conjunction
with DRACULA. One of the considerations with the DAPPS project is that a design engineer
may be looking for an analogy for multiple reasons. These reasons include innovativeness or at
the other end of the spectrum, purely trying to find feasible solution. In Chapter 4 the concept
was introduced that the different metric may coincide with different design goals, such as
innovativeness or ease of implementation. If a correlation were able to be made between one of
the metrics and a type of design goal, DRACULA and Sisyphus may be able to work in
conjunction in order to provide the user with even stronger analogies than DRACULA on its
own.
5.5
Conclusion
Van Helsing has advanced the overall goal of the DAPPS project. However, the question
remains as to how exactly it has benefitted the project. Sisyphus has shown an ability to indicate
the strength of two compared sources as potential analogies. With further analysis of Sisyphus,
improvements to both DRACULA and Sisyphus may be in order to ensure that DAPPS is
providing the best possible output.
77
CHAPTER 6
CONCLUSION
This final chapter compiles the research performed of the course of the thesis. The key
concepts are reinforced. The potential improvements to the system are also reiterated along with
the potential ways forward.
6.1
Design-by Analogy Tools
In previous chapters, three Design by Analogy tools were discussed: the WordTree
method, AskNature.org, and MEMIC. The WordTree method and AskNature.org have similar
limitations with regard to their linguistic natures. In addition to the linguistic aspects, both the
WordTree method and the AskNature.org tool are based on the use of a single function and does
not incorporate multiple functions or the manner in which multiple functions interact.
The assessment of MEMIC, the tool provided by Oregon State University’s Design Lab,
is a tool which looks both at multiple functions and the interaction between them. The tool is for
concept generation. Given the depth of the repository of the OSU Design lab, it is easy to see
how the repository has the potential to be used as a DbA tool as well as why Poppa used DbA as
a primary topic for Vector Space Similarity Measures [32].
The DAPPS project assesses the gaps of the aforementioned design tools as well as
incorporates other unique aspects. One of the goals of the project was to develop a method
which would not be limited by the linguistics of various engineering domains but rather unify
them. This was accomplished with the inclusion of Key Performance Parameters and placing
these parameters in normalized units utilizing the Dimensional Analysis Theorem.
78
6.2
DRACULA
The continuation of the development of the DRACULA analogy database and matching
algorithm has been a primary focus. The most substantial improvement from the initial
implementation of the tool has been the transition from a desktop run program into a resource
available online. This transition has been a major milestone for the project and has several key
benefits. First and foremost, the new availability will make the overall testing and validation of
the tool a reality. With the tool available online, and the knowledge gained from the case study
discussed in this thesis, the validation of the DAPPS method is a reality. Second, while it has not
been explicitly discussed, the development of the maintenance tool for the online version of
DRACULA enables the repository to be filled more efficiently as well as the overall
maintenance. Third, the online version allows for more helpful features such as clickable links,
photos and documents. The helpful features are not just for the users, but also for maintenance
and funding aspects. The online aspect allows for data to be collected about searches to facilitate
both maintenance and funding aspects. The final, and most important reason the transition to an
online tool is beneficial is that it is now more available for use to aid design engineers.
6.3
Metrics
The development of the metrics used for the validation of function matching has been a
large role of both the DAPPS project and this thesis. To develop these metrics, it was first
necessary to distinguish between various methods of comparing two function structures. While
looking at function structures, it was noted that there is a distinction between the components and
the architecture which are the functions contained within each set and the relationships between
the functions in each set, respectively. It was soon apparent that in order to fully grasp the
architectural comparison between two function sets, multiple characteristics would be necessary.
79
This is where identical, mirrored, disordered, mirror disordered, and unique function structure
comparison types were developed. With these six metrics established, mathematical equations
were generated in order to assign values to each comparative metric. Some of the equations are
simple in nature but have established a baseline for which functions structure matching can be
assessed.
6.4
Experiment Van Helsing
The initial small scale experiment being pursued developed complication making it
unable to be pursued within the scope of this thesis. In turn, a second experiment was developed
and carried out. Van Helsing involved the development of Sisyphus to calculate the six defined
metric scores associated with two function chains. The results from Van Helsing show that
Sisyphus is meeting its design goal of being able to be used to rank the strength of possible
analogies. More extensive verification is needed before Sisyphus can be used to make a
statement about the value of the analogies generated from DRACULA. With more verification
and possibly adjustments, the DAPPS project should be able to move forward with the
development of DRACULA as a useful Design by Analogy tool.
6.5
Future Work
With the completion of Van Helsing, there are several avenues with which the work
could be taken further. Some of the options include the algorithm improvement, completion of
the first experiment discussed in this thesis, and looking into multi-objective optimization.
These potential ways forward for the DAPPS project are discussed herein.
6.5.1
The Future of Sisyphus
Sisyphus has shown its potential to be able to distinguish stronger analogies from weaker
ones in Van Helsing. Van Helsing was a good step towards the validation of the algorithm used
80
in DRACULA. More work is needed in order to verify the usefulness of Sisyphus. Particularly,
the test should be expanded. If possible, more predetermined analogies should be found and
included into the dataset. This would serve multiple purposes. First, adding predetermined
analogies would serve in being able to prove the usefulness of Sisyphus. The set used in Van
Helsing has already served this purpose. More predetermined analogies could strengthen the
findings. It is also possible that a larger predetermined set could show that Sisyphus is not as
useful as initially believed.
Another addition to Sisyphus would be to add more linear function structures into the
dataset. This could have multiple effects. First, this could continue to grow the baseline usage
of Sisyphus. Similar to how more predetermined analogies could show either usefulness or
faults in the program, so could an increase in the sources in the dataset. An additional benefit
would be the possibility to see analogies that were not previously conceived. For example,
during the analysis of the results from Sisyphus during Van Helsing, the paired sources with a
Mirror metric score were looked at, but none were seen as analogical. Increasing the size of the
dataset increases the likelihood that a Mirror analogy could be found.
6.5.1.1 Algorithm Improvement
The algorithms behind DRACULA and Sisyphus both appear to be functional.
DRACULA has been shown to provide potential analogies [7], but the usefulness of the provided
analogies has yet to be tested. Sisyphus has shown an ability to highlight stronger analogies.
Beyond these initial tests results, it is impossible to make a statement on the effectiveness of the
algorithms. Dr. Lucero made did not anticipate that the initial algorithms implemented in
DRACULA would be the algorithm to be used in a finished product. She understood that there
would likely be room for improvement in the algorithm. The same can be said for Sisyphus.
81
The Mirror metric calculations are a perfect example, and with it, the Identical metric
calculations. Since the theory behind both the Identical and the Mirror metrics is the same with
the exception of the order of the functions within a function chain, if one is altered, so should the
other. As the Identical metric has already shown potential, drastic changes should be avoided,
however the Mirror metric statistics indicate that something should be changed. The proposed
change would be for the equation to assess the most number of metrics in the desired order.
Take the example in this Figure 6.1.
Figure 6.1
Modified Metric Example
Figure 6.1 is a modified version of the figure showing examples of the various different
function structure comparisons, but will suit the purposes of this example. Currently the
Disordered example would not get an Identical or Mirrored metric score when compared to the
design problem. However, it is not completely out of order. The thought occurred to develop
the algorithm to be able to count the maximum number of functions in a source being compared
which occur in the same order as to the design problem. In the example shown in Figure 6.1, if
the first chain is the design problem, the then second chain would have a perfect multiplier of 1,
the second would have a small multiplier of ¼ and the third chain would have a multiplier of ¾
for the Identical metric. When comparing the first chain to the other chains in Figure 6.1 for the
82
Mirror metric, the first chain being compared would receive a multiplier of ¼, the second would
receive the multiplier 1 and the third chain would receive a multiplier of 2/4 or ½. When
assessing the third chain being compared, there are three out of four functions in the same order
as the design problem while at most only two functions appear in the same order in the reverse
order.
The theory behind including this multiplier into the metrics has two parts. First, the
inclusion of this multiplier could help show Mirrored or inverse function structures more
effectively. It is reasonable to think that two function structures could be fundamentally inverse
to each other in concept but due to the interpretation of the processes that the individuals who
developed the function structures may have the same functions in a slightly different order.
Another example would be two products which serve the same purpose, such as an electric can
opener, but due to the design of each can opener the function structures are slightly different and
with the current scoring system, one could be seen as an inverse analogy while the other is not.
Situations such as these likely exist currently. It seems counter intuitive to not try to account for
them. This approach would be similar to the proposed method by Caldwell et al. which involves
pruning certain functions from a function chain to allow for proper comparisons to take place
[50].
6.5.1.2 Previous Experiments
Two experiments were detailed in Chapter 4. The second, Van Helsing, was seen
through to the end and the results were shared and discussed in previous chapters. The first
experiment was ended before it could be completed for multiple reasons. The primary reason
why the experiment was not taken to completion was due to problems with the development. As
previously stated, there were inconsistencies with both the data provided as well as with
83
interpretation of the instructions for the experiment. While every complication which arose
during the experiment could be solved, the resources required to adequately develop solutions
were more than were available on the project at the time. These resources primarily included
time and usable function structures. The deadline for completing the validation portion of the
DAPPS project precluded the ability to pursue the experiment to the end once the complications
arose. In addition, a larger set of functions structures with which potential analogies could be
pulled from would help in the generation of proper datasets for the experiment.
6.5.1.3 Multi-Objective Optimization
Optimization in engineering is not a foreign topic. Take a typical algebra course. Some
assignments include the students finding the maximum or minimum of a function on a graph. In
a calculus class, student might learn to find the maximum or minimum of a function using the
derivative. The function could be as simple as f(x,y)=x^2+y^2 which creates the shape shown in
Figure 6.2. These are examples of optimization.
One growing field which is currently being explored which relates to the DAPPS project
is Mulit-Objective Particle Swarm Optimization (MOPSO). In general, optimization problems
often have more than one objective function and the objectives being optimized are normally in
conflict with each other [51]. This means that no single solution is available for the problem.
When this situation occurs, a “trade-off” solution is sought out which represents the best possible
compromise to the objectives. In real life scenarios, the possible solutions to the functions may
not make up a nice shape, such as Figure 6.2, but instead may be scattered around the domain of
the solutions. In cases where solutions are scattered, it could be obvious that some of the
solutions are not optimal while others create all of the best solutions available. This set of the
84
best available solutions is called the Pareto Front. A Pareto Front in two objective space can be
seen in Figure 6.3.
Figure 6.2
Figure 6.3
f(x,y) = x^2 + y^2
Two Objective Space Pareto Front [51]
85
Consider each of the defined analogy metrics to be a dimension. If a product were
compared to every source in the dataset, and the scores plotted, the representation may look
similar to that of Figure 6.3. It would then become possible to search for the “best” possible
analogies based on which sources paired have the strongest overall scores. In addition to this,
previously it was discussed that it was theorized that some of the metrics may coincide with
various design goals. Since the Pareto Front shows the best “trade-off” positions in a dataset, an
individual could specify how to trade off which metrics were more or less important in an effort
to meet certain design goals. Even if the algorithms used by Sisyphus are not used, MOPSO
could be used with DRACULA if multiple algorithms become important in order to be able to
search for all possible analogy types.
6.5.2 Future Work Conclusion
Sisyphus has established a baseline for the DAPPS project to be used with DRACULA. The full
usefulness of Sisyphus has yet to be determined, however, once a definite conclusion is made,
more work will need to be done to fully implement it. Once it is fully implemented there are
several avenues with which the researchers of the DAPPS project can move forward both in the
validation of DRACULA and in developing a useful DbA tool.
6.6
Broader Context
There are several primary conclusions to be taken away from this thesis. The first is that
application of Sisyphus. Sisyphus was originally developed as a method of doing individual
function structure comparisons. It was later adapted to run Van Helsing. In Van Helsing,
Sisyphus showed that the metrics can indicate a stronger analogy than random pairings. This is
key as the metrics, and Sisyphus, can be used to validate DRACULA and indicate if the
86
analogies generated are stronger than random pairings, similar to the process used in Van
Helsing. Next, Sisyphus can be used to explore new avenues of analogy retrieval, specifically,
trying to accommodate for specific types of matches, such as a disordered pair. Lastly, it is
possible that Sisyphus could itself be further developed into an analogy retrieval tool, similar to
DRACULA or AskNature.org.
6.7
The DAPPS Design Statement
The primary goals of the research detailed in this thesis were developing a method to
validate the theory that analogy matching based on function flow, and performance leads to
better analogy generation. Through the metrics incorporated in Sisyphus, function, flow and
performance has been incorporated together via critical function chains. These metrics identify
known analogies consistently near the top of the metric scores for one or more metrics. These
scores are well-above the average of random pairwise scoring. Therefore, using these metrics
leads to better analogy generation from DRACULA and Sisyphus.
6.8
Conclusion
The DAPPS program has moved forward during the course of this thesis. There is no
doubt that the research performed for this thesis will help build the foundation with which
DRACULA can be validated and improved upon. With the help of Sisyphus, the individuals
working on the DAPPS project should be able to reach the ultimate goal of providing a tool
which utilizes graph theory and user-defined performance parameters to generate useful
analogies with DRACULA.
87
REFERENCES CITED
[1]
L. L. Bucciarelli, Designing Engineers, Cambridge: MIT Press, 2000.
[2]
A. T. Purcell and J. S. Gero, "Design and other types of fixation," Design
Studies, vol. 17, no. 4, pp. 363-383, 1996.
[3]
G. Pahl, W. Beitz, J. Feldhusen and K. H. Grote, Engineering Design: A
Systematic Approach, Springer: 2007, 2007.
[4]
N. Cross, "Designerly ways of knowing: design discipline versus design
science," Design Issues, vol. 17, no. 3, pp. 49-55, 2001.
[5]
B. T. Christensen and C. D. Schunn, "The relationship of analogical
distnace to analogical function an preinventive structure: The case of engineering
design," Memory and Cognition, vol. 35, no. 1, pp. 29-38, 2007.
[6]
L. J. Ball and N. J. M. Thomas C Ormerod, "Spontaneous analogising in
engineering design: a comparative analysis of experts and novices," Design Studies,
vol. 25, no. 5, pp. 495-508, 2004.
[7]
B. M. Lucero, "Design-Analogy Performance Parameter System (DAPPS)," Colorado School of Mines, Golden, 2014.
[8]
J. Hirtz, R. B. Stone, D. A. McAdams, S. Szykman and K. L. Wood, "A
Functional Basis for Engineering Design: Reconciling and Evolving Previous
Efforts," Research in Engineering Design, vol. 13, no. 2, pp. 65-82, 2002.
[9]
D. G. Jansson and S. M. Smith, "Design fixation," Design Studies, vol. 12,
no. 1, pp. 3-11, 1991.
[10]
H. Casakin and G. Goldschmidt, "Expertise and the use of visual analogy:
implications for design education," Design Studies, vol. 20, no. 2, pp. 153-175,
1999.
[11]
"AskNature.org," Biomimicry Institute, 2015. [Online]. Available:
www.asknature.org/article/view/why_asknature. [Accessed September 2015].
[12]
G. A. Miller, WordNet: A Lexical Database for English, Prinston:
Communications of the ACM, 1995.
[13]
G. A. Miller, R. Beckwith, C. Fellbaum, D. Gross and K. Miller,
"Introduction to WordNet: An On-line Lexical Database," International Journal of
Lexicography, vol. 3, no. 4, pp. 235-244, 1990.
88
[14]
T. Pedersen, S. Patwardhan and J. Michelizzi, "WordNet::Similarity Measuring the Relatedness of Concepts," in HLT-NAACL--Demonstrations '04
Demonstration Papers at HLT-NAACL 2004, Stroudsburg, 2004.
[15]
"About WordNet," Princeton University, 2010. [Online]. Available:
http://wordnet.princeton.edu.
[16]
D. G. Ullman, The Mechanical Design Process, New York: The McGrawHill Companies, Inc., 2010.
[17]
K. Otto and K. Wood, Product Design: Techniques in Reverse Engineering
and New Product Development, Upper Saddle River: Prentice Hall, 2000.
[18]
A. Kossiakoff and S. S. S. M. B. William N. Sweet, Systems Engineering
Principles and practice, Hoboken: John Wiley & Sons, Inc., 2011.
[19]
R. B. Stone and K. L. Wood, "Development of a Functional Basis for
Design," Journal of Mechanical Design, vol. 122, no. 4, pp. 359-370, 2000.
[20]
Y. A. Çengal and M. A. Boles, Thermodynamics: An Engineering
Approach, New York: The McGraw-Hill Companies, Inc., 2002.
[21]
D. A. McAdams and K. L. Wood, "A Quantitative Similarity Metric for
Design-by-Analogy," Journal of Mechanical Design, vol. 124, no. 2, pp. 173-182,
2002.
[22]
S. B. Hazez, "Linguistic Pattern-Matching with Contextual Constraint
Rules," Systems, Mand and Cybernetics, vol. 2, pp. 971-976, 2001.
[23]
M. R. Bohm, R. L. Nagel and M. L. Shirley, "A Tablet Based Application
for Teaching Function and Exploring Concept Alternatives During Early Design,"
in ASME 2012 International Design Engineering Technical Conferences and
Computers and Information in Engineering Conference, Chicago, 2012.
[24]
J. Hey, J. Linsey, A. M. Agogino and K. L. Wood, "Analogies and
Metaphors in Creative Design," International Journal of Engineering Education,
vol. 24, no. 2, pp. 283-294, 2008.
[25]
I. Chiu and L. H. Shu, "Natural Language Analysis for Biomimetic Design,"
in ASME 2004 Design Engineering Technical Conference and Computers and
Information in Engineering Conference, Salt Lake City, 2004.
[26]
P. Ngo, V. Viswanathan, C. J. Turner and J. Linsey, "Initial Steps Toward
an Analogy Retrieval Tool Based on Performance Specification," in ASME 2013
International Design Engineering Technical Conferences and Computers and
Information in Engineering Conference, Portland, 2013.
89
[27]
J. S. Linsey, A. B. Markman and K. L. Wood, "Design by Analogy: a Study
of the WordTree Method for Problem Re-Representation," Journal of Mechanical
Design, vol. 134, no. 4, 2012.
[28]
J. S. Linsey, K. L. Wood and a. A. B. Markman, "Modality and
Representation in Analogy," Artificial Intelligence for Engineering Design,
Analysis, and Manufacturing, vol. 22, no. 2, pp. 85-100, 2008.
[29]
Biomimicry Group Inc., "Biomimicry 3.8," [Online]. Available:
http://biomimicry.net. [Accessed September 2015].
[30]
AskNature.org, "Biomimicry Taxonomy," 2013. [Online]. Available:
http://static.biomimicry.org/asknature/biomimicry_taxonomy-v6.0.pdf.
[Accessed
September 2013].
[31]
"Sticky Proteins Serve as Glue: Blue Mussel," AskNature.org. [Online].
[Accessed 28 September 2015].
[32]
K. R. Poppa, "Theory and Application of Vector Space Similarity Measures
in Computer Assisted Conceptual Design," Oregon State University, 2001.
[33]
"Design Engineering Lab: Design Repository," Oregon State University,
2015. [Online]. Available: http://design.engr.oregonstate.edu/repo. [Accessed 28 12
2015].
[34]
"Design Engineering Lab Repository," Oregon State University, [Online].
Available: http://function2.mime.oregonstate.edu:8080/view/options.jsp. [Accessed
5 Ocotober 2015].
[35]
F. M. White, Fluid Mechanics, New York: The McGraw-Hill Companies,
Inc., 2011.
[36]
E. Coatané, Conceptual modelling of life cycle design : a modelling and
evaluation method based on analogies and dimensionless numbers, Helsinki
University of Technology, 2005.
[37]
B. Lucero, V. K. Viswanathan, J. S. Linsey and C. J. Turner, "Identifying
Critical Functions for Use Across Engineering Design Domains," Journal of
Mechanical Design, vol. 136, no. 12, 2015.
[38]
B. W. Caldwell, C. Sen, G. M. Mocko and J. D. Summers, "An Empirical
Study of the Expressiveness of the Functional Basis," Artificial Intelligence for
Engineering Design, Analysis and Manufactureing, vol. 25, no. Special Issue 03,
pp. 273-287, 2011.
[39]
M. R. Bohm, R. B. Stone and S. Szykman, "Enhancing Virtual Product
Representations for Advanced Design Repository Systems," Journal of Computing
and Information Science in Engineering, vol. 5, no. 4, pp. 360-372, 2005.
90
[40]
D. C. Karnopp, D. L. Margolis and R. C. Rosenberg, System Dynamics: A
Unified Approach, Wiley, 1990.
[41]
D. C. Karnopp, D. L. Margolis and R. C. Rosenberg, System Dynamics:
Modeling, Simulation, and Control of Mechatronic Systems, Wiley, 2012.
[42]
W. Borutzky, Bond Graph Methodology: Development and Analysis fo
Multidisciplinary Dynamic System Models, Springer, 2010.
[43]
J. S. Linsey, K. L. Wood and A. B. Marman, "Increasing Innovation:
Presentation and Evaluation fo the WordTree Design-by-Analagy Method," ASME
2008 International Design Engineering Technical Converences and Computers and
Information in Engineering Conference, pp. 21-32, 2008.
[44]
K. Fu, J. Chan, J. Cagan, K. Kotovsky, C. Schunn and K. Wood, "The
Meaning of "Near" and "Far": the Impact of Structuring Design Databases and the
Effect of Distance of Analogy on Design Output," Journal of Mechanical Design,
vol. 135, no. 2, 2013.
[45]
R. Lopez, "Characterizing the effects of Noise and Domain Distance in
Analogous Design," May 2011. [Online]. Available:
http://oaktrust.library.tamu.edu/bitstream/handle/1969.1/ETD-TAMU-2011-059510/LOPEZ-THESIS.pdf. [Accessed September 2015].
[46]
R. Lopez, J. S. Linsey and S. M. Smith, "Characterizing the Effect of
Domain Distance in Design-by-Analogy," ASME 2011 International Design
Engineering Technical Converences and Computers and Information in
Engineering Converence, vol. 9, pp. 141-151, 2011.
[47]
M. W. Glier, D. A. McAdams and J. S. Linsey, "An Experimental
Investigation of Analogy Formation Using the Engineering-to-Biology Thesaurus,"
in ASME, Portland, 2013.
[48]
T. Harris, "How Nail Gus Work," 3 September 2001. [Online]. Available:
http://home.howstuffworks.com/nail-gun.htm. [Accessed 1 April 2016].
[49]
T. Ward, "Structured Imagination: the Role of Category STructure in
Exemplar Generation," Cognitive Psycology, vol. 27, no. 1, pp. 1-40, 1994.
[50]
B. W. Caldwell and G. M. Mocko, "Validation of Function Pruning Rules
Through Similarity at Three Levels of Abstraction," Journal of Mechanical Design,
vol. 134, no. 4, 2012.
[51]
M. Reyes-Sierra and C. A. C. Coello, "Multi-Objective Particle Swarm
Optimizers: A Survey of the State-of-the-Art," International Journal of
Computational Intelligence Research, vol. 2, no. 3, pp. 287-308, 2006.
91
[52]
D. G. Ullman, The Mechanical Design Process, McGraw-Hill
Science/Engineering/Math, 2002.
92
APPENDIX A
DRACULA PSEUDO CODE
Match Units Pseudo Code
Data: user –selected engineering parameter (EP)
Data: minimum of one, maximum of three critical functions (CF1, CF2, CF3)
Data: list of bond graph type vectors corresponding to the critical functions (BG)
Data: list of possible parameter vectors (PV)
Result: list of parameter vector combinations which equal EP
For every PV(i)
If BG of PV(i) is compatible with CF1
If PF(i)==EP
Append PV(i) to results vector
End
Else
Continue
End
If CF2!=0
For every PV(j)
If BG of PV(j) is compatible with CF2
If PF(j)==EP
Append PV(j) to results vector
End
Else
Continue
End
End
If CF3!=0
For every PV(k)
If BG of PV(k) is compatible with CF3
If PF(k)==EP
Append PV(k) to results vector
End
Else
Continue
End
End
End
End
End
93
Find Best Analogy Pseudo Code
Data: List of analogies, each of which is a list of function chains (LA)
Data: List of function chains computed using “Match Units” (LC)
Result: Index of best analogy in the input list
For every LA(i,:)
For every LA(:,j)
For every LC(k)
Score = scoreChainPair(LA(i,j) , LC(k))
If score > maxScore
maxScore = score
maxIdx = i
End
End
Else
End
Return maxIdx
94
APPENDIX B
SISYPHUS PSEUDO CODE
Component Pseudo Code
Data: Problem input function chain (p)
Data: Source input function chain (s)
Result: Component metric score (Mcon)
I = the intersection of (p,s)
Mcon = 2 * number of functions shared / ( size ( p ) + size ( s ))
return Mcon
Identical Architecture Pseudo Code
Data: Problem input function chain (p)
Data: Source input function chain (s)
Result: Identical architecture metric score (MArchI)
Ip=intersect(p,s) without changing the order of ( p )
Is=intersect(s,p) without changing the order of ( s )
Il=size(Ip,1) the number of common functions
ps=size(p,1) original size of input problem chain
ss=size(s,1) original size of source chain
orders=zeros(Il,1) used to establish function chain order of (s)
orderp=zeros(Il,1) used to establish function chain order of (s)
count=0 the number of functions in order
MArchI=0 Initial Identical Architecture metric value.
for i=1:Il
orderp(i)=i;
end
for i=1:Il
for j=1:Il
if function Ip(i) = function Is(j)
orders(j)=i;
end
end
end
for i=1:Il
if orders(i)<=orderp(i)
95
count=count+1;
end
end
if count==Il
MArchI=(2*Il/(ps+ss));
end
return MArchI
Mirror Architecture Pseudo Code
Data: Problem input function chain (p)
Data: Source input function chain (s)
Result: Mirror architecture metric score (MArchM)
Ip=intersect(p,s) without changing the order of ( p )
Is=intersect(s,p) without changing the order of ( s )
Il=size(Ip,1) the number of common functions
ps=size(p,1) original size of input problem chain
ss=size(s,1) original size of source chain
orders=zeros(Il,1) used to establish function chain order of (s)
orderp=zeros(Il,1) used to establish function chain order of (s)
count=0 the number of functions in order
MArchM=0 Initial Mirror Architecture metric value.
for i=1:Il
orderp(i)=i;
end
for i=1:Il
for j=1:Il
if function Ip(i) = function Is(j)
orders(Il-j+1)=i;
end
end
end
for i=1:Il
if orders(i)<=orderp(i)
count=count+1;
end
end
if count==Il
MArchM=(2*Il/(ps+ss));
96
End
return MArchM
Disordered Architecture Pseudo Code
Data: Problem input function chain (p)
Data: Source input function chain (s)
Result: Mirror architecture metric score (MArchD)
Ip=intersect(p,s) without changing the order of ( p )
Is=intersect(s,p) without changing the order of ( s )
Il=size(Ip,1) the number of common functions
orders=zeros(Il,1) used to establish function chain order of (s)
orderp=zeros(Il,1) used to establish function chain order of (s)
count=0 the number of functions in order
MArchD=0 Initial Disorderd Architecture metric value.
for i=1:Il
orderp(i)=i;
end
for i=1:Il
for j=1:Il
if function Ip(i) = function Is(j)
orders(j)=i;
end
end
end
for i=1:Il
for j = 1:Il
if orders(i)=orderp(j)
count(i) = (Il – abs(i-j)) / Il
end
end
end
MArchD = sum( count ) / Il
return MArchD
Mirror Disordered Architecture Pseudo Code
97
Data: Problem input function chain (p)
Data: Source input function chain (s)
Result: Mirror architecture metric score (MArchD)
Ip=intersect(p,s) without changing the order of ( p )
Is=intersect(s,p) without changing the order of ( s )
Il=size(Ip,1) the number of common functions
orders=zeros(Il,1) used to establish function chain order of (s)
orderp=zeros(Il,1) used to establish function chain order of (s)
count=0 the number of functions in order
MArchMD=0 Initial Mirror Disorderd Architecture metric value.
for i=1:Il
orderp(i)=i;
end
for i=1:Il
for j=1:Il
if function Ip(i) = function Is(j)
orders(j)=i;
end
end
end
for i=1:Il
for j = 1:Il
if orders(i)=orderp(IL – j + 1)
count(i) = (Il – abs(i-j)) / Il
end
end
end
MArchMD = sum( count ) / Il
return MArchMD
Function Snipping Pseudo Code
Data: Problem input function chain (p)
Data: Source input function chain (s)
Result: Snipped function (snip)
I=intersect(s,p) without changing the order of ( s )
Il=size(Is,1) the number of common functions
ss= the number of original functions in chain ( s )
98
for i=1:ss
if function i of (s) is the first common function Il(1)
start = i
end
if function i of (s) is the last common function Il(1)
fin = i
end
end
snip = functions s(start) through s(fin)
return snip
Metric Calculation Call Function Pseudo Code
Data: Problem input function chain (p)
Data: Source input function chain (s)
Result: 6x2 cell with 6 labels and 6 metric values (MV)
Remove repeat functions in (p)
Remove repeat functions in (s)
If the intersection of p & s = 0,
All metrics = 0
Else
snip = snipped source function
If the intersection of p & s >=2
MV(1) = commonfunctions(p,snip)
MV(2) = ArchIdentical(p,snip)
MV(3) = ArchMirror(p,snip)
MV(4) = ArchDis(p,snip)
MV(5) = ArchMirDis(p,snip)
MV(6) = (2 – MV(4) – MV(5))/2
Else
MV(1) = commonfunctions(p,snip)
MV(2-6) = 0
End
End
return MV
Sisyphus Program Pseudo Code
99
Data: Product function chains (P)
Data: Predetermined Analogy List (A)
Result: All possible combinations of 2 product comparisons from P (dataset)
Result: Predetermined Analogy comparisons (analogies)
n = number of product function chains
count = 1
counta = 1
For all P(i), where i = [1,n]
For all P(j), where j = [i+1, n]
dataset(count) = MetricV(P(i),P(j))
End
End
For all L
analogies(count) = MetricV(L)
end
calculate average and standard deviation of each metric in dataset
calculate average and standard deviation of each metric in analogies
display boxplot of dataset
display boxplot of analogies
export dataset
export analogies
100
APPENDIX C
SUPPLEMENTAL ELECTRONIC FILES
Appendix C contains all necessary files to be able to perform the experiments detailed in
this thesis. The files are organized into three parts. The first is the files used in the preliminary
experiment and the results. The second part contains the files, source code, and results of the
second experiment performed. The third part is the source code for Sisyphus and functions
generated for Sisyphus.
Preliminary Experiment Files
Analogies V6.vsdx
Directions V6.docx
Results Subject 1.vsdx
Results Subject 2.pdf
Van Helsing Files
Function Structures.vsdx
Sisyphyus Data.xlsx
Sisyphus Files
ArchDis.m
ArchIdentical.m
ArchMirDis.m
These are the files used and generated from
the preliminary experiment discussed in the
thesis.
Visio file containing the analogies used in the
preliminary experiment.
Document file containing the directions and
questions for the preliminary experiment
Visio file containing all the answers from
Subject 1 in .jpg form for the preliminary
experiment.
PDF file containing the results of Subject 2
for the preliminary experiment.
These are the files used for the Van Helsing
experiment detailed in this thesis.
Visio file containing the function structures
used in the Van Helsing experiment.
Excel file containing data from two different
runs of the Van Helsing experiment, each of
which has two tabs. The second experiment
contains everything from the first.
These are the MATLAB source code files for
the operation of Sisyphus
MATLAB function which calculates the
disordered architecture metric.
MATLAB function which calculates the
identical architecture metric.
MATLAB function which calculates the
mirror disordered architecture metric.
101
ArchMirror.m MATLAB function which calculates the
mirror architecture metric.
Commonfunctions.m MATLAB function which calculates the
component metric.
MetricV.m MATLAB function which call all metric
function and outputs a cell containing all
calculated metric values for one comparison.
Sisyphus.m MATLAB function which calculates 100’s of
pairwise combinations, statistical data, and
output text files.
SnipS.m MATLAB function which removes
unnecessary functions at the beginning or end
of chains.
102