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.