Exploring Integration of Tze Ho Lee (1997)

advertisement
Exploring Integration of
Four Information-based Product Development Tools
by
Tze Ho Lee
B.S., Mechanical Engineering (1997)
Massachusetts Institute of Technology
Submitted to the Department of Mechanical Engineering
in Partial Fulfillment of the Requirements for the Degree of
Master of Science in Mechanical Engineering
at the
Massachusetts Institute of Technology
June 2000
2000 Massachusetts Institute of Technology
All rights reserved
S ig natu re of A utho r ................................................... . . . . . . . . . . . . . . . . . .
DepartmerPf Mechanical Engineering
May 08, 2000
C e rtified b y ..............................................
William W. Finch
Research Scientist
Thesis Supervisor
Accepted by .....................
Ain A. Sonin
Chairman, Department Committee on Graduate Students
MASSACHUSETTS INSTITUTE
OF TECHNOLOGY
SEP 2 0 ZOOQ
LIBRARIES
EXPLORING INTEGRATION OF
FOUR INFORMATION-BASED PRODUCT DEVELOPMENT TOOLS
by
TZE HO LEE
Submitted to the Department of Mechanical Engineering
On May 19, 2000 in partial fulfillment of the
Requirements for the Degree of Master of Science in
Mechanical Engineering
ABSTRACT
An experimental study was carried out on the applications of four information-based product
development tools supported by the MIT Center of Innovation in Product Development (CIPD).
The names of these tools are Assembly Designer, Distributed Object-based Modeling
Environment (DOME), Design Structure Matrix (DSM) and KCTool. Sample applications of
these currently independent software programs were constructed based on data from a
product development case provided jointly by the Naval Research Laboratory and the
Lockheed Martin Tactical Defense Systems. Possible tool interactions were investigated and
potential integration opportunities were explored utilizing an integration framework commonly
employed in the software development industry.
The result of the study suggests that the tools can be integrated according to four
relationships: Presentation, Data, Control, and Process. Some of the proposed integration
opportunities include the implementation of a common user interface and a service exchange
system through DOME, the consolidation of data format between Assembly Designer and
KCTool, and the support of a program execution order starts with DSM, DOME, Assembly
Designer, and ends with KCTool.
Future opportunities in this tool integration research include the exploration of tool capabilities
with different sets of industrial data and the addition of other tools into the research, such as
portfolio management and customer data collection tools.
Thesis Supervisor: William Finch
Title: Research Scientist
3
4
Acknowledgments
First, I would like to thank Dr. William Finch who has been a knowledgeable and motivating
thesis advisor. I would like to thank Thomas Sebok at the Lockheed Martin Tactical Defense
Systems, John Reintjes at the Naval Research Laboratory, and Richard Rein for making this
project possible by providing the research data. I would also like to thank Professor Maurice
Holmes and Sandy Campbell for their valuable advice, and Jeffrey Lyons, Gaurav Shukla, Ali
Yassine, Juan Deniz, Tony Chen, and Stephen Rhee for their consulting on the tools. And I
would like to thank the staffs at the Center for Innovation in Product Development for their
support and assistance.
I would like to express my appreciation to Jason Liang, Michael Kim, Yiu Tak Leung, and
Kenneth Kwok for their wonderful friendship. Special thanks to my roommates Danny Yim for
making all the good food, and Darci Wong for keeping our apartment a clean and comfortable
place to go back to after each long day of work. I am especially grateful to Sammi Truong for
providing me with the desk and the laptop for writing this thesis, and for giving me her support
and encouragement in the past two years.
Finally, I would like to thank my family for always being there for me. None of these could
have been possible without them.
This research is supported in part by the by the MIT Center for Innovation in Product
Development under NSF Cooperative Agreement Number EEC-9529140.
5
6
Table of Contents
CHAPTER 1: INTRODUCTION............................................................................13
13
.......................................
1.1 Background.................
13
..........................
1.2 Research Motivations.......................
1.3 Research Sponsors and Participants................................................... 14
. .. 15
1.4 O utline of T he sis ...........................................................................
CHAPTER 2: THRUST 2 TOOLS......................................................................
17
17
2.1 Assembly Designer..........................................................................
. 17
2 .1.1 T ool D escription .................................................................
24
2 .1 .2 B e n e fits ................................................................................
24
2.1.3 Installation Requirements.....................................................
2.2 Distributed Object-based Modeling Environment (DOME)......................... 25
2.2.1 Tool Description..................................................................25
. ..32
2 .2 .2 B e n e fits ...........................................................................
33
2.2.3 Installation Requirements.....................................................
2.3 Design Structure Matrix (DSM).............................................................. 34
2.3.1 Tool Description..................................................................34
. ..3 8
2 .3 .2 B e n e fits ...........................................................................
39
2.3.3 Installation Requirements.....................................................
2 .4 K C T o o l........................................................................................ . . 3 9
2.4.1 Tool Description..................................................................39
43
2 .4 .2 B e n e fits ................................................................................
44
2.4.3 Installation Requirements.....................................................
CHAPTER 3: THE LASERNET FINES CASE.......................................................45
45
3 .1 T h e T e ch n o lo g y .................................................................................
47
3.2 Thrust 2 Tool Applications................................................................
3.2.1 Assembly Sequence Assessment Using Assembly Designer........47
3.2.2 Component Selection and Optimization Using DOME................. 53
3.2.3 Module Formation Using Design Structure Matrices................... 57
3.2.4 Inspection Strategy Design Using KCTool................................ 61
3.3 Case Conclusion............................................................................. 67
CHAPTER 4: TOOL USAGE LOGS..................................................................
69
4.1 Assembly Designer Logs.................................................................. 69
. 70
4 .2 D O M E Lo g s ..................................................................................
. ..76
4 .3 D S M L o g s ....................................................................................
. 76
4 .4 K C T o o l Lo g s ..................................................................................
7
CHAPTER 5: TOOL INTEGRATION.....................................................................78
5.1 The Integration Framework................................................................78
5.2 Implication on Thrust 2 Tool Integration................................................ 80
5.2.1 Presentation Integration........................................................80
82
5.2.2 D ata Integration.................................................................
84
..................................................................
5 .2 .3 C o ntro l Integ ratio n
5.2.4 Process Integration..............................................................85
5.3 C hapter S um m ary........................................................................... 90
CHAPTER 6: CONCLUSION...........................................................................
91
6 .1 C o n clu sio n s .................................................................................. ..91
6 .2 F utu re R e se a rch ................................................................................. 91
6 .3 F in a l C o m m e nts ................................................................................. 9 3
APPENDIX 1: MODELING DATA FOR THE THRUST 2 TOOL APPLICATIONS...........95
Al.1 Part Definitions for Assembly Designer Application................................ 95
A1.2 Liaison Definitions for Assembly Designer Application............................ 96
A1.3 SPAS Precedence Relationship for Assembly Designer Application.........98
Al.4 Excel Model (on Local LMTDS Server) for DOME Application ................ 99
A1.5 Excel Model (on Remote Vendor Server) for DOME Application................. 100
A1.6 LMSolidWorks.txt (on Remote Vendor Server) File for DOME Application.... 101
A1.7 LMMatlab.m Files (on Remote Fluid Server) for DOME Application.............102
A1.8 LMMatlab.txt Files (on Remote Fluid Server) for DOME Application.............103
A1.9 LMMatlab.mtxt Files (on Remote Fluid Server) for DOME Application..........104
A1.10 Combined Dependency Matrix for DSM Application............................... 105
A1. 11 Key Characteristic Definitions for KCTool Application............................. 106
A1.12 System/Subsystem/Part Definitions for KCTool Application..................... 107
Al.13 Error Propagation Definitions for KCTool Application..............................108
APPENDIX 2: THRUST 2 APPLICATION DEMO SCRIPTS.......................................109
8
List of Figures
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
Figure
2.1:
2.2:
2.3:
2.4:
2.5:
2.6:
2.7:
2.8:
2.9:
2.10:
2.11:
2.12:
2.13:
2.14:
2.15:
2.16:
2.17:
2.18:
3.1:
3.2:
3.3
3.4:
3.5:
3.6:
3.7:
3.8:
3.9:
3.10:
3.11:
3.12:
3.13:
3.14:
5.1:
5.2:
5.3:
Assembly W indow Interface...........................................................18
Part Data Input W indow..............................................................
20
Feature Data Input W indow........................................................... 21
S PA S W ind ow ...........................................................................
. 22
EDIT Sequence Graph W indow..................................................... 23
27
DOME Server W indows..............................................................
DOME Client Login W indow...........................................................28
29
DOME Client W indow.....................................
30
DOME Relation W indow..............................................................
DOME Preference Function W indow...............................................31
DOME Optimizer W indow................................................................32
36
DSM Input Interface....................................................................
. 37
C luste ring Inte rfa ce .....................................................................
38
Clustering Result........................................
40
KCTool Main W indow..................................................................
KC Data Input Interface................................................................ 41
Inspection Simulation Interface.......................................................42
Inspection Optimization Result....................................................... 43
46
LaserNet Fines System Diagram...................................................
CAD Model of Optical Subassembly............................................... 46
DFC Model of Gen1 Optical Sub-assembly...................................... 49
Assembly Sequence Tree for Gen1 Optical Sub-assembly.................. 51
52
Edited Assembly Sequence Tree...................................................
Design Evaluation Criteria............................................................... 55
Spatial Dependency Matrix........................................................... 58
Energy Dependency Matrix...........................................................58
Information Dependency Matrix..................................................... 59
59
Material Dependency Matrix.........................................................
KC Flowdown Model of Optical Sub-assembly.................................. 64
Inspection Simulation Result......................................................... 65
Inspection Optimization Result....................................................... 67
Thrust 2 Application Map..............................................................68
Integration Definition by Thomas and Nejmeh.................................. 79
DFC-based Data Representation for KCTool.................................... 83
One Possible Integrated Development Process................................ 88
9
10
List of Tables
Table
Table
Table
Table
Table
Table
Table
2.1:
3.1:
3.2:
3.3:
3.4:
3.5:
3.6:
Feature Types in Assembly Designer............................................. 22
DFC Part Abbreviations................................................................ 48
Coordinate Definition for Micro-adjuster.......................................... 50
Definition for Liaison between Optical Plate and Micro-adjuster............ 50
Characteristic Variable Abbreviations for DOME Product Catalog......... 54
DSM Clustering Result................................................................ 60
KC Abbreviations........................................................................63
11
12
CHAPTER 1: INTRODUCTION
1.1 Background
The MIT Center for Innovation in Product Development (CIPD) is a National Science
Foundation Engineering Research Center. It is dedicated to "lay the conceptual groundwork
for, and contribute core components to, a product development infrastructure that will help
America's companies survive in a service marketplace" [1]. The vision of the center is defined
as follows:
VISION OF THE CIPD
New products will be developed byjust-in-time collaborations of globallydistributed teams linked seamlessly by Web-based tools and processes.
The collaborations will be formed by means of a "services marketplace"
where lead firms will find the world's best "knowledge purveyors" suppliers of information, components, and support services [1].
As one of the four research thrusts created to assist the center in realizing its vision, the
Information-based Product Development group (Thrust 2) has developed a portfolio of
software for supporting various product development activities.
The group foresees the
eventual goal of introducing a set of integrated tools to the industry, one that can be utilized
to effectively facilitate work and information flow across multidiscipline development
environment. This thesis project is a first step towards achieving that goal. Through the
development of a concurrent application with four Thrust 2 tools, the project brings together
research work produced by a number of professors and scientists at MIT. Demonstrating
and evaluating these tools in concurrence establishes a common ground on which tool
interactions can be studied, and issues surrounding integration opportunities can be
explored.
1.2 Research Motivations
Until the inception of this project, presentation of Thrust 2 research is mainly being done
through the specific examples developed within each group. For instance, one professor
13
would talk about how her tool can be applied to manage product variation in a commercial
airplane application, while another research faculty would explain how his tool is utilized for
the design of a throttle body assembly system at an automotive company. Due to the
differences in nature and scale of these design problems, comparison of tools cannot be
made in any convenient way, nor can interactions among tools be demonstrated and studied.
There have been on-going research efforts in exploring the possibilities of pair-wise
integration involving some of the tools, but integration of an end-to-end product development
system is yet to be seen.
Although the actual integration work does not fall into the realm of this research project,
valuable insights on such can be obtained through the exercise of developing a concurrent
application with the four Thrust 2 tools. The main objective of this thesis work is to investigate
the interactions among these tools. Since these tools have never been used concurrently in
the past, not many studies have been done on the compatibility and the mapping of their
functionality with each other. By having as many tools running under the same computing
environment as possible, problems related to integration can be highlighted, and
recommendations can thereby be made on how these obstacles can be removed through
future research at the center.
Another outcome of this research is a presentable application demo of the Thrust 2 tools.
This demo is showcased in the newly established Product Development Integration
Laboratory, a facility where students and industrial visitors can learn about the research being
done at the center.
1.3 Research Sponsors and Participants
The research covered in this thesis is sponsored by the MIT Center for Innovation in Product
Development (CIPD) under the National Science Foundation (NSF) funding. The project falls
within the Information-based Product Development group (Thrust 2) leaded by Professor
Steven Eppinger. The goal of Thrust 2 research is two-fold, to improve the understanding on
the information-intensive product development process, and to create effective tools and
methodologies to support these activities.
14
The Naval Research Laboratory (NRL) and the Lockheed Martin Tactical Defense Systems
(LMTDS) are the two industrial partners in this project. LMTDS is currently commercializing
an optical machine-condition monitoring technology developed by the NRL. Together the two
industrial partners provide the data and the consulting time of their researchers and engineers
necessary for building the application demo of the Thrust 2 tools.
Four Thrust 2 research groups are involved in this project, representing four tools designed to
address challenges faced by product managers, manufacturing engineers, and other product
developers everyday. Listed below are the names of the tools and their leading researchers:
"
Distributed Object-based Modeling Environment (DOME) by Professor Dave Wallace and
the CADLAB
*
Design Structure Matrix (DSM) by Professor Steven Eppinger and Dr. Ali Yassine
*
KCTool by Professor Anna Thornton and Tony Chen
" Assembly Designer by Dr. Dan Whitney and Gaurav Shukla
The author of this thesis is working under the supervision of Dr. William Finch, a research
scientist at the CIPD. He is the manager of the Product Development Integration Laboratory.
1.4 Outline of Thesis
This thesis paper explores the integration of four Thrust 2 tools - Assembly Designer, DOME,
DSM, and KCTool. This research, motivated by the need to create a common ground on
which the interaction of the tools can be studied and discussed, is presented in the remaining
chapters as follows:
Chapter 2, "Thrust 2 Tools", introduces the four Thrust 2 tools, their benefits, and their
installation instructions.
Chapter 3, "The LaserNet Fines Case", presents the product development case provided by
the Naval Research Laboratory and the Lockheed Martin Tactical Defense Systems. The
technology behind the LaserNet Fines system is disclosed, and sample applications for the
Thrust 2 tools are discussed.
15
Chapter 4, "Tool Usage Logs", serves as a trouble-shooting guide of the tools.
This is
intended to expedite the tool learning process of students and researchers who want to
participate in the Thrust 2 integration efforts in the future.
Chapter 5, "Tool Integration", describes a framework for defining integration.
Integration
opportunities of the Thrust 2 tools are proposed based on such framework.
Chapter 6, "Conclusion", summarizes the thesis project and discusses research opportunities
for the Product Development Integration Laboratory in the future.
16
CHAPTER 2: THRUST 2 TOOLS
Presented in this chapter are four information-based product development tools. These tools
are developed independently by a number of Thrust 2 faculty members and research
scientists aiming to address challenges of various natures throughout the product
development process. A description of each tool is provided, along with a list of benefits and
their installation requirements.
Note that the descriptions provided in this thesis represent
only the snapshots of the tools at the current stage. Some of these tools are going through
rapid revisions and modifications on a continuous basis.
2.1 Assembly Designer
2.1.1 Tool Description
Assembly Designer is an integrated suite of computational tools for assessing the
manufacturability of mechanical systems. Using Assembly Designer, product developers are
able to create assembly models in the form of Datum Flow Chain (DFC), a directed graph
containing geometric information of a mechanical design, such as coordination, mating feature
definition, and degree-of-freedom constraint. Together with the precedence relation input on
how the components in the assembly can be disassembled in different ways, the DFC models
can be used to generate all feasible assembly sequences associated with the mechanical
design, enabling the product developers to explore the assembly design space systematically.
The following are the embedded software modules in Assembly Designer and their
functionality listed in the order of execution [2]:
" SPAS - SPAS derives precedence relations associated with the DFC models through a
series of yes/no questions posted to the users on how system components can be
disassembled from each other.
*
DFCPR - DFCPR derives precedence relations based on geometric and feature
information contained in the DFC.
*
Constraint Checker - Constraint Checker performs constraint analysis on geometric
information contained in the DFC models defined through the Assembly Designer
graphical user interface.
17
*
PRED - PRED combines the independent results obtained from the SPAS and the
DFCPR, then translates the relations into C code.
*
LSG - LSG accepts the codes from PRED and generates all feasible assembly
sequences.
* EDIT - EDIT enables interactive editing of the sequences, assisting the user to obtain the
optimal set of sequences by the process of elimination.
The following screenshots illustrate the graphical user interface of Assembly Designer.
bc
Figure 2.1: Assembly Window Interface.
18
Shown in Figure 2.1 are the three embedded windows in the assembly window interface: the
Assembly Window, the Part Window, and the Text Window. The Assembly Window contains
the Datum Flow Chain (DFC) assembly model and the model creation/editing buttons. The
Part Window displays available drawing of an element selected in the DFC model, while the
Text Window shows all related information of the selected element.
Displayed in the example is an assembly model composed of the three parts represented by
the dots labeled a, b, and c. The lines designate assembly liaisons, with the arrows pointing
to the direction of reference, and the numbers on the arrows indicating the degree-of-freedom
(DOF) constraint.
The balloons represent the number of features associated with each
liaison. For example, part a is defining all 6 DOFs of part b with 1 feature, while it is defining
only 4 DOFs of part c using 2 features. Displayed in the Text Window is the information of the
mating liaison between part a and b. Note that there is no associated drawing displayed in the
Part Window, as the graphical bitmaps are not available in this example.
Note that this screenshot only demonstrates the mate type of liaison. Mates are defined as
assembly liaisons that are capable of delivering DOF constraints. Contact is another type of
liaison, which are represented in the Assembly Designer interface by dotted lines. Contacts
by definition are supportive liaisons that do not convey actual DOF constraints.
19
Figure 2.2: Part Data Input Window
Shown in Figure 2.2 is the data input window for part element. This window is triggered when
a part is created using the "Part" button, or when the "Edit" button is applied on an existing
part element in the model. The window contains input boxes for the name of the part, as well
as the part coordinate definition in reference to the global coordinate. For example, the local
coordinate system of part a is 1 unit away from the global origin in the x direction, 0.5 units
away in the y direction, and -2 units away in the z direction. The local coordinate is not
rotated about any axis in reference to the global coordinate.
20
1 J
iL
w
riD~
zz
AM
JL
Ix
user
defined
Figure 2.3: Feature Data Input Window
Shown in Figure 2.3 is the data input window for feature element. This window is triggered
when a feature is added to a liaison using the "Feature" button. The feature matrix indicates
the available feature types in Assembly Designer. Name and DOF constraint of the selected
feature are displayed on the top, and the coordinate definition is displayed on the right.
Illustared in Table 2.1 below are the names and the DOF constraints of the all features listed
in Figure 2.3, ordered from left to right, and from the first row down.
21
Feature Type
Prismatic Peg / Prismatic Hole
Plate Pin in Through Hole
Prismatic Peg / Prismatic Slot
Plate Pin in Slotted Hole
Round Peg / Prismatic Slot
Round Peg / Through or Blind Hole
Threaded Joint
Elliptical Ball and Socket
Plate-Plate Lap Joint
Spherical Joint
Plate Pin in Oversize Hole
Elliptical Ball in Cylindrical Trough
Thin Rib / Plane Surface
Ellipsoid on Plane Surface
Spherical Ball in Cylindrical Trough
Peg in Slotted Hole
Spheroid on Plane Surface
6
5
5
4
4
4
4
4
3
3
3
3
2
2
2
2
1
Degree-of-Freedom Contraint
X Y Z Tx Ty Tz
X Y Z Tx Ty
X Z Tx Ty Tz
X Z Tx Ty
X Z Tx Ty
X Y Tx Ty
X Y Tx Ty
X Y Z Tx
Z Tx Ty
XYZ
Z Tx Ty
X Z Ty
Z Ty
Z Tx
XZ
X Ty
Z
Table 2.1: Feature Types in Assembly Designer [2]
Figure 2.4: SPAS Window
22
Shown in Figure 2.4 is the SPAS window. This window is triggered by clicking "Modules">"SPAS" on the menu bar of the Assembly Window Interface. The SPAS software module
attempts to derive precedence relationships of parts in a DFC model by prompting the user
with a series of yes-no questions on how the parts can be disassemled. For example, by
answering "y" on question number 1, the user is telling the software that it is possible to take
away part a without affecting part b and c, or in other words, the escape path of part a is not
blocked by features of part b and c.
Figure 2.5: EDIT Sequence Graph Window
23
Shown in Figure 2.5 is the EDIT sequence graph window interface. This window is triggered
by clicking "Modules" ->"EDIT"->"Complete" on the menu bar of the Assembly Window.
Assembly sequences are represented in this window by connected assembly states, and the
states are in turn represented by the squares in the liaison matrix, with white squares
indicating uncompleted liaisons and black squares indicating completed ones. For example,
displayed in this screenshot are two possible assembly sequences associated with the DFC
model illustrated in Figure 2.1. The first assembly sequence, the one on the left, starts with
the completion of liaison 2 and finishes with the concurrent completion of liaison 1 and 3. The
alternative sequence on the right starts with liaison 3 and ends with the simultaneous
completion of liaison 1 and 2. The options on the menu bar of the EDIT window enable the
user to assess and eliminate undesirable assembly sequences.
This section is intended to provide some basic familiarities of Assembly Designer. Please
refer to [2] for further information regarding the tool.
2.1.2 Benefits
Assembly Designer offers the following benefits as an engineering tool:
*
It provides a platform for exploring assembly design space in a systematic manner.
*
It enables the practice of Assembly Orientated Design by allowing product developers to
consider manufacturing issues at an early stage of the design process.
" It shortens development cycles by limiting the design alternatives to only those that are
geometrically feasible.
*
It serves as a visualization tool for capturing and presenting assembly models, providing
useful insights on geometric dependencies among system components.
2.1.3 Installation Requirements
Assembly Designer runs primarily on Unix-based operation systems. It can also run remotely
on PCs that are installed with the Linux operation system and Secure SHell (SSH), a secured
telneting program for UNIX machines.
Please refer to the Linux and SSH product
documentation for information on installation [3].
24
2.2 Distributed Object-based Modeling Environment (DOME)
2.2.1 Tool Description
DOME is an object-based modeling environment intended for linking heterogeneous design
models and tools. It enables members in a product development team to share knowledge by
publishing design models in a wide range of formats.
The following is a list of external
programs that are compatible with the current version of DOME:
"
Spreadsheet: Excel
"
Database: MICROSOFT Access
"
CAD: SolidWorks, Ideas
*
Numeric Simulation: MATLAB
To illustrate the linking capability of DOME, let us look at an example in which a purchasing
manager and a design engineer are collaborating in a design project.
The purchasing
manager maintains a spreadsheet containing the cost model of a certain material, while the
engineer uses a numeric simulation to determine the amount of the material required for
achieving certain product performance. These two team members can publish their models
onto a networked system through DOME, and the two models can be linked together to create
an integrated model.
This combined model can then be used for determining the optimal
material requirement based on cost and performance consideration.
When publishing their work onto the network, the user has full control over which parts of the
models are to be shared by others and which are to be protected. Such controlling power is
essential for protecting proprietary design information, especially when multiple companies
are involved in the design effort.
DOME offers design evaluation functions intended to assist product developers in analyzing
and making complicated design tradeoffs. When a member in a development team proposes
a design change in the DOME environment, the change is automatically propagated to other
linked models maintained by his/her team members. Real-time feedback on the effects of the
change to the overall product system can therefore be obtained without having to go through
traditional, and often less efficient communication channels, such as meetings and phone
25
calls. Together with the design preference visualization and evaluation features embedded in
DOME, the real-time feedback capability offers product developers with a mechanism for
evaluating design alternatives in a timely manner. This makes DOME a valuable tool for
reducing design cycle time and improving communication efficiency, especially in situations
when large and geographically distributed development teams are involved.
Lastly, DOME has an optimizer that automatically evaluates design parameters and
determines optimal design configurations based on design preferences defined by the users.
This optimization capability, which is based on genetic algorithm, provides an efficient and
systematic way to explore large design spaces in which a significant number of design
parameters and design alternatives are involved.
The following screenshots illustrate the graphical user interface of DOME.
26
Figure 2.6: DOME Server Windows
Shown in Figure 2.6 are the two DOME server windows. The User Manager Window on the
top allows the assignment of login names and passwords to authorized users of the DOME
service. As illustrated in the screenshot, "Thrust2" is the only authorized user in this particular
example. The DOME Server Manager on the bottom initiates the DOME service and activates
the user login capability. For example, the screenshot indicates that the server "bubbe" is
ready to accept login connections.
27
Figure 2.7: DOME Client Login Window
Shown in Figure 2.7 is the DOME client login window. When user "Thrust2" is ready to login
to the DOME server, he/she opens this client login interface with a web browser, types in the
login name and password, then specifies the server to be connected to. In the situation when
the user is logging in from the same computer on which the server resides, "bubbe" in this
case, the server can be specified as "localhost" as illustrated in the screenshot.
28
Figure 2.8: DOME Client Window
Shown in Figure 2.8 is the DOME client window. The user is able to define variables, attach
external programs, and perform design analysis and optimization on this window interface.
For example, this screenshot illustrates a DOME model defined with the following
components:
29
*
Three variables a, b, c
" Three external program attachments corresponding to Excel, Matlab, and SolidWorks
" A preference function
*
A design criterion
*
A genetic algorithm optimizer
Figure 2.9: DOME Relation Window
Shown in Figure 2.9 is the DOME relation window. The user can define relations among
variables in the DOME model by writing simple C-codes in the "Relation text" box (note that all
statements should therefore end with a semi-colon). In this example, the output / dependent
variable c is set to be equal to the quotient of the input / independent variable a divided by
another input variable b.
30
Figure 2.10 DOME Preference Function Window
Shown in Figure 2.10 is the DOME preference function window. The user can define through
this interface the design preference of a variable. In this example, the preference function is
denoted by the curve on the right hand side, indicating that the acceptance range of the
variable is between 0 and 1 m/s, with the most preferred value falls around 0.8 m/s.
31
Figure 2.11: DOME Optimizer Window
Shown in Figure 2.11 is the DOME Optimizer window. This interface allows the user to define
the search variables and their searching ranges, the objective variable to be optimized, and
the number of generations and the population size associated with the optimization. In this
example, the two search variables are set to be a and b with the searching ranges indicated
on the screenshot.
This section is intended to provide some basic familiarities of DOME. Please refer to [4] and
[5] for further information regarding the tool.
2.2.2 Benefits
DOME offers the following benefits as an engineering tool:
32
It facilitates product development process across organization and geographic boundaries.
It breaks apart complex modeling and distributes the pieces among specialized groups.
*
It provides information-sharing control so that proprietary models and data can be
protected.
*
It enables linkage of different data formats so developers can create their product models
using programs that they are most familiar with.
.
It reduces time for iteration through the real-time feedback mechanism, and thereby
shortens design cycle time.
2.2.3 Installation Requirements
DOME runs on PCs installed with Windows 95, Windows NT or newer version of the two
Windows operation systems. The computers are also required to have Visual Studio, Visual
J++ and MSDN Library with service pack 6.0 or above, along with all the desirable external
programs listed in section 2.2.1.
An automatic installation program is available on the DOME CD for guiding the standard
installation process.
Mentioned below are special installation procedures associated with
some of the external programs:
Java Plug-in
*
After the standard DOME installation is completed, click on the DOME Client icon on
Desktop to open up either Netscape Navigator or MICROSOFT Explorer
*
Click on the download link for Java Plug-in 1.2.1 to go to the SUN website
" Follow the instruction to install the Java Plug-in onto the computer
MATLAB
*
After the standard MATLAB installation is completed, right click the "My Computer" icon on
the Desktop to select "Properties"
*
Choose the "Environment" tab
33
" Add a User Variable "path" by first clicking on one of the existing User Variables, then go
to the "Variable" textbox and type in the name "path"
In the "Value" textbox, enter "%path%; C:\MATLAB\bin".
*
Note there is a semi-colon
separating the two paths. Also note that the directory in which MATLAB is installed on
your computer may not be "MATLAB". In that case just replace "MATLAB" in the path by
the MATLAB directory name on your computer
SolidWorks
*
After the regular installation is completed, go to the directory in which DOME is installed
on your computer
*
Go to the bin directory and open the environment.txt file
*
Add the statement "include SWDimModule.h" to the list of include statements in the file
Note that the current version of DOME can only work with SolidWorks 97 Plus, but not with
the later releases of the software.
2.3 Design Structure Matrix (DSM)
2.3.1 Tool Description
Design Structure Matrix (DSM) is a management tool for systems with complex dependencies.
By presenting system elements and their interactions in a simple matrix format, DSM provides
a compact and clear visual representation of the system structures. DSM also offers a
number of analytical algorithms for manipulating the elements and interactions, and thereby
Two major algorithms are clustering, which
groups system elements with strong dependencies into modules, and partitioning, which
reorders system elements to eliminate feedback loops. There are four types of DSM for
improving the characteristic of the systems.
handling systems of various natures, they are:
34
*
Component-Based DSM - A component-based DSM documents interactions among
components in a system. These interactions include spatial, energy, information, and
material. Utilizing the clustering algorithm, this type of DSM can be applied on system
architecture engineering and designing.
*
Team-Based DSM - A team-based DSM records information flow among various
organizational entities. Utilizing the clustering algorithm, this type of DSM can be applied
on organizational design, interface management, and team integration.
*
Activity-Based (Task-Based) DSM - An activity-based DSM depicts ordering of activities in
a process and their input/output relationships. Utilizing the partitioning algorithm, this type
of DSM can be applied on project scheduling, activity sequencing, and cycle time
reduction.
*
Parameter-Based DSM - A parameter-based DSM models system architecture based on
parameter interrelationships. Utilizing the partitioning algorithm, this type of DSM can be
applied on process construction and decision point assignment.
This thesis project only focuses on the component-based DSM.
An Excel spreadsheet is
created to facilitate the process of component clustering and system architecture designing.
This spreadsheet takes in a component-based DSM of any size, runs it through a C++
clustering program, then proposes a module configuration for the system with minimal
interdependencies.
35
The following screenshots illustrate the graphical user interface of the DSM spreadsheet:
Figure 2.12: DSM Input Interface
Shown in Figure 2.12 is the DSM input interface. The user can record through this interface
the dependencies and interactions among components in a system.
For example, in the
three-component system illustrated in the screenshot above, component a has no interaction
with component b and is therefore assigned with a value of 0 in the corresponding square in
column 1 row 2. Component a however has very strong interaction with c and this
dependencies is indicated by the value of 3 in the square in column 1 row 3. In a componentbased DSM, a high dependency value usually translates to a high desire for the clustering of
the two components, while a low value suggests that components should be kept separated if
possible.
36
Figure 2.13: Clustering Interface
Shown in Figure 2.13 is the clustering interface. This is where the C++ clustering program is
applied to determine how the components can be clustered in order to capture the maximum
amount of system interactions within the clusters. The best clustering formation therefore
supports the lowest amount of inter-cluster interaction, which is indicated by the coordination
cost. In this example, the algorithm is proposing a two-cluster formation, one with component
a and c, and the other with component b and c.
37
Figure 2.14: Clustering Result
Shown in Figure 2.14 is the interface for presenting the DSM clustering result. Same as the
formation illustrated in Figure 2.13, there are two clusters in this example, one with component
a and c, and the other with component b and c. Note that there is no system element
suggested in this formation. System elements are components that they cannot be clustered
into one particular group due to strong interaction with multiple components.
This section is intended to provide some basic familiarities of DSM.
Please refer to [6] for
further information regarding the tool.
2.3.2 Benefits
Component-based DSM offers the following benefits as an engineering tool:
*
It enables the evaluation of a large number of module configurations at a low cost.
*
It reduces time for dependency-based architecture designing, and thereby shortens design
cycle time.
38
*
It offers visualization of the system dependencies, and promotes better understanding and
communication of products.
2.3.3 Installation Requirements
The DSM spreadsheet runs on PCs installed with Windows 95, Windows NT or newer version
of the two Windows operation systems.
MICROSOFT Office, in particular the Excel
spreadsheet program, is another software requirement for this tool.
Please note that the
current version of the DSM spreadsheet is only compatible with Office 97, but not with Office
2000.
The following are special DLL installation procedures of KCTool:
*
Create a DSM directory under the C drive of the computer
*
Copy the two DLL files CCost.dll and Clusterdl.dll into the DSM directory
2.4 KCTool
2.4.1 Tool Description
KCTool is a prototype software for managing manufacturing variations associated with Key
Characteristics (KCs) of a product. Key Characteristics are defined as product features that
have a significant impact on product requirements when there is a variation. Through its
modeling, simulation, and optimization capabilities, KCTool offers a quantitative method for
determining the optimal inspection plan that supports highest product quality at the lowest
cost.
KCTool can be used as a visual tool for generating KC Flowdown models of a product. Such
models contain hierarchical relationships of Key Characteristics from product and sub-system
level down to part and process level, along with the mathematical representations of variation
stack-ups at each level. Also included in the models are manufacturing process data related
to each Key Characteristic, such as variation distribution, cost of assembly, and cost of
inspection, etc. Implementation of these Flowdown models in KCTool provides a mechanism
39
for predicting production cost based on the variations introduced by the manufacturing
process, the inspection strategy, and the final product requirements.
KCTool is also a powerful tool for evaluating inspection plans. Utilizing the cost prediction
function mentioned above, Monte Carlo simulation can be run in KCTool to calculate the
expected cost of specific inspection plans. Assessment of a large number of inspection plans
can therefore be done at minimal cost.
Lastly, stochastic optimization algorithm can be carried out in KCTool to determine the best
inspection strategy for a manufacturing process based on quality and cost consideration.
Details such as inspection limits, location of inspection, and corrective actions are proposed in
a closed form solution.
The following screenshots illustrate the graphical user interface of KCTool.
I
-b
part 1
i c
-I-
system
part2
~at
Figure 2.15: KCTool Main Window
40
Shown in Figure 2.15 is the main interface window for KCTool.
The user can create the
Flowdown model using the various buttons on the top toolbar. The system in the example is
composed of two components, part 1 and part 2. There is one KC in each component,
namely b and c for part 1 and part 2 respectively. Together they deliver the system KC a.
Figure 2.16: KC Data Input Interface
Shown in Figure 2.16 is the KC data input interface. The user can input process capability,
inspection plan, corrective action, and other related information by navigating through the tabs
on the top. Illustrated in this example is the data input interface for KC b.
41
Figure 2.17: Inspection Simulation Interface
Shown in Figure 2.17 is the result of an inspection simulation.
It presents the simulated
production statistics under each of the three KC, a, b, and c. There is no cost associated with
inspection and other failure preventive actions in this example. The failure rate of the
production is at the level of 51/100, and the total cost of production is calculated to be 19500
units, or 195 units per product manufactured.
42
- b
2.71 SD
patt1
1.72 SD
systemM
I
part 2
I
Figure 2.18: Inspection Optimization Result
Shown in Figure 2.18 is the result of an inspection simulation. It indicates that in order to
achieve the optimal production result at the lowest cost, inspection should be performed for
KC a and c at 2.71 and 1.72 standard deviations respectively. And in case of out-of-spec, the
parts should be reworked until they satisfy the inspection limits. Although not illustrated in this
black and white screenshot, suggestions for corrective actions are indicated on the KCTool
user interface by the highlights on the KC labels, with green representing rework, and blue
representing scrap.
This section is intended to provide some basic familiarities of KCTool. Please refer to [7] for
further information regarding the tool.
2.4.2 Benefits
KCTool offers the following benefits as an engineering tool:
43
It identifies optimal inspection strategies of manufacturing systems in a quantitative
manner
*
It facilitates constant improvement of the risk management and quality control process
It provides a platform for experimenting different risk management strategies with minimal
time and capital investment
.
It serves as mechanism for capturing and sharing product architectures, variation models,
and inspection models
2.4.3 Installation Requirements
KCTool runs on Windows 95, Windows NT or newer version of the two Windows operation
systems. The only external program required for running KCTool is MICROSOFT Access.
The following are special installation procedures of KCTool:
DLL Files Setting
*
Copy four KCTool specific Dynamic Link Library (DLL) files into the System32 directory
under the C drive. Names of the four files are Mfc42d.dll, Mfcd42d.dll, Mfco42d.dll, and
Msvcrtd.dll
Database File Setting
*
Go to the Control Panel
*
Click on the ODBC Data Sources (32bit) icon to open the ODBC Administrator
*
Click on the System DSN tab on the top of the administrator window
*
Click the "Add" button, then select to set up a Microsoft Access Driver
*
Enter Data Source Name as "kctree"
*
Select the driving database file for KCTool
Note that the current version of KCTool is not yet Office 2000 compatible. Please make sure
that the Access component of the Office 97 suite is installed on the computer on which
KCTool is to be run.
44
CHAPTER 3: THE LASERNET FINES CASE
A product development case is introduced in this chapter, after which sample applications for
each of the four Thrust 2 Tools are presented to illustrate how the tools can be utilized to
address development challenges associated with the case. Data for the development of these
tool applications are provided jointly by the Naval Research Laboratory (NRL) and the
Lockheed Martin Tactical Defense Systems (LMTDS).
3.1 The Technology
LASERNET FINES is an optical oil debris monitor designed to measure the size distributions
and shape characteristics of particles in machine fluids.
It provides information on type,
severity, and rate of progression of specific failure and wearing conditions in mechanical
systems based on particle shapes and size trends observed in fluid samples over time. The
device also provides information on particulate contamination in hydraulic, fuel, and other fluid
systems [8].
The basic concept of LaserNet Fines is show in Figure 3.1.
Fluid from a sample bottle is
pumped through a transparent flow cell. Coherent light from a pulsed laser diode is then used
to back-illuminate the fluid sample, while a CCD camera captures the images through macro
focusing optics.
The images are handled by an electronic processing system capable of
classifying particle images into mechanical wear classes such as cutting, sliding, and fatigue
[8].
45
Oil flow from
Sample bottle
Laser Diode
Flow Cell
Macro Lens
Camera / Image
Processor
Figure 3.1: LaserNet Fines System Diagram
Figure 3.2 is a CAD model of the optical subassembly, which contains most of the core
components in the LaserNet Fines system.
Camera Adjustment Plate
Lens Support
Laser Diode
Flow Cell
Fiber
Optic
CameraMacro Lens
Camera Cover
FIbL
Optical
Plate
Opld
M
Fiber Optic Mount-
9
Figure 3.2 CAD Model of Optical Subassembly
46
The LASERNET FINES is developed under the Condition-Based Maintenance Program of the
Office of Naval Research (ONR). The basic technology capabilities are derived from research
conducted at the NRL, while the product development works are being done at the LMTDS
site under the ONR contract.
The product, coded Gen1, is a portable batch processor
designed for shipboard applications. There are a number of Gen1 machines currently being
evaluated under different operational environments, and the Lockheed Martin development
team is collecting the evaluation data for the development of Gen2, a device suitable for
commercial production.
3.2 Thrust 2 Tool Applications
Described in this section are sample applications of the four Thrust 2 tools based on the
LaserNet Fines case. These are independent applications designed to demonstrate a number
of selected capabilities of each tool on addressing specific development challenges. The
decision on which tool capabilities to be presented in the applications is made based on the
availability of data, as well as the ease of demonstration and discussion. Application script for
each of the tool can be found in Appendix 2.
3.2.1 Assembly Sequence Assessment Using Assembly Designer
Application Scenario
LMTDS has traditionally been a major government contractor, with a product portfolio that
biases towards the high quality and low volume category. The LaserNet Fines is one of the
few exceptions. Targeted for the commercial market, the Gen2 system is designed primarily
for high volume production.
For that reason the engineers are committing a significant
amount of effort on defining a manufacturing system that warrants high efficiency and low
production cost. As a development exercise, the engineers are interested in exploring the
manufacturability of the Gen1 design, hoping that it will provide useful insights on how the
Gen2 design can be improved based on Assembly Oriented Design (AOD) practices [2].
47
Technical Details
This sample application illustrates how Assembly Designer can assist the engineers in
exploring the assembly design space in a systematic manner. Datum Flow Chain (DFC)
model of the Gen1 optical subassembly is created as shown in Figure 3.3. Note that the
model is simplified to contain only 9 components, with their names and abbreviations listed in
Table 3.1.
Abbreviation
Camera
CA plt
CM blks
CS blk
F cell
Lsprt
M lens
Madjstr
OpIt
Part Name
Camera
Camera Adjustment Plate
Cell Mounting Blocks
Cell Support Block
Flow Cell
Lens Support
Macro Lens
Micro-adjuster
Optical Plate
Table 3.1: DFC Part Abbreviations
48
M_lens
F_cell
_bIks
camera
LKsprt
A-pIt
CSblk
M-adj str
Figure 3.3: DFC Model of Gen1 Optical Sub-assembly
Each component is assigned a coordinate definition, which describes its location in reference
to the global coordinate of the assembly. The global coordinate in this sample application is
set to coincide with that of the Optical Plate component.
For example, the coordinate
definition for the Micro-adjuster in the six-degree framework is illustrated in Table 3.2,
indicating that it is 5.41 units (inches in this case) away from the x-axis, 2.5 units from the yaxis, and 3.375 units from the z-axis. There is no rotation of the component coordinate about
any axis.
49
Angular Coordinate Transform
Tx: 0.000000
Ty: 0.000000
Tz: 0.000000
Linear Coordinate Transform
X: 5.413000
Y: 2.500000
Z: 3.375000
Table 3.2: Coordinate Definition for Micro-adjuster
Every assembly liaison, both mates and contacts, is defined in Assembly Designer by an
attribute set representing their types, the parts involved, the associated features, and the
Shown below in Table 3.3 is the definition of the mate connecting
between the Optical Plate and the Micro-adjuster. Note that the complete component and
liaison definition of the optical subassembly can be found in Appendix 1.
feature coordination.
Liaison Attribute
Type of Liaison
Parts
Feature(s)
Feature Coordination
Value
Mate (6 DOF)
Oplt
M_adjstr
Prismatic Peg / Prismatic Hole (6 DOF)
Y: 0.000000
X: 0.000000
Ty: 0.000000
Tx: 90.000000
Z: 0.000000
Tz: 0.000000
Table 3.3: Definition for Liaison between Optical Plate and Micro-adjuster
Once the DFC model is built, the engineers can step through SPAS, DFCPR, Constraint
Checker, and eventually get to the EDIT window where the complete assembly sequence tree
is displayed as shown in Figure 3.4.
50
Figure 3.4: Assembly Sequence Tree for Gen1 Optical Sub-assembly
The engineers can look at all feasible assembly sequences on the EDIT interface, pinpoint
and then eliminate those that are not desirable based on specific engineering criteria. For
example, one engineering criterion suggests that mating of the Camera Adjustment Plate to
the Optical Plate and the Micro-adjuster should be postponed as one of the last assembly
steps. This is due to the fact that the Micro-adjuster is used to calibrate the distance between
the Flow Cell and the Macro Lens, and the calibration process cannot be proceeded until all
the components have been assembled in place. Utilizing criteria such as the one mentioned
above, engineers are able to effectively reduce the number of assembly sequences under
consideration to a manageable amount.
More detailed assessment, such as production
testing, can then be conducted on the remaining sequences to determine the optimal
assembly process. Shown in Figure 3.5 is the assembly tree after just one step of eliminating
all the sequences that do not have liaison 2 and 3 as the last two liaisons to be completed.
Liaison 2, which is indicated by the square in row 1 column 2 of the liaison matrix, represents
the mate between the Camera Adjustment Plate and the Optical Plate, whereas liaison 3 in
51
row 1 column 3 represents the mate between the Camera Adjustment Plate and the Microadjuster. Note the size reduction compare to the original sequence tree in Figure 3.4:
Figure 3.5: Edited Assembly Sequence Tree
Usaqe Key Points
A successful operation of the Assembly Designer relies on a fair amount of human interaction.
Careful engineering judgements are required during the feature assignment process due to
the fact that Assembly Designer can only work with partially and fully constrained assembly in
the six degree-of-freedom framework, whereas in reality many systems are overly constrained
either for specific engineering purposes or by bad designing practices. Therefore, users are
often required to model and simplify the actual engineering problems in order to obtain
meaningful results from the program. During the sequence editing process, knowledge on the
design preferences and assembly constraints is necessary for the elimination of the
52
undesirable assembly sequences and the reduction in effort on determining the optimal
assembly process.
3.2.2 Component Selection and Optimization Using DOME
Application Scenario
The product development team at LMTDS has been working on creating the Bill of Materials
(BOM) for the Gen2 system. At the current stage the focus is mainly on the components
carried over from the Gen1 design. For a typical component, a number of vendors are invited
to give product presentations to the development team, which is composed of managers and
engineers representing different functional groups within the LMTDS.
After all the vendors
have presented their product solutions, the team works together to evaluate the alternatives
and decide upon one to be listed on the BOM. Since the process requires the cooperation of
a number of people inside and outside of LMTDS, communication can be a challenge.
Currently information is being handled through traditional channels such as meetings, phone
calls, and emails.
Technical Details
This sample application illustrates how DOME can assist the development team in
streamlining the BOM creation process. Three DOME models are created on three different
machines, representing the workstations maintained by an in-house system engineer located
at the local LMTDS site, an NRL fluid mechanics specialist residing in Washington D.C., and
an overseas vendor.
The local LMTDS model has the following modules:
*
A catalog of 5 vendors created by the purchasing department. Each entry in the catalog
depicts a laser-attached flow cell unit with the characteristic variables listed in Table 3.4.
53
Variable Name
Abbreviation
Laser Beam Diameter (m)
Laser Wave Length (m)
Laser Power (W)
BeamDia
WaveLength
Power
Pulse Width (s)
Depth of Field (m)
PW
ReqDepth
Supported Flow Velocity (m/s)
Cost of unit ($)
FlowV
Cost
Table 3.4: Characteristic Variable Abbreviations for DOME Product Catalog
*
An Excel spreadsheet containing performance calculations such as flow rate limits,
pressure change, and Reynold's number for the fluid flow, etc.
*
A DOME Design Analysis container with definitions of two design evaluation criteria and a
genetic algorithm optimizer. The two evaluation criteria are described by the geometricbased Height of Cell preference function and the performance-based Reynold's Number
preference function as illustrated in Figure 3.6.
*
A relationship container with references to the remote fluid mechanics model
*
Another relationship container with references to the remote vendor component model
54
Figure 3.6: Design Evaluation Criteria
The remote NRL model contains a MATLAB model that displays the fluid flow profile across a
range of viscosity and pressure drops when given the output from the LMTDS Excel model.
Another remote model, the one maintained by the vendor, contains a SolidWorks CAD model
of the proposed product solution, along with an Excel model that calculates the cost of the
55
product based on the dimensional information from the CAD model. Note that the complete
set of data files for the three interconnected DOME models can be found in Appendix 1.
With these three interconnected models in place, the development team can plug in the
different alternatives of the laser-attached flow cell unit and observe the effects on the fluid
flow profile and other product performances. In other words, preliminary product assessment
can be conducted right at the LMTDS local site, without any significant vendor involvement
except the providing of the product models through DOME. According to the assessment
result, the product from Vendor1 provides the evaluation score of 0.71 out of the total of 1,
which is the highest out of the five proposed product solutions. Therefore, Vendor1 is to be
selected as the supplier for the laser-attached flow cell unit.
Once the vendor selection has been finalized, the team can also explore the possibility of
customizing the component specifically for the LaserNet Fines system, given that the vendor
has the manufacturing capability to support such kind of design customization. In this sample
application, the optimizer is set to have the Depth of Field of the laser diode (ReqDepth) and
the supported Flow Velocity (FlowV) as the two search variables. The objective of the
optimization is an evaluation score calculated based on the Height of Cell and the Reynold's
Number design criteria. In this sample application, the optimization is set to run for 5
generations with the population size of 3 in each generation. The result converges to the
ReqDepth of 2.38E-4 m and the FlowV of 0.05 m/s, with the evaluation score of 0.73. Note
that designs with even higher evaluation scores can be expected when a more thorough
optimization operation is performed, i.e. with a higher number of generations and a higher
population size is used.
However, the time it takes for such operation to converge is
significantly higher than what is illustrated in this sample application.
Usage Key Points
In order to take full advantage of the DOME evaluation and optimization capabilities, it is
preferable to have a system model composed of a fair number of modules. Creation of such
model can be a time and labor intensive process, but this initial investment is offset by the
design iteration and evaluation with minimal communication
requirements. DOME does not completely eliminate the need of meetings and phone calls
ability of doing rapid
56
per se. What it offers is a way to bypass some of the less efficient communication processes,
of which the associated cost and time saving can be tremendous.
3.2.3 Module Formation Using Design Structure Matrices
Application Scenario
Engineers at LMTDS are working on defining the Gen2 system architecture. The existing
Gen1 design has excessive amount of cables running across the interior of the device.
According to the engineers, these cables complicate the assembly process by reducing
accessibility to some of the system components. Furthermore, the weight of the cables exerts
a downward force on the electronic connectors, a situation determined to cause component
displacement and various other manufacturing problems experienced at the production site.
The engineers believe that by rearranging the locations of the system components and
grouping those with strong interactions in close proximity, they can achieve the reduction of
wiring and manufacturing difficulties in the system.
Technical Details
This sample application illustrates how component-based DSM can assist the LMTDS
engineers in determining the appropriate module formation for the Gen2 system architecture.
Data for this application were collected through a detailed survey conducted at the LMTDS
site. Engineers were asked in the survey to assign dependency value to every pair of the 19
major components in the system. The dependency value of 1 indicates strong interaction and
therefore high preference for close proximity between the pairs, 0 represents indifference,
while -1 suggests that the two components should be separated as far as possible. Shown
below is the survey data captured in four DSMs corresponding to the spatial, energy,
information, and material dependencies:
57
SPATIAL DSM
COMPONENTS
SBC, LCD, Touch
Frame Grabber
Pump, Peristaltic
A
B
C
Camera
D
Focus Optics
Laser & Optics
Laser Power Supply
Interface Board
Flow Cell
Ultrasonic Cleaner
LS-120 Floppy
150W Power Supply
Power Switch
Power Connector
Power Line Filter
Power Relay
AC Fan
Input Sample Bottle
Discharge Bottle
E
F
G
H
1
J
K
L
M
N
0
P
Q
R
s
I
I I
I
A B C D E F G H I J K L
1 -1
1
-1 -1
1
-1
-1
-1
-1
-1 -1
1 1
1
-1 -1 -1
1
1
-11-1 -1
-1 -1
1
-1-1-1
-1-1-1
1
11
-1 -1
1
1
1
-1 -1
-1
-1 -1 -1 -1 -1
-1 -1 -1 -1 -1
-1 -1 -1 -1 -1
-1
-_-_-
1-___
_-_-_-
1
-1
M N OP Q R S
1 -1 -1
-1 -1 -1
-1
-1 - -1
-1 -
-1 -1 -1 -1 -1
-1 -1 -1 -1 -1
-1 -1 -1 -1 -1
1 -1
-1 -1
-1 -1
-1 -1 -1
1 1
-1 -1 -1 -1 -1 -1 -1
-1 -1 -1 -1 -1 -1 -1
1
-1 -1
-1 -1
-1 -1
-
-1
-1
-1
1 1
1 -1 -1 -1 -1 -1 -1
-1 -1 -1 -1 -1 -1
Figure 3.7 Spatial Dependency Matrix
ENERGY DSM
COMPONENTS
A
SBC, LCD, Touch
Frame Grabber
B
Pump, Peristaltic
C
Camera
D
Focus Optics
E
Laser & Optics
F
Laser Power Supply G
Interface Board
H
Flow Cell
_
J
Ultrasonic Cleaner
LS-120 Floppy
K
150W Power Supply L
Power Switch
M
Power Connector
N
Power Line Filter
0
Power Relay
P
AC Fan
Q
Input Sample Bottle R
Discharge Bottle
S
A B C D E F G H I
1
1
.
J
M N O P Q R S
K L
1
-
1.
1
1
1
1
1I
1
1
--
-
1
1
Figure 3.8 Energy Dependency Matrix
58
INFORMATION DSM
COMPONENTS
SBC, LCD, Touch
Frame Grabber
Pump, Peristaltic
Camera
Focus Optics
Laser & Optics
Laser Power Supply
Interface Board
Flow Cell
Ultrasonic Cleaner
LS-120 Floppy
150W Power Supply
Power Switch
Power Connector
Power Line Filter
Power Relay
AC Fan
Input Sample Bottle
Discharge Bottle
A
B
C
D
E
F
G
H
I
J
K
L
M
N
0
P
Q
R
S
A B C D E F G H I J
1
1
1
1
1
1
1
1
-|1
1
1
K LM N 1
1
P Q R S
1
1
1
Figure 3.9 Information Dependency Matrix
MATERIAL DSM
COMPONENTS
SBC, LCD, Touch
Frame Grabber
Pump, Peristaltic
Camera
Focus Optics
Laser & Optics
Laser Power Supply
Interface Board
Flow Cell
Ultrasonic Cleaner
LS-120 Floppy
150W Power Supply
Power Switch
Power Connector
Power Line Filter
Power Relay
AC Fan
Input Sample Bottle
Discharge Bottle
II
A B C D E F G H I
A
B
C1
D
E
F
G
H
I
J
K L M N O P Q R S
1
-1
-1
-1
1
-1 1
J
K
L
M
N
0
P
Q
R
S
Figure 3.10 Material Dependency Matrix
59
A combined DSM is created by summing the four dependency matrices.
Since the DSM
clustering algorithm cannot work with negative dependency values, an adjustment factor of 1
is added to each entry to reset the lowest dependency value to 0 before the combined DSM is
inputted into the DSM spreadsheet.
Through the embedded clustering algorithm, the
spreadsheet is capable of proposing a number of alternative module formations with minimal
coordination cost. The coordination cost for each module formation is calculated based on the
size of the modules, the number of modules, and the effectiveness of the module
configuration in containing system dependencies. The proposed alternatives are evaluated,
and promising ones are selected based on experience of the engineers and other design
criteria not captured by the DSMs. Shown below is one of the proposed module formations:
System
Elements
150W Power
Supply
Cluster 1
Ultrasonic
Cleaner
Input Sample
Bottle
Discharge
Cluster 2
Cluster 3
150W Power
Supply
Power Switch
Pump,
Peristaltic
Camera
Power
Focus Optics
Power Line
Filter
Power Relay
AC Fan
SBC, LCD,
Touch Screen
Frame Grabber
Pump,
Peristaltic
Connector
Bottle
Cluster 4
Laser & Optics
Interface Board
Laser Power
Supply
Flow Cell
LS-120 Floppy
150W Power
Supply
AC Fan
150W Power
Supply
Table 3.5: DSM Clustering Result
This particular clustering result indicates that the Gen2 architecture should be composed of
four modules:
*
Cluster 1 - the fluid sample handling system
*
Cluster 2 - the power system
*
Cluster 3 - the optic system
60
0
Cluster 4 - the control and signal processing system
The shared components of AC Fan between Cluster 2 & 4 and Peristaltic Pump between
Cluster 3 & 4 also indicate there are interactions existing among the modules. The 150W
Power Supply is listed as System Element because it has strong interactions with multiple
modules and therefore cannot be grouped into any particular module.
Usage Key Points
It may appear to the reader that the engineers can probably come up with such a module
configuration without the assistance of DSM, that the clustering result is merely stating the
obvious. This is because we are working on a simplified system with only 19 components.
Imagine we are to determine the module formation of a system with hundreds or thousands of
components, engineers without a systematic tool such as DSM can only manage to explore
the vast design space through a trial-and-error process, which can be time and capital
intensive.
3.2.4 Inspection Strategy Design Using KCTooI
Application Scenario
The manufacturing engineers at LMTDS are currently facing a challenge on production
variation control. They discover that when the Gen1 machines are assembled, the distance
and the alignment between the Flow Cell and the Camera often fall out of the specification
limits. Since this dimension governs the focal characteristic of the system, variation of such
cannot be tolerated. In order to fix this problem, assembly workers have to spend hours of
extra time reworking and realigning the components, which causes the production cost to
increase significantly. The development team is working on eliminating this variation problem
from the Gen2 design, but while the Gen1 machine is still in production, the manufacturing
engineers want to develop an inspection strategy that guarantees the delivery of satisfactory
products at minimal cost addition to the overall production process.
Technical Details
61
In this sample application a Key Characteristic Flowdown model of the optical subassembly
has been created as shown in Figure 3.11. The model is simplified to contain only 5 parts,
which make up 2 subassembly and 1 system. Listed in Table 3.6 are the names of the
system/subsystem/part, their associated KCs, and the KC abbreviations. Note that all
coordinates in the table are defined in reference to the global coordinate of the Optical
Assembly.
62
System/Subsystem/Part
OtclAsml(sse)Flow
Optical Assembly (system)
Key Characteristics
Distance between the Lens and the
Cell window___________
Angular
alignment
between
the
Lens and the Flow Cell Window
Horizontal coordinate of the Flow
Cell window
Cell Unit (subsystem)
Optic Unit (subsystem)
Angle between the Flow Cell
window and the vertical reference
plane
Horizontal coordinate of the Lens
Angle between the Lens and the
vertical reference plane
Optical Plate (part)
Size of
Optical
Size of
Optical
Size of
screw hole #1 for mating the
Plate to the Mounting Base
screw hole #2 for mating the
Plate to the Mounting Base
screw hole #1 for mating the
Optical Plate to the Camera
Flow Cell (part)
Size of screw hole #2 for mating the
Optical Plate to the Camera
Thickness of the Flow Cell
Horizontal coordinate of screw hole
#1 and #2 for mating the Mounting
KC Abbreviation
Distance
Alignment
Alignment
Window X Location
Angle Tilted
Lens X Location
Angle Tilted
Screw1 Hole Size (MB)
Screw2 Hole Size (MB)
Screw1 Hole Size (C)
Screw2 Hole Size (C)
Cell Thickness
Screwl +2 X Location
Base to the Optical Plate
Mounting Base (part)
Lens (part)
Camera (part)
Vertical coordinate of screw hole #1
for mating the Mounting Base to the
Optical Plate
Vertical coordinate of screw hole #2
for mating the Mounting Base to the
Optical Plate
Thread tolerance of mating interface
to the Camera
Horizontal coordinate of screw hole
#1 and #2 for mating the Camera to
the Optical Plate
Vertical coordinate of screw hole #1
for mating the Camera to the Optical
Plate
Vertical coordinate of screw hole #2
for mating the Camera to the Optical
Plate
Table 3.6: KC Abbreviations
63
Screw1 Y Location
Screw2 Y Location
Thread Tolerance
Screw1 +2 X Location
Screw1 Y Location
Screw2 Y Location
-Cell Thickness
Distance
-Window X Location
Flow Cell
-Screwl +2 X Location
-Angle Tilted
-Screw1
Y Location
Screw2 Y Location
Cell Unit
-Lens X Location
Lens
-Angle Tilted
Alignment
Mountinci Base
-Thread Tolerance
-Screwi +2 X Location
-Screw1 Y Location
-Screw2 Y Location
Optic Unit
Camera
-Screw1 Hole Size (MB)
-Screw2 Hole Size (MB)
Screw1 Hole Size (C)
Screw2 Hole Size (C)
___________Optical Assembly
.......... c al Plate________
Figure 3.11: KC Flowdown Model of Optical Sub-assembly
Two product KCs to be managed in this model are the distance and the alignment between
the camera and the flow cell. Note that this is a special case in that LMTDS does not have
enough data to support the creation of the KC model. Since less than 10 units of the Gen1
system have been built since the introduction of the product, the manufacturing data,
especially the statistical data on production process capability, is simply not available. The
author therefore had to create an estimated set of manufacturing data based on the actual
64
nominal values of each KCs.
An inspection simulation is performed to verify that the
production variation problem is represented in the estimated data, i.e. that most of the reworks
are done for the alignment and the distance KCs. The result of the simulation is presented in
Figure 3.12, illustrating that out of a hundred units produced, 10 units would require rework for
the distance KC, and 81 units for the alignment KC.
Figure 3.12: Inspection Simulation Result
An inspection optimization is then performed on the data at 100 generations with 100 units
built per generation. The result, as shown in Figure 3.13, suggests that inspection should be
done for the following three KCs with the indicated inspection specifications:
*
Screwl Y Location of the Mount Base - representing the vertical position of the screw hole
on the Mounting Base. The screw hole is a mating feature to the Optical Plate.
" inspect at 3.23 Standard Deviations
-
rework when out-of-spec
65
*
*
Screw1 +2 X Location of the Camera - representing the horizontal positions of the two
screw holes on the Camera. The screw holes are mating features to the Optical Plate.
-
inspect at 2.79 Standard Deviations
-
rework when out-of-spec
Screw1 Hole Size (C) of the Optical Plate - representing the size of screw hole on the
Optical Plate. The screw hole is a mating feature to the Camera.
-
inspect at 3.07 Standard Deviations
-
scrap when out-of-specs
The expected production cost associated with this inspection strategy, including assembly and
inspection, is calculated to be 3730 labor minutes.
In actual practice, manufacturing engineers can modify their existing production system based
on such optimization results to achieve better product outcomes. In case the proposed
strategy is not feasible, it is a good indication that there may exist some fundamental
problems in the design of the product. The development team can be alerted in that situation
and design changes can be proposed based on the highlights of the KCTool analysis.
66
-Cell Thickness
Distance
-WindowX Location
Flow Cell
Screwl +2 X Location
- Angle Tilted
3.23
SD
- Screw2 Y Location
Mounting Base
Cell Unit
Thread Tolerance
-Lens X Location
Lens
- Angle Tilted
Alignment
-----
2.79 SID
Screwi Y Location
Screw2 Y Location
Optic Unit
-Camera
Screwl Hole Size (MB)
Screw2 Hole Size (MB)
3.07
SD
-Screw2 Hole Size (C)
Optical Assembly
Optical Plate
Figure 3.13: Inspection Optimization Result
Usage Key Points
In reality, KCTool is not applied until fairly late in the development process. Presumably at the
time when the manufacturing process has been finalized and trial production testing has been
carried out. Data availability should no longer be an issue by that time.
3.3 Case Conclusion
67
Figure 3.14 serves as a summary of the four sample applications presented in this chapter. In
chapter 5 a process integration opportunity is proposed based on the sample applications
developed here. The author intends to illustrate there how these four currently independent
tools can be combined in a systematic point of view to provide support for a multi-stage
product development process.
PROJECT APPLICATION MAP
4
Inter-component prox imity
" spatial
- energy
- mating geometry
- feature definitions
- assembly constraints
- information
- material
Assembly
Designer
DSM
- suggested module
formation
- performance req's
- part catalogs
- geometry
4
Flow Model
(Matlab)
CAD Model
(Solidworks)
DOME
- feasible assembly
sequences
Cost Model
(Excel)
I
- performance req's
- KC flowdown
- process capability
- inspection and
rework costs
KCTool
- inspect I rework
strategies
- trade-off studies
- optimization
- vendor selection
Figure 3.14: Thrust 2 Application Map (figure by W. Finch)
68
CHAPTER 4: TOOL USAGE LOGS
Usage logs of the Thrust 2 tools are created to expedite the learning process of students and
researchers interested in participating in the future activities of the Product Development
Integration Laboratory. The logs contain problems encountered by the author during the
course of this research, instructions on how to get around those problems, and in general
know-hows that are helpful to new users of the tools. As mentioned in Chapter 2, this thesis
research is able to capture only the snapshots of the tools at their current stage. Please be
aware that as the tools are being modified constantly. Problems described in this chapter may
no longer exist in the new versions of the tools.
Similar to the rest of this thesis, the logs are divided into four sections corresponding to the
four Thrust 2 tools.
Section 4.1 Assembly Designer Logs
Assembly Designer System
*
The "&" Operator - Attempting to use the "&" operator when initiating Assembly Designer
at the UNIX prompt, i.e. by typing "AD
&",
will cause malfunctioning of the EDIT software
module. The program will have problem opening the EDIT windows when the operation is
triggered in such manner. To avoid problems the user is advised to always initiate the
Assembly Designer with only the "AD" command at the prompt.
Assembly Designer Operations (In the Assembly Window)
*
The "Delete" Button - The program has problem reopening a model in which elements
have been deleted in a previous session using the "Delete" button. Before this bug is
fixed, it is advised that the user should plan carefully when constructing the DFC model
and avoid deleting of any element as much as possible. Also, it is a good idea to save
multiple copies of a working model. This is to avoid having to start everything from scratch
in case the most current model cannot be retrieved.
69
*
Double Clicking - The Triggering of all operations in Assembly Designer require single
mouse clicking. When an operation is triggered by double clicks, multiple input windows
will be opened which may cause input discrepancies. To avoid problems the user is
advised to always check for the correctness of the inputs on the last open window.
"
Part Naming - Assembly Designer cannot accept part names that are longer than 8
characters. Also the names cannot contain blank spaces. The program does not have an
error checking mechanism in place; violation of this naming convention will cause
malfunctioning of the program.
*
Model Saving - Naming of the models is under the same convention as that of the parts,
i.e. names cannot be longer than 8 characters and they cannot contain blank spaces.
*
Ordering of Modules - Performing of the software modules have to be in order, i.e.
Constraint Analysis cannot be run before SPAS and DFCPR, and EDIT can only be run
last when the operation of the other three modules are completed.
Section 4.2 DOME Logs
DOME System
*
Model Initiation - When a DOME model is initiated, windows of different external programs
will pop up. It is advised that the user should wait until all the programs are done
initializing before doing anything on the screen. Changing the contents of these external
programs at this time causes DOME to lose connection with the programs. Note that this
problem is observed often with Excel.
*
Server Initiation/Re-initiation - Before starting a DOME server, it is advised that the users
should go to the Windows Task Manager to check if there are Excel programs left from
previous sessions which may still be running in the background. All the Excel programs
should be terminated before DOME is initiated/re-initiated.
*
Server Shutdown - To avoid crashing of the DOME server, it is advised that the user
should always follow the standard shutdown procedures described below:
70
1.
Terminate all active models by right clicking the models before closing the DOME
interface and the other external windows
2. Type Ctrl-Alt-Del at the DOME server window to close down. Answer "Y" for the
question "Terminate batch job?" posted by the server window
3. Go to the Windows task manager to manually terminate any Excel programs that
are running in the background after all the DOME related windows have been
closed
*
DLL Conflicts - If an "Entry Point Not Found" error message comes up when the user
attempts to open a DOME model, it is probably because there is a DLL file conflict in the
system. To solve this problem, copy the DOME specific DLL files Mfc42d.dll, Mfcd42d.dll,
Mfco42d.dll, and Msvcrtd.dll into the System32 directory under the main disk drive C:\. In
this applications it is the sharing of these DLL files between DOME and KCTool that
causes the problem. Since the two programs use different versions of these DLL files,
switching of their corresponding DLL files into the System32 directory is required in order
to run both DOME and KCTool on the same computer.
*
Remote References - Significant slow down can be experienced when a model with one
or more remote references is initiated. To speed up the initiation process, make sure that
all the associated remote servers are opened before attempting to open the local model.
Interfaces to External Programs
,Excel Plug-in - In order to attach an Excel spreadsheet to DOME, the user has to
"DOMEified" the spreadsheet by opening it on a DOME-enabled computer. He/she has to
first initialize the DOME interface toolbar by clicking "View"->"Toolbars"->"DOME Wrapper
Commands" on the main menu, then click "Create Interface" on the toolbar to save create
a file for the "DOMEified" spreadsheet. When that is done, click "Edit Interface" to add and
delete input/output assignments for variables to be displayed in DOME by simply following
the order set by the interface. Save the "DOMEified" file when the input/output assignment
is completed.
71
Once these three files are created, the user can go to the client window, add an Excel
container to the DOME model, open the container by clicking on its name, then input the
full Windows address of the "DOMEified" spreadsheet file. Note that the .xIs extension of
the file should be excluded in the address.
Excel files for the DOME sample application can be found in Appendix 1.
*
MATLAB Plug-in - In order to attach a MATLAB model to DOME, the user has to create
three files in a single directory. These files should be of type .m, .txt, and .mtxt, of which
the .txt and the .mtxt files must share the same name. The .m file should contain the
model and the calculations in MATLAB acceptable codes. The .txt file should contain the
input/output assignments of variables in the .m file in the following formats:
For real number variables
VarNAMEDOME
IN/OUT
1
VarNAMEMATLAB
R
INITvalue
Unit
MATLABFILENAME.m
In which
-
VarNAMEDOME is the variable name to be displayed in DOME
VarNAMEMATLAB is the variable name in the MATLAB model
-
R stands for real number
-
INITvalue is the initial value of the variable to be displayed in DOME
-
Unit is the unit type of the variable
-
IN/OUT denotes whether the variable is an input or an output for the MATLAB
-
model, with 1 for input and 0 for output
-
1 is a dummy variable
-
MATALBFILENAME.m is the name of the file in which the MATLAB model resides
in
For matrix variables
VarNAMEDOME
VarNAMEMATLAB
72
M
ROWsize
COLsize
1
IN/OUT
MATLABFILENAME.m
In which
"
VarNAMEDOME is the variable name to be displayed in DOME
-
VarNAMEMATLAB is the variable name in the MATLAB model
-
M stands for matrix
"
ROWsize is the number of rows in the matrix
-
COLsize is the number of columns in the matrix
-
IN/OUT denotes whether the variable is an input or an output for the MATLAB
model, with 1 for input and 0 for output
"
1 is a dummy variable
-
MATALBFILENAME.m is the name of the file in which the MATLAB model resides
in
Lastly, the .mtxt files should contain the name of the .m files to be executed in DOME.
Note that the extension .m does not need to be included.
For example, if the user would like to attach the MATLAB model testMATLAB.m to DOME
with 2 real variables and 1 matrix variable, he/she can create a testMATLAB.txt file as
follows, with the assignment for each variable on a separate line:
A
A
R
5.0
meter 1
1
testMATLAB.m
B
B
R
3.5
pascal 0
1
testMATLAB.m
C
C
M
2
2
1
testMATLAB.m
1
After that the user can create a testMATLAB.mtxt file with the single line:
testMATLAB
Notice that in this example all three files are given the same name for ease of discussion,
but in reality the .m file can have a different name than the .txt and .mtxt files. MATLAB
related files for the DOME sample application can be found in Appendix 1.
73
Once these three files are created, the user can go to the client window, add a MATLAB
container to the DOME model, open the container by clicking on its name, then input the
full Windows address of the .txt file. Note that the .txt extension of the file should be
included in the address.
*
SolidWorks Plug-in - In order to attach a SolidWorks model to DOME, the user has to
create a .txt file containing the input/output assignments of variables in the following
format:
VarTYPE
VarNAMEDOME
SolidWorksVarNAME Unit
INITvalue
SolidWorksFILENAME
IN/OUT
In which
" VarTYPE is the type of the variable in SolidWorks
" VarNAMEDOME is the variable name to be displayed in DOME
-
INITvalue is the initial value of the variable to be displayed in DOME
SolidWorksFIlLENAME is the full Windows name of the SolidWorks file in which
the variable is defined
" SolidWorksVarNAME is full name of the variable in SolidWorks. Note that
"dummy" can be used for derived variables with no full name in SolidWorks
" Unit is the unit type of the variable
- IN/OUT denotes whether the variable is an input or an output for the SolidWorks
model, with 1 for input and 0 for output
For example, if the user would like to attach the SolidWorks models testSWASSM.sidasm
and testSWPART.sldprt to DOME with 1 DIMENSION and 1 VOLUME variable, he/she
can create a testSW.txt file as follows, with the assignment for each variable on a separate
line:
DIMENSION
A
5.0
C:\dome\models\testFILES\testSWASSM.sldasm
A@Base-Extrude@PART 1.Part
3.5
VOLUME
B
dummy
cubicmeter
meter 1
C:\dome\models\testFILES\testSWPART.sIdprt
0
74
SolidWorks related .txt file for the DOME sample application can be found in Appendix 1.
Once the .txt file is created, the user can go to the client window, add a SolidWorks
container to the DOME model, open the container by clicking on its name, then input the
full Windows address of the .txt file. Note that the .txt extension of the file should be
included in the address.
DOME Operations
*
Excel Discrepancy - DOME opens up a new Excel spreadsheet every time an optimization
operation is requested. This creates a problem in a situation in which modifications of
non-search variables have been made prior to the operation (non-search variables are
parameters that are held fixed during the optimization run). The user may think that the
optimization algorithm is running with the modified values displayed on the DOME client
windows, but in fact it is the original values stored in the Excel spreadsheet that are being
used. To avoid this problem the user have to make sure that the numbers stored on the
Excel spreadsheet are those that are supposed to be used in the optimization algorithm,
and that their values do not need to be changed during the course of the DOME operation.
*
Remote References - DOME allows referencing of variables between local and remote
models. This functionality works fine when aliases of local variables are pasted onto the
remote model.
However, when aliases of remote variables are pasted onto the local
model, DOME has problem updating their values, or in order words, the linkage between
the remote variables and their aliases on the local model cannot be accomplished. There
is no known fixed to this problem as of the time of writing this publication.
*
Relation Definition - When defining relation among DOME variables using the relation
container, the statements inputted into the "Relation text" should be compatible with C
programming language. In particular, all statements should end with a semi-colon. Also,
the user have to make sure that the units of the variable match the expected outcomes of
the relation definitions, or DOME will not be able to compile the calculation results.
75
*
Optimizer Warning - When objective variable of an optimization operation is copied onto
the optimizer window, an alert window will pop up with the message: "Child not found: 1".
This alert message can be ignored by clicking the "ok" button.
Section 4.3 DSM Logs
DSM Operations
" Data Saving - When changes are made on the DSM spreadsheet, saving can only be
done when the program focus is on the "DSM" page. Attempting to save on the
"Clustering" and Clusters" page will result in runtime error and program malfunctioning
next time the spreadsheet is opened.
*
Clustering Results - The current version of the spreadsheet allows the appearance of
components in multiple modules, which can be confusing to the user. The important
points to remember are:
-
A component shared by more than two modules is considered as a system
-
element. In reality it does not belong to any particular module in the system.
In case a component is shared by two modules, the actual placement decision of
which module the component is made by the engineers based on other design
criteria not captioned in the DSM. For example, although the Peristaltic Pump is
shared by both cluster 3 and 4 in Table 3.5, the engineers may decide to place it in
cluster 4 so that the wiring between the pump and the other control and signal
processing components can be mininized.
Section 4.4 KCTooI Logs
KCTool System
*
DLL Conflicts - If the user has trouble initiating the KCTool program, it may be because
there is a DLL file conflict in the system. To solve this problem, copy the KCTool specific
DLL files Mfc42d.dll, Mfcd42d.dll, Mfco42d.dll, and Msvcrtd.dll into the System32 directory
under the main disk drive C:\. In our applications it is the sharing of these DLL files
76
between DOME and KCTool that causes the problem.
Since the two programs use
different versions of these DLL files, switching of their corresponding DLL files into the
System32 directory is required in order to run both DOME and KCTool on the same
computer.
KCTool Operations
*
Inspection Limit Optimization - KCTool delivers the result of an inspection limit
optimization to the InsLimit.txt file created in the same directory where KCTool resides. In
order to visualize the cost vs. the inspection limit curve, the user has to cut and paste the
numbers from the .txt file to an external program with graphing capability such as Excel.
"
Data Discrepancy - KCTool has occasional problems with its data storing functionality. In
particular, the author has experienced a few incidents in which the performing of an
optimization operation causes the inspection costs and limit data of some of the KCs to
reset to zero. To avoid introducing data discrepancy into the optimization, it is therefore
recommended that parameters associated with each KCs should be checked before
optimization algorithm is performed. Another way to avoid this problem is to open up a
new KCTool window every time an optimization operation is performed, so that the user
can be sure that the data used in the operation is the same as what is stored in the Access
database file.
77
Chapter 5: TOOL INTEGRATION
A framework for integration is proposed in this chapter. Tool integration based on the
framework is presented based on the context of this thesis project, and suggestions on
specific future research opportunities are discussed. It is hoped that such discussion can
unveil some insights on how Thrust 2 researchers can proceed in the efforts on developing an
end-to-end system for product development.
5.1 The Integration Framework
Presented in this section is an integration framework proposed by Thomas and Nejmeh in
their article Definitions of Tool Integration for Environments [9]. Based on an earlier work by
Anthony Wasserman [10], the framework defines integration in terms of the following four
relationships:
*
Presentation - "The goal of presentation integration is to improve the efficiency and
effectiveness of the user's interaction with the environment by reducing his/her cognitive
Well integrated tools should allow the user to apply his/her experiences and
expectations from one tool to the other. Furthermore, they should share the same
load."
"
metaphors and mental models to minimize learning and usage interference for the user.
Data - "The goal of data integration is to ensure that all information in the environment is
managed as a consistent whole, regardless of how parts of it are operated on and
transformed." Well integrated tools should be able to exchange and use each other's data
with little work required. They should minimize redundant data, and they should share the
same semantic constraints on data consistency. Finally, the tools should have a
synchronization mechanism for making sure that changes to all shared non-persistent data
made by one tools is communicated to the other.
"
Control - "The goal of control integration is to allow the flexible combination of an
environment's functions, according to project preferences and driven by the underlying
processes the environment supports." Well integrated tools should offer services other
tools in the environment require and use, and at the same time they should be able to use
the services provided by other tools appropriately.
*
Process - "The goal of process integration is to ensure that tools interact effectively in
support of a defined process." Well integrated tools should be able to achieve goals that
78
are part of a coherent decomposition of a process step in which the completion of one goal
by one tool leads to the achievement of other goals by others tools. They should also
generate and handle event notification consistently. Lastly, the tool should make similar
assumptions about the range of constraints they recognize and respect.
Figure 5.1 summarizes the four-relationship definition above by presenting in questioning form
what integration means to a single tool based on the elaborated properties of each
relationship. This diagram is taken directly from the Thomas and Nejmeh article [9].
Process Integration
Process step
How well do relevant tools combine to
support the performance of a process step?
Event
How well do relevant tools agree on the
events required to support a process?
Constraint
How well do relevant tools cooperate to
Presentation Integration
Appearance and behavior
To what extent do two tools use similar
screen appearance and interaction
behavior?
enforce a constraint?
Data Integration
Interoperability
How much work must be done for a tool to
manipulate data produced by another?
Nonredundancy
How much data managed by a tool is
duplicated in or can be derived from the
data managed by the other?
I4
TOOL
Interaction paradigm
To what extent do two tools use similar
metaphors and mental models?
Provision
To what extent are a tool's services used
by other tools in the environment?
Use
To what extent does a tool use the services
provided by the other tools in the
environment?
Data consistency
How well do two tools cooperate to
maintain the semantic constraints on the
data they manipulate?
Data exchange
How much work must be done to make the
nonpersistent data generated by one tool
usable by the other?
Synchronization
How well does a tool communicate
changes it makes to the values of
nonpersistent, common data?
Control Integration
Figure 5.1: Integration Definition by Thomas and Nejmeh
79
5.2 Implication on Thrust 2 Tool Integration
Thomas and Nejmeh suggested that integration should be defined independently of the
mechanisms and approaches used to support the process. Following their idea, the author
applies the integration framework to the context of the thesis project. Implications are then
presented on how such framework can assist the CIPD, in particular, the Thrust 2
researchers, in laying out an end-to-end system of product development. Limited by the
scope of this research project, the discussion is only involved with the four Thrust 2 tools.
Please note that it is not the intention of the center to exclude other tools and methodologies
from participating in the product development system. In fact, the center realizes that its
success relies on the its ability to reach out and get outside resources to contribute to system,
as it understands that it does not have the all the resources required in tackling all the existing
problems.
5.2.1 Presentation Integration
The goal of presentation integration is to reduce the user's cognitive load on interacting with
the individual tools, the tool sets, and the environment as a whole. Based on this definition,
the author has identified among the Thrust 2 tools the following opportunities for presentation
integration:
IImplementation of a Standard Graphic User Interface - One possible solution for giving
the Thrust 2 system a consistent "look and feel" is to implement a standard user interface
across the four tools. A familiar example of this kind of presentation integration can be
observed in the Microsoft Office Suite. Although the Office components all have different
functionality, they are designed under a similar layout of tool bars and wizard windows.
This gives the users a rough sense of where the commands are and what they do, such
that once a user knows how to format a document in Word, it is not difficult for him/her to
figure out how to make a nice looking spreadsheet in Excel.
This integration solution is appropriate if the proposed Thrust 2 system is targeted for
small, non-distributed development teams. It is typical for these teams to have developers
in charge of multiple tools, in which case having a standard user interface can reduce the
cognitive loads required for the developers to learn and interact with the different tools.
80
The author would like to point out however that this solution requires a significant amount
of effort first in creating and maintaining an interface standard, then in rewriting the
existing codes to accommodate the standard. In a research entity like the CIPD where
tool development projects are predominantly independent in nature, such kind of
integration may not be easily achievable.
*
Employment of a Common Wrapping Interface - An alternative solution to the standard
interface is a wrapping interface system.
A wrapping interface works on top of the
different Thrust 2 interfaces. It acts as a middle person between the users and the tools,
providing the users with a common "look and feel" while letting the tools to operate with
their existing interfaces underneath.
This integration solution is good for a Thrust 2 system that is targeted for large, distributed
development teams. These teams usually have one or more developers in charge of each
tool, i.e. one system engineer is maintaining a DSM model by himself, while a few
manufacturing engineers are responsible only for the Assembly designer model. In such
setting, there is no need for the system engineer nor the manufacturing engineer group to
learn about each others' tool interface, as long as they can get access to the services and
obtain the desirable results.
The author feels that this kind of integration solution can be achievable through the DOME
environment. In particular, DOME containers and interface windows should be created for
Assembly Designer, DSM, and KCTool. Instead of creating plain input/output interface like
that of Excel, the author recommends the employment of more customized interface
windows like that of the genetic algorithm optimizer.
Listed below are suggestions of
possible tool interfaces:
-
The Assembly Designer interface may have an embedded EDIT module for
-
assembly sequence editing.
The DSM interface may have a page for changing the weighting factors among the
four dependencies, and a page for triggering the clustering algorithm and obtaining
the result.
81
-
The KCTool interface may have a page for assigning of corrective actions to KCs,
and a page for performing the inspection simulation and obtaining the expected
production results.
5.2.2 Data Integration
The goal of data integration is to maintain data consistency among tools in the environment.
Based on this definition, the author has identified the following opportunities for data
integration:
Assembly Designer and KCTool - KCTool can be modified to offer an alternative data
For example, the KC
representation format using the Datum Flow Chain (DFC).
Flowdown data in Figure 3.11 can be represented as shown in Figure 5.2, in which the
arrows trees depict the DFC model, and the dotted trees represent the KC Flowdown
Structure. Note that there are three levels of KCs illustrated in this representation:
" Part KCs are listed within the boxes associated with the parts
-
Subassembly KCs are listed between the dots associated with the parts
System KC are listed between the boxes associated with the subsystems
82
Subsystem Cell Unit
Subsyst em Optic Unit
Part Flo w Cell:
KC Cell TI k.
Part Mounting
Base:
KC S12 X Loc
KC S1 YLoc
KC S2 Y Loc
sI
KC
Distance
I
Part L ens:
lKC
hread Tolerance
KC
Alignment
Part Camera:
KC S12 XLoc
KC S1 YLoc
KC S2 YLoc
g..... ............
-
KC
Kd
Lens X
Lopatio
Window X
KC Angle
Tilted ..
Location
Q.
K
ngle
ilted
Part Optical Plate:
KC S1 Hole Size (MB)
KC S2 Hole Size (MB)
KC S1 Hole Size (C)
KC S2 Hole Size (C)
-*
mates
............. KC linkage
Figure 5.2 DFC-based Data Representation for KCTool
By adding such DFC-based data representation to KCTool, data integration between
Assembly Designer and KCTool can be promoted through either the employment of a
common data source, or the implementation of an automatic functionality in KCTool for
deriving KC Flowdown directly from Assembly Designer outputs.
The proposed DFC-based representation also unveil interesting system information not
currently offered by either of the tools. Namely, the DFC-KC combined model is able to
provide a visual clue on why the LaserNet Fines system is having problem delivery the
distance and alignment KCs between the Cell Unit and the Optic Unit subsystems. It can
be observed in Figure 5.2 that the distance and alignment KCs are the only KCs in the
83
.
system that are not defined directly by a mate. Instead, they rely on two tree structures of
mates for their KC delivery, one for the Cell Unit, and the other for the Optic Unit. As
production variations build up at those mates, the failure rate at the two KCs also
increases. The proposed DFC-KC model can therefore help engineers visualize the
problems in the system that are otherwise hidden, which can be extremely useful in an
iterative designing process.
DSM and Assembly Designer - New version of the DSM spreadsheet can be designed to
output the module formation in an Assembly Designer acceptable format, so that the
connectivity requirements embedded in the clustering result can be utilized during the
sequence editing process of Assembly Designer. For example, suppose that the
engineers are interested in exploring the manufacturing feasibility of having an optical
subassembly. Also suppose that the DSM clustering algorithm suggests a module
formation composing of the Camera, the Focus Optics, and the Laser & Optics. Since
components in a subassembly are typically assembled in order, the engineers can choose
to eliminate all sequences with the components being assembled at different times by
applying the DSM output in Assembly Designer. This increases the efficiency of the
assembly designing process by reducing the size of the design space to be explored.
*
DOME and KCTool - Product data obtained from suppliers through the DOME remote
service connections can be made compatible with the input format of KCTool, so that
information such as manufacturing process capabilities and cost can be loaded
automatically onto the KC Flowdown models without human intervention.
5.2.3 Control Integration
The goal of control integration is to ensure that tools are able to provide and accept services
as part of a whole system. Based on this definition, the author has identified the following
opportunity for control integration:
*
A Service Exchange System - Since human intervention is required in many of the tools,
the creation of an entirely automatic process using the four Thrust 2 tools is not feasible.
Therefore, the author proposes instead the implementation of a service exchange system,
one that can accommodate both human interactions and automatic triggering among tools.
84
In particular, the author recommends utilizing the DOME program linkage capability by
coupling control integration with the wrapping interface presentation integration method
mentioned earlier in this section. Once the customized interfaces for the Thrust 2 tools are
created, the proposed service exchange system can conveniently be built in the DOME
environment.
5.2.4 Process Integration
The goal of process integration is to make sure that tools interact well to support a defined
process. Based on this definition, we have identified the following opportunity for process
integration:
0
System designing process - A 4-stage scenario is presented illustrating one way of
combining the Thrust 2 tools to support an integrated development process.
Refer to
Appendix 2 for a demo script of this proposed process.
Stage 1: DSM is used to determine module configuration based on a specific system
architecture and the associated connectivity criteria.
Input(s)
-
System architecture/breakdown in DSM format
-
Component dependency definition in spreadsheet matrix format
Quantified module formation criteria, i.e. evaluation scores assigned to different
-
system dependencies
Output(s)
- Module formations based on specified criteria
Stage 2: DOME is applied to select and optimize supplier components based on the
modularized system architecture proposed by the DSM.
Input(s)
- Supplier database maintained by the purchasing department
-
CAD models of system components, maintained by the engineering department
85
-
Product cost models in spreadsheet format, maintained by the manufacturing
department
-
Performance simulation model maintained by system specialist
Evaluation criteria in DOME format, defined by the engineering department
" Other related product data in spreadsheet format, maintained by the engineering
-
department
-
Product specifications including CAD models and cost models, provided by the
suppliers
Output(s)
-
Supplier selection and component optimization based on specified design and
performance criteria
Stage 3: Assembly Designer is utilized to determine an appropriate assembly process based
on the product system defined by DSM and DOME.
Input(s)
Part list with detailed product data obtained from DOME
" Assembly constraint information obtained based on CAD models, i.e. exit
directions for disassembly and degree-of-freedom constraint for each component
-
-
Sequence evaluation criteria defined by manufacturing engineers
Output(s)
-
Set of feasible assembly sequences complying with specified manufacturing
criteria
Stage 4: Once the assembly sequence has been finalized and production testing has been
performed, KCTool is employed to configure a risk management strategy that warrants
optimal production output.
Input(s)
-
Key characteristic definitions, defined based on CAD models and assembly
-
sequence from Assembly Designer
Flowdown hierarchy, defined based on CAD models and assembly sequence
86
-
Cost of production, maintained by the manufacturing department
Cost of quality control, maintained by the manufacturing department
"
Manufacturing process capabilities, obtained both from the manufacturing
-
department and the suppliers
Output(s)
- Risk management strategy for the assembly system
Shown in figure 5.3 is a schematic of the proposed integrated development process.
87
Tool Outputs
Tool Inputs
"
"
System architecture
Connectivity criteria
DSM
-
Module formation
"
-
Vendor selection
Component optimization
Assembly
Designer
-
Assembly sequence
KCTool
-
Production variation
management strategy
--U
-
Product models
Supplier information
Design evaluation criteria
DOME
"
Geometric constraint
information
Sequence evaluation criteria
Key Characteristic
Flowdown definition
Cost of production and
quality control
" Manufacturing capabilities
Figure 5.3 One Possible Integrated Development Process
Different combinations of the tools are possible, the important point is that the tool applications
have to follow the chronological order due to data availability issues. The following are two
variations of the proposed integrated development process:
Variation 1 - Designing of a component to be manufactured in-house
This scenario starts with the definition of the component design based on cost,
performance, and compatibility with the rest of the system.
Stage 1:
DOME is used to optimize the component dimensions against simulated
operation conditions. Sets of dimension which guarantee the satisfaction of
88
certain performance specifications can therefore be determined and be used in
later analysis.
Stage 2:
Assembly Designer is used to further eliminate inappropriate dimensions by
locating geometric incompatibility with the already defined system components.
Stage 3:
KCTool is used to investigate the effects each dimensions would have on risk
management, and thereby select those that promise higher output quality and
lower assembly cost.
Stage 4:
By this stage most of the inappropriate dimensions would have been
eliminated. The remaining candidates are to be evaluated further and among
which an optimal dimension is to be determined
Variation 2 - Evaluating DFA/DFM driven design change
This scenario starts with a working design of a system and the associated
assembly process.
Stage 1:
Assembly Designer is used to determine alternative assembly sequences.
Stage 2:
DSM is used to assess module changes driven by the proposed assembly
sequence modification. For example, suppose Assembly Designer suggests
that the mating of one component is to be completed concurrently with the
mating of another component.
Using DSM, engineers can investigate how
much system dependencies can be eliminated by combining the two
components into a module.
Stage 3:
D.O.M.E. is used to investigate ways to accommodate the module changes
while satisfying all design criteria, i.e. by changing the specifications of some of
the in-house components, or by the using alternative supplier components
89
5.3 Chapter Summary
The author proposed in this chapter suggestions on how the Thrust 2 tools can be integrated
based on Thomas and Nejmeh's four-relationship integration framework. The integrated
Thrust 2 system can be envisioned as follows:
*
It supports a system-wise "look and feel" for the users and thereby reduces the cognitive
load associated with tool learning and usage.
"
It maintains data consistency and interoperability within the system.
*
It facilitates the service exchange among the tools.
*
It supports a multi-stage development process.
90
Chapter 6: CONCLUSION
This chapter summarizes the conclusions obtained from this research. In addition, possible
areas of future research in Thrust 2 tool integration are presented.
6.1 Conclusions
The author approached the thesis project by first constructing four sample tools applications
based on a product development case provided by jointly the Naval Research Laboratory and
the Lockheed Martin Tactical Defense Systems.
These applications are designed to
demonstrate the abilities of the tools to solve challenges appearing in different stages of the
product development process. Although not actually integrated, the applications provide a
common ground on which input and outputs of the tools can be studied, and potential
interactions among the tools can thereby be inferred. Details of the sample tool applications
are described in Chapter 3.
The author went on to present in Chapter 5 Thomas and Nejmeh's framework for investigating
integration opportunities of the Thrust 2 tools. Based on such framework, the author proposed
suggestions on how the Thrust 2 tools can be integrated to construct a system which gives the
users a consistent "look and feel", one that allows the tools to share data and services, and is
capable of supporting a multi-stage development process.
This thesis contributes to the CIPD research efforts by being the first to explore the integration
of the Thrust 2 tools. The problems and opportunities highlighted in this project can guide the
researchers in the development of an end-to-end product development process envisioned by
the center. The application experiences obtained in this research can also be shared by
students and researchers who are interested in getting involved in the Thrust 2 integration
effort in the future.
6.2 Future Research
Due to the limitation of data availability, only selected functionality of each Thrust 2 tools can
be explored in this research. With additional data from the industrial partners, future research
can be conducted on the tool capabilities that have been left out of this research, i.e. the other
91
three forms of DSM, the tolerance analysis module of Assembly Designer, and other plug-in
programs of DOME, etc. More interesting interactions of the tools can hopefully be
discovered, and as a result more integration opportunities can be unveiled.
Another possibility is to introduce non-Thrust 2 tools into the research. For example, a tool
named Virtual Customer has been developed by the Product Portfolio Definition group, Thrust
1, which allows developers to efficiently gather product requirements and other useful
information from the customers. The addition of this tool, along with other commercial and
academic tools, enables the development of a more complete end-to-end system that will
eventually become part of the product development service marketplace envisioned by the
CIPD.
6.3 Final Comments
The main difficulty of this research project came from the uncertainties associated with the
applications of the four independent product development tools. As these tools had never
been used concurrently before, very little was known on how the tools would behave when
installed onto a single computer, not to mention their actual interactions with each other.
Throughout the two-year period of the project, the author had run into plenty of hidden
obstacles when trying to apply the tools in a concurrent manner. For example, there was
once an unidentified problem that caused the KCTool to stop running suddenly. Despite the
author's efforts in working closely with the KCTool programmer, the source of the problem did
not become apparent until weeks after the breakdown.
More ironically, the discovery
happened during the time when the author and his DOME contact researcher were trying to
tackle a seemingly unrelated problem. It turned out that the problem was caused by the
sharing of a same set of DLL files between DOME and KCTool. When the author installed
DOME onto his computer, the DOME installation wizard automatically modified the DLL files
and made them unusable by the KCTool. As illustrated in this example, pinpointing of these
hidden obstacles can be a time-consuming process, since the relationship between a problem
and its source may not be as obvious as one would hope.
The time constraint is another major challenge of this project. The author felt that learning the
four tools and developing four tool applications in four semesters was a bit too tight, especially
since the author had to coordinate among the schedules of four different contact researchers.
92
Given that a full-scale application for DOME alone usually takes a whole team of graduate
students to develop, the author recommends that future students should each take on at most
two tools. With this thesis serving as a means for expediting the learning process, it is likely
that such proposed arrangement would warrants the development of more detailed and more
meaningful models than what could be achieved in this research project.
93
Bibliography
Year Annual
[1]
Maurice Holmes, "The Center for Innovation in Product Development
Report", MIT, Cambridge, MA, March 2000
[2]
Stephen Rhee, "Computational Tools for Assembly Oriented Design", M.S.Thesis,
MIT, Cambridge, MA, September 1999
[3]
Naba Barkakati, "Red Hat LINUX Secrets,
[4]
Nicholas Borland, David Wallace, and Heiner P. Kaufmann, "Integrating Environmental
Impact Assessment Into Product Design", 1998 ASME Design Engineering Technical
Conferences, September 1998
[5]
David R. Wallace, Shaun Abrahamson, Nicola Senin, Peter Sferro, "Integrated Design
in a Service Marketplace", Computer-aided Design, volume 32, no 2, pp. 97-107,2000
[6]
Thomas U. Pimmler and Steven D. Eppinger, "Integration Analysis of Product
Decompositions", working paper WP#3690-94-MS, Alfred P. Sloan School of
Management, MIT, Cambridge, MA, May 1994
[7]
Tony J. Chen and Anna C. Thornton, "Quantitative Selection of Inspection Plans",
1999 ASME Design Engineering Technical Conferences, September 1999
[8]
T.J. Sebok, C.J. Holloway, J. Reintjes, J.E. Tucker, "Optical Oil Debris Monitor as a
Diagnostic Tool for Condition-based Maintenance", ASNE Condition-Based
Maintenance Symposium, June 1998
[9]
Ian Thomas and Brian A. Nejmeh, "Definitions of Tool Integration for Environments",
IEEE Software, March 1992
[10]
A.I. Wasserman, "Tool Integration in Software Engineering Environments", Software
Engineering Environments: Proc. Int'l Workshop on Environment, F. Long, ed.,
Springer-Verlag, Berlin, pp 137-149, 1990
94
2 nd
3rd
Edition", IDG Books Worldwide, 1998
Appendix 1: Modeling Data for the Thrust 2 Tool Applications
Part #1:
OQplt
Transform:
Part #3: CA_plt
Part #2: M-adjstr
Transform:
Transform:
X: 0.000000
Y: 0.000000
Z: 0.000000
TX: 0.000000
TY: 0.000000
X: 5.413000
Y: 2.500000
Z: 3.375000
TX: 0.000000
TY: 0.000000
X: 5.413000
Y: 2.500000
Z: 3.375000
TX: 0.000000
TY: 0.000000
TZ: 0.000000
Part #4: camera
TZ: 0.000000
Part #5: Mlens
TZ: 0.000000
Part #6: CS blk
Transform:
Transform:
Transform:
X: 3.280000
Y: 2.250000
Z: 3.375000
TX: 0.000000
TY: 0.000000
TZ: 0.000000
Part #7: Fcell
Transform:
X: 12.563000
Y: 2.500000
Z: 3.375000
TX: 0.000000
TY: 0.000000
TZ: 0.000000
X: 5.060000
Y: 1.384000
Z: 3.375000
TX: 0.000000
TY: 0.000000
TZ: 0.000000
Part #9: L-sprt
Part #8: CM_blks
Transform:
Transform:
X: 12.513000
X: 12.083000
X: 7.413000
Y: 1.134000
Y: 1.134000
Y: 2.250000
Z: 3.375000
TX: 0.000000
TY: 0.000000
TZ: 0.000000
Z: 3.375000
TX: 0.000000
TY: 0.000000
TZ: 0.000000
Z: 3.375000
TX: 0.000000
TY: 0.000000
TZ: 0.000000
A1.1: Part Definitions for Assembly Designer Application
95
Liaison #1:
Type: mate (6 dof)
Partl: OQplt
Part2: M adjstr
Number of Features: 1
Feature #1:
Type: Prismatic Peg /
Prismatic Hole (6 dof)
Transform:
X: 0.000000
Y: 0.000000
Z: 0.000000
TX: 90.000000
TY: 0.000000
TZ: 0.000000
Attributes: none
Liaison #4:
Type: mate (6 dot)
Partl: CA-plt
Part2: camera
Number of Features: 1
Feature #1:
Type: Prismatic Peg /
Prismatic Hole (6 dof)
Transform:
X: 0.000000
Y: 0.000000
Z: 0.000000
TX: -90.000000
TY: 0.000000
TZ: -90.000000
Attributes: none
Liaison #3:
Liaison #2:
Type: mate (1 dot)
Partl: M_adjstr
Part2: CAplt
Number of Features: 1
Feature #1:
Type: Spheroid on Plane
Surface (1 dot)
Transform:
X: 0.000000
Y: 0.000000
Z: 0.000000
TX: 0.000000
TY: -90.000000
TZ: 0.000000
Attributes: 0.00000,
0.00000, 0.25000, 0.00000,
0.00000, -0.25000, 180.00000,
180.00000, 180.00000, 180.00000, -180.00000, 180.00000
Liaison #5:
Type: mate (6 dof)
Partl: camera
Part2: Mlens
Number of Features: 1
Feature #1:
Type: Prismatic Peg /
Prismatic Hole (6 dof)
Transform:
X: 0.000000
Y: 0.000000
Z: 0.000000
TX: 0.000000
TY: -90.000000
TZ: 0.000000
Attributes: none
Type: mate (5 dof)
Partl: Oplt
Part2: CAplt
Number of Features: 1
Feature #1:
Type: Prismatic Peg
/Prismatic Slot (5 dof)
Transform:
X: 0.000000
Y: 0.000000
Z: 0.000000
TX: -90.000000
TY: 0.000000
TZ: -90.000000
Attributes: 0.50000, 0.50000
Liaison #6:
Type: contact
Parti: L-sprt
Part2: Mlens
Number of Features: 1
Feature #1:
Type: Plate Pin in Through
Hole (5 dof)
Transform:
X: 0.000000
Y: 0.000000
Z: 0.000000
TX: 0.000000
TY: -90.000000
TZ: 0.000000
Attributes: 180.00000, 180.00000
A1.2: Liaison Definitions for Assembly Designer Application (continue to next page)
96
L Liaison #8:
Liaison #7:
Type: mate (6 dof)
Partl: O_plt
Part2: CS blk
Number of Features: 1
Feature #1:
Type: Prismatic Peg /
Prismatic Hole (6 dof)
Transform:
Type: mate (5 dof)
Partl: CSblk
Part2: Fcell
Number of Features: 1
Feature #1:
Type: Prismatic Peg
/Prismatic Slot (5 dof)
Transform:
X: 0.000000
Y: 0.000000
Z: 0.000000
TX: -90.000000
TY: 0.000000
TZ: -90.000000
Attributes: none
Liaison #9:
Type: mate (6 dof)
Partl: CS_blk
Part2: CM_blks
Number of Features: 1
Feature #1:
Type: Prismatic Peg /
Prismatic Hole (6 dof)
Transform:
X: 0.000000
X: 0.000000
Y: 0.000000
Y: 0.000000
Z: 0.000000
TX: 0.000000
TY: 90.000000
TZ: -90.000000
Z: 0.000000
TX: 0.000000
TY: 90.000000
TZ: 0.000000
Attributes: 5.00000, -
Attributes: none
5.00000
Liaison #10:
Liaison #11:
Type: mate (1 dof)
Partl: CMblks
Part2: Fcell
Number of Features: 1
Feature #1:
Type: Spheroid on Plane
Surface (1 dof)
Transform:
Type: mate (6 dof)
Partl: CAplt
Part2: L sprt
Number of Features: 1
Feature #1:
Type: Prismatic Peg /
Prismatic Hole (6 dof)
Transform:
X: 0.000000
Y: 0.000000
Z: 0.000000
TX: 0.000000
TY: 0.000000
TZ: 0.000000
Attributes: 0.00000,
0.00000,
0.00000,
0.00000,
0.00000,
X: 0.000000
Y: 0.000000
Z: 0.000000
TX: -90.000000
TY: 0.000000
TZ: -90.000000
Attributes: none
0.00000, 0.00000,
2.50000, 0.00000,
0.00000, 0.00000,
0.00000
A1.2: Liaison Definitions for Assembly Designer Application
97
8&10 >=9;
1 & 3 >= 2 ;
11 >=3&7&8;
11 >=3&4&7;
7 >=3&4&11 ;
11 >= 1 &2 & 3 & 7;
7 >= 1 &2 & 3 & 11;
4&5 >=6&11 ;
6&11 >=4&5;
A1.3: SPAS Precedence Relationship for Assembly Designer Application
(Note: the ">=" sign is interpreted as "should be completed before or at the same time as")
98
Total
Variables->
Variable
18
Full Name
Initial Value
Dcell
FlidCes
0.0001
meter
Input
Wcell
Fluid Cell
Width
0.00476
meter
Input
Lcell
Fluid Cell
0.01016
meter
Input
Vmin
Linear Min.
Name
Flow Rate
0.036
Unit
Input/
eroutput
meters per second Output = Vpix
meters per second Output = ( PixSmear * Vpix ) I PWlaser
Linear Max.
0.04995
Vpix
Ce Hei ht
0.000003
meter
Input
Number of
Vertical
Pixels
480
unitless
Input
Frame
25
hertz
Input
meterA3 per
second
meterA3 per
second
PixV
FrameRate
ate
Output = Dcell * Wcell * Vpix * PixV *
FrameRate
Output = ( Dcell * Wcell * PixSmear *
FlowRateMin
Min. Flow
Rate
1.7136E-08
FlowRateMax
Max. Flow
Rate
2.37762E-08
PWlaser
Laser Pulse
0.00002
second
Input
PixSmear
Allowable
Pixel Image
Movement
0.333
unitless
Input
Fluid Density
887.42
Kilogram per
Input
CellHydDia
0.000195885
meter
Output
Rnum
0.702599619
unitless
Width
Dens
Viscosity
___________
FlowVelocity
rop
Kinematic
PresureNewon
Flow Rate
13.94
centistoke
_
Dens
er-
Newto per
0.05
Mde (
meters per second
_nLoca
(2 * Dcell * Wcell )l( Dcell +
Wcell )
Output =FlowVeolcity * CellHydDia I (
Viscosity 0.000001 )
5240.881238
Viscosity_______________
Linear Fluid
Vpix ) I PWlaser
A3
___________________meter
DeP
PixV * FrameRate
*
_____
Vmax
Flow Rate
Equation
__LMTDS
*
64
*
Lcell
*(
Output FlowVelocity A 2) (2
CellHydDia * Rnum)
Input
r
Input
)r
Ep
a
Al1.4: Excel Model (on Local LMTDS Server) for DOME Application
99
Total
Variables->
Variable
2
Full Name
Initial Value
Unit
FCVolume
Fluid Cell
3.OOE-04
cubic meter
Input
UnitCost
Unit Cost of
Component
5.04E+06
dollar
Output
Volume
uput
Equation
(( ( FCVolume * 400000 )A3)
350 * HourlyLaborCost / 3600)
+ OtherComponentCost
=
*
A1.5 Excel Model (on Remote Vendor Server) for DOME Application
(Note: assume HourlyLaborCost = $30 and Other ComponentCost = $3000)
100
DIMENSION
DIMENSION
VOLUME
HousingHeightO.013 C:\dome\models\LMDemoFiles\Asseml.sidasm
meter 1
HHousing@Base-Extrude@Flowcell. Part
HousingLength
0.063 C:\dome\models\LMDemoFiles\Asseml.sldasm
meter 1
LHousing@Sketch3Flowcell.Part
1.784E-5
C:\dome\models\LMDemoFiles\Flowcell.sldprt dummy
CeIlVolume
cubicmeter
0
A1.6: LMSolidWorks.txt File (on Remote Vendor Server) for DOME Application
101
%% flow velocity simulation with viscosity range from 50cSt to 500cSt
%% note: (20 cSt, 500 cSt) = (.00002 mA2/s, .0005 mA2/s)
V = Vmin;
i = 1;
vis = (0.00002:0.00002:0.0005);
[m,n] = size(vis);
V_interval = (Vmax - Vmin)/10;
Pressuremax = -inf;
Pressure_min = inf;
while V < Vmax
Reynolds_number = V * Cellhyddia*ones(1,n)./vis;
Pressure (i,:) = Density*((64*L cell*VA2)/(Cell _hyddia*2))*(ones(1,n)./Reynolds_number);
if max(Pressure(i,:)) > Pressuremax
Pressuremax = max(Pressure(i,:));
end
if min(Pressure(i,:)) < Pressure_min
Pressure_min = min(Pressure(i,:));
end
V=V+Vinterval;
i = i + 1;
end
P = Pressure_min;
j = 1;
P-interval = (Pressuremax - Pressure_min)/15;
while P < Pressuremax
V_range
= 1/8 *
P * (((Dcell * W cell)A2)/(Density*Lcell*(D cellA2+2*D cell*Wcell+W cellA2)))*(ones(1,n)./vis);
P = P + Pinterval;
j
=
+ 1;
plot(vis, V range);
axis([O 5E-4 0 1]);
hold on;
end
hold off;
xlabel('Viscosity (mA2/s)');
ylabel(Flow Velocity (m/s)');
title('Flow Velocity Simulation with Viscosity and Pressure Drop as independent variables');
A1.7: LMMatlab.m File (on Remote Fluid Server) for DOME Application
102
L_cell
D_cell
W_cell
Cellhyddia
Density
V_min
V_max
Lcell
Dcell
Wcell
Cellhyddia
Density
V_min
Vmax
R
R
R
R
R
R
R
0.01016
0.00011
0.00476
0.00020547
887.42
0.03
0.41625
meter
1
1
meter
1
1
1
meter
1
meter
1
1
kilogramper cubicmeter
metersper second
metersper second
LMMatlab.m
LMMatlab.m
LMMatlab.m
LMMatlab.m
1
1
1
1
1
1
LMMatlab.m
LMMatlab.m
LMMatlab.m
A1.8: LMMatlab.txt File (on Remote Fluid Server) for DOME Application
103
LMMatlab
A1.9: LMMatlab.mtxt File (on Remote Fluid Server) for DOME Application
104
Name
213
1
5
4
6
7
8
9
10 11
12 13141516 17{18 19
SBC, LCD, Touch 1
Frame Grabber 2
4
Pump, Peristaltic 3
1
1
Camera 4
1
2
1
Focus Optics 5
0
1
0
3
Laser & Optics 6
0
1
0
3
2
Laser Power Supply 7
1
1
1
1
1
Interface Board[ 8 1_4 _2__21
2
1
4f
2
Flow Cell 9
0
1 2
2
3
3
1
Ultrasonic Cleaner 10
12
1
1
1
1
1
2
1
1
1
1
1
1
1E1
1
1
1
2
0
0
LS-120 Floppy 11
150W Power Supply 12
12
21_12
1
1U
Power Switch 13
0
0
0
0
0
0
0
Power Connector 14
0
0
0
0 06 0
0
0 0 0 1
2
Power Line Filter 15
0
0
0
0
0
0
0
0
2
2
2
1
2
1
1
1
1
2
0
0
0
0
0
Power Relay 16
1
U
1
AC Fan 17
3
3
1
1
0
0
0
2
0
1
2
2
1
1
2
1
Input Sample Bottle 18
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
1
1
0
0
010 0
Discharge Bottle 19
f
0 01
0 0
0
0
0
A1.10: Combined Dependency Matrix for DSM Application
105
0
1
1
1
Name
Rework
to
Nominal
Distance
Alignment
Window X Location
Lens X Location
Thread Tolerance
Screw1 +2 X Location
Screw1 Y Location
Screw2 Y Location
Screwi +2 X Location
Screw1 Y Location
Screw2 Y Location
Angle Tilted
Angle Tilted
Screw1 Hole Size (MB)
Screw2 Hole Size (MB)
Screw1 Hole Size (C)
Screw2 Hole Size (C)
Cell Thickness
Yes
Yes
No
Yes
Yes
Yes
Yes
Yes
No
No
No
No
Yes
No
No
No
No
Yes
2.95
0
2.95
0
0.1
0.492
0.492
0.492
0.5
1.5
1.5
0
0
0.203
0.203
0.25
0.25
0.5
Inspection
Variable
Cost
2
Distance
2
Alignment
1
Window X Location
1
Lens X Location
0
Thread Tolerance
0
Screw1 +2 X Location
0
Screw1 Y Location
0
Screw2 Y Location
0
Screw1 +2 X Location
0
Screw1 Y Location
0
Screw2 Y Location
1
Tilted
Angle
1
Angle Tilted
0
Screw1 Hole Size (MB)
0
Screw2 Hole Size (MB)
0
Screw1 Hole Size (C)
0
(C)
Size
Screw2 Hole
0
Cell Thickness
Name
to
Cost of
Sigma
Mean
Scrap
Inspection
Fixed
0.003
0.02
0.01
0.01
0.0002
0.001
0.001
0.001
0.001
0.001
0.001
0.02
0.02
0.001
0.001
0.001
0.001
0.002
2.945
-0.005
2.95
0
0.1
0.492
0.492
0.492
0.5
1.5
1.5
0
0
0.203
0.203
0.25
0.25
0.5
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
0
2
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
Man
RworkCost
35
50
10
10
10
5
5
5
5
5
5
15
15
3
3
3
3
10
Rework
Part
Rework
Percent
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
15
20
20
10
20
20
20
20
20
10
10
5
5
10
10
10
10
20
Lower
Inspection
Limit
2.94
-0.05
2.93
-0.02
0.0995
0.487
0.487
0.487
0.495
1.495
1.495
-0.05
-0.05
0.2
0.2
0.245
0.245
0.495
Fixed
Upper
Inspection Corrective
Action
Limit
No
2.96
No
0.05
No
2.97
No
0.02
No
0.1005
No
0.497
No
0.497
No
0.497
No
0.505
No
1.505
No
1.505
No
0.05
No
0.05
No
0.205
No
0.205
No
0.252
No
0.252
Yes
0.505
A1.11: Key Characteristic Definitions for KCTool Application
(Note: costs are expressed in labor minutes. assume 60 minutes = $100)
106
System/Subsystem/Part
Name
Purchasing Cost
Assembly Cost
Optical Assembly
Cell Unit
Optic Unit
Flow Cell
Mounting Base
Lens
Camera
Optical Plate
3730
730
2020
400
300
1000
1000
800
180
30
20
0
0
0
0
0
A1.12: System/Subsystem/Part Definitions for KCTool Application
(Note: costs are expressed in labor minutes. assume 60 minutes = $100)
107
System/Subsystem/Part
KC
Assembly
Distance
10
Cost
+5.0 * Angle Tilted of Optic Unit
+0.5* Screw2 Hole Size (MB) of Optical Plate
10
+0.5 * Screw1 Hole Size (C) of Optical Plate
-0.5 *Screw2 Hole Size (C) of Optical Plate
+1.0 * Screw1 +2 X Location of Mounting Base
-1.0 * Cell Thickness of Flow Cell
+1.0 *Screw1 Y Location of Mounting Base
-1.0 * Screw2 Y Location of Mounting Base
+1.0 * Thread Tolerance of Lens
+1.0 * Screwl +2 X Location of Camera
+1.0* Screw1 Y Location of Camera
-1.0 * Screw2 Y Location of Camera
Window X
Cell Unit
ClUntAngle
Location
10
Tilted
Lens X
Optic Unit
Optical Plate
Flow Cell
Mounting Base
Lens
Camera
Location
Angle
Tilted
Screw1
Hole Size
(MB)
Screw2
Hole Size
10
NONE
NONE
NONE
NONE
NONE
NONE
NONE
NONE
Cell
NONE
NONE
Screw1 +2
X Location
NONE
NONE
Screwi Y
Location
NONE
NONE
Screw2 Y
Location
NONE
NONE
Thread
Tolerance
NONE
NONE
Screw1 +2
X Location
NONE
NONE
Screwi Y
NONE
NONE
Screw2 Y
Location
NONE
NONE
-(MB)
Screw1
Hole Size
(C)
Screw2
Hole Size
(C)
Thickness
Location
_Un
Unit
-1.0 * Window X Location of CellUnit
+1.0 * Lens X Location of Optic
+5.0 * Angle Tilted of Cell Unit
Optical Assembly
Alignment
Error Stack Up
__fCe
-1.__*_WindowXLcation
A1.13: Error Propagation Definitions for KCTool Application
(Note: costs are expressed in labor minutes. assume 60 minutes = $100)
108
Appendix 2: Thrust 2 Application Demo Scripts
Stage 1 (DSM APPLICATION):
Starting point:
*
*
USE COMPUTER ON THE RIGHT
Open window explorer in directory C:\Thrust2DEMO\DSM
DSM clustering operation:
*
*
*
Open DSM-Program.xls
Click "Enable Macros" in the Excel pop-up window
Click "Cluster DSM" button on the left tool bar (third icon with 2 gray squares on the side
and 1 yellow one in the middle). Screen will be directed automatically to the "Clustering"
page
* On the "Clustering" page, click the "Recalculate Clusters" button (pink button on the top of
the page) and take note of the Coordination Cost
* Repeat the process until a desirable cluster formation is obtained
* Click "Show Clusters" button (pink button on next to the "Recalculate Clusters" button)
" Look at the suggested clustering configuration on the Clusters page and pick out possible
ones for further evaluation
* Close all windows without saving any changes
Stage 2 (DOME APPLICATION):
Starting point:
*
*
*
*
*
*
*
*
USE COMPUTER IN THE MIDDLE AND ON THE RIGHT, AS WELL AS THE LEFT
COMPUTER BEHIND THE DIVIDER
On bubbe (local server), click "DOME Server Manager" icon on desktop to initiate DOME
server. Wait until the "User Manager" window come out
Repeat the process on farfalen and tanta (remote servers)
Go back to bubbe, click "DOME Client" icon to bring up a web browser with the DOME
interface
Click "OK" on the "Copyright Notice" window
Enter name as "thrust2" and password as "mitcipd", leave server as "localhost", then hit
Enter
Enter leave name and password as they are ("thrust2" and mitcipd" respectively), change
server to "18.38.1.137" , then hit Enter to login remotely to farfalen
Repeat the process for tanta, enter server as "18.38.1.250"
Preparing the local model:
109
"
*
*
*
*
*
*
*
Open "LMDemo.mdl" model on the bubbe client window by clicking on the triangle on the
left of the model label
Wait until windows of all the external to pop-up before going back to the bubbe client
window
Wait until the "Top_LevelModule" appears, then open the module by clicking on the
triangle on the left of the module label
Open "DesignAnalysis" module on bubbe, then open "RnumCrit" under it
Open the "Excel" module, left click on the variable "Rnum" to highlight it, then right click to
choose "Copy local location"
Close Excel module by clicking the triangle on the left
Go back to the "DesignAnalysis" module, left click on "Attribute" under the "RnumCrit"
module to highlight, then right click to choose "Connect alias"
Left click the "DesignAnalysis" module again to highlight, then right click to choose "Add" > "Analysis" -> "Optimization"
*
*
*
*
*
*
*
Left double-click on "GAOptimizer" to open optimization window
Go back to the bubbe client window, open "AggregateScore" module under
"DesignAnalysis", hightlight then right click on "score" to select "Copy local location"
Go to the optimization window, click "Add Objective" button
Wait for the "ALERT or something" window to pop-up, then click the "OK" button on it
Go back to the bubbe client window, open "VendorTest" module under the "Vendors"
module, do "Copy local location" for the "ReqDepth" variable, then click the "Add Modules"
button on the optimization window
Repeat the process for variable "FlowV"
Set upper and lower bound for the two variables on the optimization window as follows:
ReqDepth
FlowV
*
*
LB = 1.3E-4
UB = 4E-4
LB = 0.03
UB = 0.08
Click the "GASettings" tab on the top of the optimization window, set value of "Generation"
to "5" and value of "Population" to "3"
Iconize the optimization window for the time being
Preparing the farfalen CAD model:
*
*
*
*
*
Go to the farfalen client window, open the "LMCAD.mdl" model
Wait until the "TopLevel_Module" to come up, then open the "CostModel" module
Go to the farfalen screen, click "Close" on the "Tip of the Day" pop-up window
Go back to the bubbe screen, open the "Catalog" module, then change the value of
"selection" under it from "1.0" to "5.0"
Go back to the farfalen screen, maximize the SolidWorks window
Preparing the tanta Matlab model:
*
*
*
Go back to the bubbe screen, go to the tanta client window to open the "LMMatlab.mdl"
model
Wait until the "TopLevelModule" to come up, then open the "Matlab" module
Go to the tanta screen, maximize the Matlab "Figure NO. 1" window
DOME optimization operation:
110
*
*
*
Bring the optimization window back to normal size, then click the forward button on the
bottom of the window ( the double-arrow button on the far right ) to initiate the optimization
process
Take note on how the optimization result converges on the "Objective function Score"
graph
Close all models and windows properly without saving any of the changes ( refer to
Chapter 4 of the thesis for DOME shutdown procedures)
Stage 3 (ASSEMBLY DESIGNER APPLICATION)
Starting point:
*
*
*
*
*
*
"
*
*
*
USE COMPUTER ON THE LEFT
Restart computer
At the LILO boot prompt, type "linux"
Wait until the Athena screen come out, type CTRL-ALT-DEL to initialize logon window
Logon with personal Athena account
At the Athena prompt, type "ssh -1tzelee cadlab9.mit.edu"
Enter password as "kyookaral"
At the cadlab9 prompt, type "cd ASA/AD"
Then type "AD" (please do not attach an & symbol as that causes mal-functioning of the
program)
Click "File" -> "Open", then input assembly name as "OpAssm"
Geometric Constraint input:
*
*
*
*
Click "Modules" -> "SPAS" on the tool bar
Enter "n" for the question: "Would you like to have the parts displayed?"
Enter "y" for the question: " Is this information correct?"
Enter "n" for the question: "Would you like to include disassembly axis information in the
analysis?"
* Enter "n" for the question: "Would you like to read the answers stored during a previous
run of SPAS/2?"
" Answer "y" for question 1, then "n" for question 2
* Press CTRL-C to retrieve to the previously entered data
* Click "Modules" -> "DFCPR" on the tool bar to show the geometric constraints derived by
the computer based on DFC
* Click "Modules" -> "Constraint Analysis" to check for over/under constrained conditions in
the assembly model
Assembly Designer sequence editing operation:
*
*
*
Click "Modules" -> "EDIT" -> "Complete" to initiate EDIT program
Enter "n" for the question: "Do you want to read data from a previous problem?"
Enter "n" for the question: "If you want to use the part drawings, type the name of the
assembly?"
111
Click on the unexpanded sequence graph window to show all possible assembly
sequences
* Display state information by Clicking "Show" -> "Show-state"
* Initiate sequence deletion mode by click the "Delete" -> "del-state" button on the top tool
bar
* On the last level of assembly states with 6 liaison matrices, delete all but the state with
liaison 2 and 3 uncompleted (matrix number 3 counting from the left). Explain according to
the example presented in Chapter 3 of the thesis
* Click "Redraw" -> "graph" to show the edited tree
* Click "Quit" -> "yes" to quit EDIT program, then click "OK" on the pop-up message window
* Close the Assembly Designer window without saving any changes
*
Stage 4 (KCTool APPLICATION)
Starting point:
*
*
USE COMPUTER ON THE RIGHT
Open window explorer in directory C:\Thrust2DEMO\KCTool
KCTool inspection simulation operation:
*
*
*
Simulate inspection by clicking "Inspect" -> "Simulate Inspection"
Enter "100" as number of products built
Show inspection simulation result, point out the most rework are done at the alignment
and the distance KCs
KCTool inspection optimization operation:
*
*
*
*
*
Optimize inspection strategy by clicking "Inspect" -> "Optimize Inspection"
Enter "100" as initial temperature, click "ok"
Enter "100" as number of products built per setting
Open opt_result.bmp to show result of inspection strategy optimization
Close all windows without saving any changes
112
Download