MIT Research - Department of Computer Science

advertisement
Designing a Graphical User Interface
(GUI) for Pareto Analysis Using
DOME
Massachusetts Institute of Technology, Cambridge, MA
2000 MIT Summer Research Program
Researcher:
Kerey Carter, MSRP 2000
Faculty Mentor:
Dr. David Wallace
Lab Supervisor:
Elaine Yang
Massachusetts Institute of Technology
Cambridge, Massachusetts 02139
2000 MIT Summer Research Program
Designing a Graphical User Interface (GUI) for Pareto Analysis Using DOME
Researcher:
Kerey Carter
Alcorn State University, Alcorn State, Mississippi
Faculty Mentor:
Dr. David Wallace
Department of Mechanical Engineering
Lab Supervisor:
Elaine Yang
Research Specialist
ABSTRACT
The DOME (Distributed Object-based Modeling Environment) is a software framework for
integrating models. DOME allows users in a design process to integrate their models so that distributed
simulations can be run. DOME has the capability of integrating models on different computers, thereby
creating a distributed system. This project involved designing a GUI for a DOME object that would be used
for drawing charts based on the results from pareto analysis. Pareto analysis is a simple method for
separating the major causes (the vital few) of a problem from the minor ones (trivial many). Pareto
analyses help measure the impact of an improvement by comparing the before and the after. During
presentations, Pareto diagrams are an effective way of visually displaying the relative importance of
problems and causes, as well as other conditions. This can help individuals prioritize and focus resources
in the areas where they are most needed.
Using the Java programming language, two new graphical interfaces were constructed. The first
GUI, a sketchpad, began as an idea to draw shapes quickly. The GUI runs in an applet and has separate
tabbed panes for drawing lines, rectangles, or circles. The second GUI is the actual Pareto model, which
also runs in a Java applet. It works by allowing users to input data points corresponding to an X-Y
coordinate system. The completed GUI helps DOME users determine trends related to the information
that they are studying.
Designing a Graphical User Interface (GUI) for Pareto Analysis Using DOME
The discipline of computer-aided design, or CAD, has widespread use in several
industries around the world today. Architecture, graphic design, construction, mapping,
mechanical design, and engineering are all fields that utilize the vast potential of CAD.
Professionals in these areas use CAD to create technical illustrations or to make
professional drawings. CAD software programs can be used to make two-dimensional
(2D) drawings and three-dimensional (3D) models.
In the middle 1980s, CAD, as we know it today, entered the mainstream, along
with the first microcomputers. Before then, CAD software had little appeal for
mainstream design firms. This was due to factors such as its unpleasant user interface,
high software and hardware costs, specialized training requirements, and difficulty of use.
With the advent of small and affordable microcomputers, this all changed. AutoCAD,
one of the first CAD programs for the mass-market, was released in 1982. The invention
of Intel’s 386 processor in the late 1980s gave CAD a major boost. Its use has continued
to grow throughout the 1990s and now into the 21st century, as CAD has become more
affordable, more user friendly, and more complex. According to Daratech, Inc., an
assessment and marketing research firm in Cambridge, MA, the AEC (architecture,
engineering, and construction) CAD market will top 1.8 billion dollars in revenues in
2000, with a 15% projected growth rate over 1999.1
There are two main types of computer drafting programs. The first type, rasterbased products, stores drawings as bitmaps. Bitmaps use a series of pixels, each
representing a color, to store the drawing or picture. Usually, bitmaps are used to present
What is CAD? – CAD. http://cad.about.com/compute/cad/library/weekly/aa021800a.htm. July
2000
1
pictures where precision is not terribly necessary, such as a digital photograph. Two
examples of raster-based drawing products are Adobe PhotoShop and Microsoft Paint.
The second type of computer drafting is a vector-based product. These are stored in
vector-format. A vector has magnitude and direction, and it is a mathematical definition
of geometry. Vectors can be used to represent points, curves, lines and geometric shapes
and are mostly used to produce drawings that require precision, which could be drawings
used to construct a building. CAD programs, such as AutoCAD, are vector-based
products.
The Computer-Aided Design Laboratory (CADlab) at the Massachusetts Institute
of Technology (MIT) researches ways to facilitate the product development process.
The CADlab has completed CAD projects in multimedia, structural synthesis, bubble
mesh generation, and aesthetic industrial design. CADlab members use various software
tools, including SolidWorks and IDEAS, to develop CAD models.
Improving product quality and speeding up the time to market are forces that are
driving companies to streamline their product development processes. A common
complaint in industry is that although there are many high quality models and specialized
tools, it is extremely difficult to understand and design product systems. Typically,
integrated design requires the skills of many designers and experts. Each participant
creates models or tools to provide information or simulation services to the other
participants when given appropriate input information.
An object-based design environment known as DOME (Distributed Object-based
Modeling Environment) allows designers to build integrated models that involve the use
of both distributed and local resources. DOME also allows designers to collaborate with
each other by exchanging services. Using DOME, integrated models can be created as
participants focus on their area of
Figure 1 – a portion of the DOME interface
expertise. This leads to the development of a design model that is created by connecting
modules. Each module can represent disciplines, analysis capabilities/software,
organizations, or specific components that are relevant to the problem at hand. DOME is
also a web-based framework, and it allows these models/objects to be published and
connected over the World Wide Web. The MIT CADlab works extensively with DOME,
and the laboratory develops it on many servers. Figure 1 shows a screenshot of a portion
of the DOME interface:
Using DOME, CADlab researchers can design and implement various models and
publish them over the Internet. DOME is a client/server architecture that uses distributed
object technology. This refers to a computing environment that allows inter-process and
cross-platform use. The main system components for the DOME architecture are used in
a three-tiered system. They include a GUI (graphical user interface) client, the DOME
server, and a model repository. All three components interact with each other by the use
of the COBRA communication protocol.
Thus, graphical user interfaces are an integral part of the DOME system, and the
design and implementation of new interfaces, as well as updates of existing ones, is an
on-going process. During the summer of 2000, it was decided that the CADlab would
develop a new graphical user interface. This GUI would be used for drawing charts
based on Pareto analysis.
Pareto analysis is a simple method for separating the major causes (the vital few)
of a problem from the minor ones (trivial many)2. Pareto analysis helps measure the
impact of an improvement by comparing the before and the after. During presentations,
Pareto diagrams are an effective way of visually displaying the relative importance of
problems and causes, as well as other conditions. This can help individuals prioritize and
focus resources in the areas where they are most needed.
Pareto anaylsis was begun by, and is named for, Vilfredo Pareto, a 19th century
Italian economist. Pareto deduced the 80/20 rule, which he determined by observing that
80% of Italy’s wealth was owned by 20% of the population. This rule has been
discovered to be true in several other fields as well. For example, 80% of a company’s
problems result from 20% of the causes. The 80/20-rule split may not be exactly right in
most cases, but the principle being used is that a few causes are usually responsible for
most of the problems.
There were actually two GUI’s that were constructed during this project. The first
GUI is a sort of sketchpad that allows users to draw shapes such as lines, rectangles, and
circles. The second GUI, which is for Pareto analysis, consists of the user being able to
enter a group of data and then being able to see how they relate to each other. The
2
Pareto Analysis. http://www.dipoli.hut.fi/org/TechNet/org/eurocinet/tool9.html. July 2000.
process of creating these interfaces involved using a high-level programming language –
the Java language.
The Java technology consists of both a programming language and a platform for
running it. The Java language is similar to languages like C++ and Visual Basic in that it
is an object-oriented language. An object-oriented design models the characteristics of
abstract or real objects by using classes and objects. These objects have two properties:
state and behavior. A real-world example would be to consider a car. Cars have state
(current gear, four wheels) and behavior (braking, accelerating, changing gears). A
software object maintains its state in one or more variables. A variable is an item of data
named by an identifier. A software object implements its behavior with methods. A
method is a function (subroutine) associated with an object. Objects are at the heart of
the Java language. Figure 2 is a common visual illustration of a software object:
Figure 2 – a software object and its properties3
The most common types of programs written in the Java programming language
are applets and applications. Applets can now be found all over the Internet. An applet is
a program that conforms to certain conventions that allow it to run within a Java-enabled
browser. However, the Java programming language is not just for writing cute,
entertaining applets for the Web. The general-purpose, high-level Java programming
language is also a powerful software platform. Using the API (application programming
About the Java Technology. http://java.sun.com/docs/books/tutorial/2d/overview/index.html.
July 2000.
3
interface), users can write many types of programs. The Java API, along with the new
“Swing” components, open up a wide range of options for developing 2D and 3D shapes
and images, and for designing more eventful GUI’s. The Java language was used to
construct the CADlab GUI’s for the summer of 2000, which are implemented in applets.
The first GUI, a sort of sketchpad, began as an idea to draw shapes quickly and
proportioned by the user. The completed interface is actually a linking of several Java
files, tied together as a project in the Integrated Development Environment, Metrowerks
CodeWarrior. The interface runs in an applet and has separate tabbed panes for drawing
lines, rectangles, or circles. The user can choose the color of the shape. There is also an
option to fill a rectangle or circle with that certain color. Users can input the coordinates
of their line, rectangle, or circle, and that shape will be drawn to the right, on top of a
white pad. With this interface, a user can draw a combination of all three objects, and
possibly design 2D images. The main Java file sets up the layout of the interface’s panel
and brings in the separate functions that draw the line, rectangle, and circle. When the
user clicks on the “Draw” button, the line, rectangle, or circle is drawn according to the
given input. On the following page are two screenshots of the GUI. Figure 3 shows the
completed interface, and Figure 4 shows the interface after drawings have been added.
Figure 3 – the sketchpad interface
Figure 4 – the sketchpad interface after adding drawings
After the completion of the first interface, the actual Pareto GUI was developed.
There are eight steps involved in the construction of a Pareto diagram:
1.
2.
3.
4.
5.
6.
7.
8.
Assemble the data to be analyzed.
Add up the total of each item under analysis.
List the items in order of magnitude, starting with the largest.
Calculate the total of all the items, and the percentage that each item
represents of the total.
Draw a bar chart.
Draw the cumulative curve.
Label the diagram with a title and any other necessary items.
Interpret the diagram.
Figure 5 provides an example of a Pareto chart that was used at the University of
Brighton:
Figure 5 – A Pareto analysis diagram4
4
Pareto Analysis. http://www.dipoli.hut.fi/org/TechNet/org/eurocinet/tool9.html. July 2000.
The CADlab was primarily interested in having the data points plotted and in seeing
relationships or trends of the data. Therefore, steps 1, 3, 5, and 8 are the ones that were
focused on. The data points would be used instead of a bar chart.
The completed interface is also a linking of several Java files tied together as a
project inside of Metrowerks CodeWarrior, and it runs inside of an applet. It works by
allowing users to input data points corresponding to an X-Y coordinate system. Once the
points are entered into text fields, they are scaled and plotted on a white pad, giving a
visual representation of the data for the user. The actual “points” on the pad are circles
(ovals) drawn small enough so that they appear as tiny dots. Five points can be plotted at
a time. The interface also mathematically scales the upper and lower bounds of the X
and Y-axes depending on the points given. The user inputs coordinates and then clicks
on the “Draw” button, which then draws the five points on the white pad, which is
located on the right. This GUI will help DOME users determine trends related to the
information that they are studying. On the following two pages are two screenshots of
the GUI. Figure 6 is the completed interface. Figure 7 shows the interface after points
have been added.
Figure 6 – the Pareto analysis GUI
Figure 7 – the Pareto analysis interface after adding points
During the completion of this project, the main obstacles faced were with the
actual Java programming. For both interfaces, several separate files had to be created and
then linked together. The result is two GUI’s that are fairly simple to use and will assist
in drawing 2D models and making Pareto analyses. The next step is to add the interfaces
to DOME to allow DOME users to access and use them as they wish.
Overall, this project was successful. A Pareto analysis GUI was developed, and
in the process, another useful GUI for producing 2D models was constructed. Further
improvements should be made to the labels of the Pareto GUI in order to display them
more accurately. This interface will also benefit from the addition of more points that
can be plotted. Integrating these GUI’s into DOME should only be a matter of time, and
both interfaces can be improved upon as need be.
Bibliography
Steven Kraines, David Wallace, Hiroshi Komiyama, Distributed Object-based Modeling
Environment: Concepts and Applications, to appear in the Journal of the Chemical
Engineering Society of Japan, 2000.
What is CAD? – CAD. http://cad.about.com/compute/cad/library/weekly/aa021800a.htm.
July 2000.
Pareto Analysis. http://www.dipoli.hut.fi/org/TechNet/org/eurocinet/tool9.html. July 2000.
About the Java Technology. http://java.sun.com/docs/books/tutorial/2d/overview/index.html.
July 2000.
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.
Nicholas Borland, Heiner Kauffman, David Wallace, "Integrating Environmental Impact
Assessment into Product Design: A collaborative modeling approach", Proceedings of
the ASME DT Conferences, DETC/DFM-5730, Atlanta, GA 1998.
Francis Pahng, Seokhoon Bae, David Wallace, "A web-based collaborative design
modeling environment", Proceedings of the Seventh IEEE International Workshops on
Enabling Technologies; Infrastructure for Collaborative Enterprises Conference,
Stanford University, pp. 161-167, 1998.
Download