ADRIAN A. MARSH ENSE 622 Suppliment to Project Brief 19 May, 2003 CONTINUATION OF COMBAT MARKING SYSTEM DESIGN Combat Engineers marking a breach lane at the Combined Maneuver Training Center, Hohenfelds, Germany, April 2002. TABLE OF CONTENTS A. SYSTEM REVIEW 4 1. Background 4 2. Purpose: 4 3. Refining System Requirements: 4 4. Refining System Structure: 4 5. System Behavior 6 6. Turning System Requirements into System Specifications 6 B. DETAILED ANALYSIS (HAND CONTROL UNIT) 7 1. Purpose: 7 2. Revised System Structure and Behavior: 7 3. Turning Specifications for HCU into Commercial Component Options 8 C. TRADE-OFF ANALYSIS 9 1. Gathering the Data: 9 2. Decision Metrics 9 3. Constraints 9 4. Problem Formulation 9 5. Running CPLEX 11 6. First Pareto Plot Analysis 11 7. Second Pareto Plot Optimization 12 8. System Optimization 13 D. COMPONENT CONFIGURATION RECOMMENDATION: 16 REFERENCES 17 APPENDIX A: Origional System Requirements APPENDIX B: Updated System Requirements APPENDIX C: Total System Specifications APPENDIX D: Hand Control Unit Specification Sheet (SPEC Sheet) APPENDIX E: SPEC sheet with vendor data APPENDIX F: Initial Graph of Design Options APPENDIX G: Initial Pareto Analysis APPENDIX H: Second Graph of Design Options APPENDIX I: Second Pareto Analysis APPENDIX J: CPLEX equation input APPENDIX K: MIN MAX Life Equation Method FIGURES AND TABLES FIGURE 1: ORIGINAL COMBAT MARKING SYSTEM STRUCTURE 4 FIGURE 2: UPDATED COMBAT MARKING SYSTEM STRUCTURE 5 FIGURE 3: COMBAT MARKING SYSTEM BEHAVIOR DIAGRAM 6 FIGURE 4: HAND CONTROL UNIT SYSTEM STRUCTURE 7 FIGURE 5: HAND CONTROL UNIT SYSTEM BEHAVIOR DIAGRAM (FOR SYSTEM'S FUNCTION CHECK) 8 TABLE 1: COMMERCIAL OPTIONS FOR HCU SUB-COMPONENTS 8 TABLE 2: CPLEX RUN RESULTS 11 FIGURE 6: EXAMPLE OF PARETO POINT ANALYSIS 11 TABLE 3: RESULT OF INITIAL PARETO ANALYSIS 12 TABLE 4:: FINAL SOLUTION OPTIONS 12 FIGURE 7: PARETO ANALYSIS OF OPTION 6 13 FIGURE 8: PARETO ANALYSIS OF OPTION 3 14 FIGURE 9: PARETO ANALYSIS OF OPTION 10 15 TABLE 5: FINAL OPTION COMPARISON 16 TABLE 6: VENDOR SELECTION RESULTS 16 A. SYSTEM REVIEW 1. Background In ENSE 621, the need for a Combat Marking System was identified and served as the focus for the initial work on the modeling of this system. Initial high-abstraction requirements were determined, from those requirements the system was modeled through the use of Use-Case Scenarios to refine requirements. From the refined requirements high-level system structure and behavior diagrams were constructed to represent the system. 2. Purpose: The purpose of this report is to refine the requirements created in ENSE 621, turn the requirements into specifications, and conduct a trade-off analysis to optimize components of the system design. 3. Refining System Requirements: Close examination of the requirements identified in ENSE 621 demonstrated a need for refinement. The initial requirements outlined were based on a high level abstraction and were not suitable for component level design. Additionally, the initial requirements did not include Attributes and Functions in the requirement list, which are essential to determining component design. Finally, the initial requirement numbering system needed to be updated to facilitate refined traceability needs (See APPENDIX A for initial system requirements). The initial requirements were updated in the subsequent design of the system. Attributes and Functions were assigned to each object in the requirements list, additional requirements were added to support a lower level of abstraction, and the requirement numbering system was updated (See APPENDIX B for updated requirement list). 4. Refining System Structure: Following the refinement of the system requirements an update of the system structure diagram was conducted to incorporate the changes. The initial system structure diagram was at a high level of abstraction and did not sufficiently include Attributes and Functions needed for design (See Figure 1). Figure 1: Original Combat Marking System Structure A new system structure diagram was required to fully capture the new system requirements (Appendix B). The updated class diagram includes additional components and the Attributes and Functions derived from the new requirements (See Figure 2 below). Figure 2: Updated Combat Marking System Structure 5. System Behavior The system behavior outlined in the initial analysis depicts the interaction of the system components. For the purposes of the overall system, the behavior diagram was not adjusted from the original project. The behavior of specific low-level abstraction components will be addressed later in the report. The overall system behavior is modeled below (See Figure 3). FIGURE 3: Combat Marking System Behavior Diagram 6. Turning System Requirements into System Specifications Once the system requirements were refined, system specifications were needed to set limits on the component design. The system specifications were comprised from the Attributes and Functions outlined in the system requirements. These govern the formulation of specifications by stating what the component must do (Functions) and also what characteristics they must have (Attributes). The system specifications for this project were largely determined from analysis of similar systems already in existence, since this project is an innovative system (See APPENDIX C for Total System Specifications). Now that the overall system has been reviewed the remainder of this report will detail the selection of commercial components for a sub-component of the total system. B. DETAILED ANALYSIS (HAND CONTROL UNIT) 1. Purpose: The remainder of this report will detail the process of selecting commercially made components, to meet the project specifications, for the Hand Control Unit (HCU). 2. Revised System Structure and Behavior: Focussing on the HCU, the class diagram is modified to present the components of interest: the LCD display, the keyboard, and the processing unit (see Figure 4). Additionally, the subsystem behavior is used in examining the Hand Control Unit in detail. Figure 5 depicts the behavior of the selected system in conducting a systems functions check. This will assist us in optimizing the sub-component interaction. FIGURE 4: Hand Control Unit System Structure FIGURE 5: Hand Control Unit System Behavior Diagram (for system's function check) 3. Turning Specifications for HCU into Commercial Component Options The system requirements and specifications for the HCU were taken from the listings described in APPENCICES B and C and simplified into a SPEC sheet for the HCU (See APPENDIX D). This HCU SPEC sheet, which quantifies the Attributes and Functions in the Requirement listing, were used to determine commercially available products to comprise the HCU, display, keyboard and processor. A search of vendor websites provided numerous component options to meet the needs of the Hand Control Unit (See Table 1). In order to optimize the system a Trade-Off Analysis is required to determine the proper mix of components. COMPONENTS POSSIBLE VENDOR OPTIONS LCD Pilz PX20 Powerview AP9215 LightView QVGA-0076 CPU PastDSP Multiproc Mango DSP PCI 64/66 Mango PCI FP32C KEYPAD Mark SYS INC SPEC INC AX-50 Spectra SYS Z21 Table 1: Commercial Options for HCU Sub-Components C. TRADE-OFF ANALYSIS 1. Gathering the Data: The first step in conducting trade-off analysis was to gather the vender's performance data for their components and place it into our specification database (see APPENDIX E). This structure will provide the tools used to formulate performance equations. 2. Decision Metrics Metrics are determined, in order to optimize the system for the most important criteria. The selection of HCU sub-components will be evaluated using 3 metrics. These will be the foundation for the analysis; equations will be structured in order to do the following: 1. Maximizing Total System Life 2. Minimizing Total System Weight 3. Minimizing Total System Cost 3. Constraints In addition to the metrics listed above, the sub-components will be evaluated based on additional performance constraints, selected to optimize the performance of the HCU. The constraints for the system are as follows: 1. The minimum sub-component life greater than or equal to 100,000 uses 2. The LCD surface area greater than or equal to 10 in2 3. The character height on the LCD greater than or equal to 5.2 MRAD 4. The processing memory of the CPU greater than or equal to 500 MB 5. The keypad width greater than or equal to 5 in 6. The Total Power usage of the system less than or equal to 15W 4. Problem Formulation Using the Vendor SPEC sheet, the metrics listed above and the constraints, linear equations are formulated to input into CPLEX, to optimize the system. The mathematical equations based on the information is as follows: THEORETICAL EQUATION BASIS: OPTIMIZATION EQUATION + + DECISION VARIABLES ACTUAL EQUATION FORMULATION By applying the vendor data (APPENDIX E), to the metrics and constraints it is possible to formulate equations. These equations were placed into CPLEX to optimize for component life. Actual equations are as follows: OPTIMIZE: METRIC 1: Component Life=500x1+750x2+830x3+100y1+200y2+160y3+500z1+100z2+200z3 * SUBJECT TO: METRIC 2: Weight=850x1+750x2+650x3+300y1+450y2+250y3+900z1+750z2+800z3= K1 METRIC 3: Cost=380x1+400x2+450x3+400y1+420y2+500y3+450z1+300z2+500z3=K2 CONSTRAINT 1: System Life LCD: 500x1+750x2+830x3>=100 * System Life CPU: 100y1+200y2+160y3>=100 * System Life KEYPAD: 500z1+100z2+200z3>=100 * CONSTRAINT 2: LCD Surface Area: 11x1+15x2+18x3>=10 CONSTRAINT 3: Character Height: 5.5x1+6.0x2+6.5x3>=500 CONSTRAINT 4: Processor Mem: 535y1+576y2+768y3>=500 CONSTRAINT 5: Keypad Width: 5.0z1+5.5z2+6.0z3>=5.0 CONSTRAINT 6: Power Usage: 3.8x1+4.5x2+2.8x3+5.6y1+6.3y2+4.0y3+2.0z1+3.0z2+2.8z3<=15 CONSTRAINT 7: x1+x2+x3=1 CONSTRAINT 8: y1+y2+y3=1 CONSTRAINT 9: z1+z2+z3=1 *For the purpose of analysis, product life was scaled from the hundred thousands to hundreds place, in order to produce better trade-off analysis results. *CPLEX Equation: See APPENDIX J for actual CPLEX equation **Equation Note: The optimization of life in this case required determining the highest sub-component life, in order to maximize the total system life. This computation is difficult to represent as a linear equation, in essence it would have to pick the highest component life systems, then determine the lowest life of the total system (which is the weakest component) then optimize to find the longest lasting of the weakest system. To conduct this optimization, the assumption was made to allow the sum the component lives to find the optimal system. From this data a spreadsheet was used to find the weakest sub-component of the system. The assumption was that the highest sum value of lives would include the best component solution. Since this is not completely reliable, constraints were added to the equation to further optimize life. The life constraint allowed the minimal acceptable life to be used as screening criteria (See APPENDIX K for further explanation of method). 5. Running CPLEX Once the equations were determined, CPLEX was used to optimize the system. The variables K1 and K2 listed above were varied 12 times and run into CPLEX. CPLEX optimizes the solution and provides sub-component selections by allocating the number 1 by the optimal solution. The results of the CPLEX runs are listed below (Table 2): LCD 1 LCD 2 LCD 3 CPU 1 CPU 2 CPU 3 KP 1 KP 2 KP 3 Option Cost (K2) Life Weight (K1) x1 x2 x3 y1 y2 y3 z1 z2 z3 1 2200 200 2300 1 1 1 2 1250 100 1650 1 1 1 3 2000 200 2000 1 1 1 4 1080 100 2200 1 1 1 5 1450 100 1650 1 1 1 6 1600 160 1750 1 1 1 7 1300 100 2000 1 1 1 8 1080 100 1900 1 1 1 9 1280 100 1900 1 1 1 10 1450 160 1800 1 1 1 11 1100 100 1800 1 1 1 12 1300 100 1850 1 1 1 Table 2: CPLEX run results 6. First Pareto Plot Analysis Using the data in Table 2, graphs were created in order to identify Pareto, metric trade-off, points. Analysis of these points produced the first set of optimal solutions. The Pareto analysis produced the graphs in APPENDIX F. The actual Pareto points and discussion are presented in APPENDIX G. These points were selected because they were trade-off optimization points. As indicated in Figure 6, the Pareto points are the points where no gain of one metric is achieved without the loss of another metric. FIGURE 6: Example of Pareto Point Analysis Following the analysis of the first Trade-off graph Pareto Points the six of the optimization solutions were eliminated resulting the in the following solution set: LCD 1 LCD 2 LCD 3 CPU 1 CPU 2 CPU 3 KP 1 KP 2 KP 3 Option Cost Life Weight x1 x2 x3 y1 y2 y3 z1 z2 z3 2 1250 100 1650 1 1 1 3 2000 200 2000 1 1 1 6 1600 160 1750 1 1 1 8 1080 100 1900 1 1 1 10 1450 160 1800 1 1 1 11 1100 100 1800 1 1 1 Table 3: Result of initial Pareto Analysis 7. Second Pareto Plot Optimization Using the results remaining from the first analysis (see Table 3), additional graphs were constructed to further analyze the solutions. The graphs are displayed in APPPENDIX H. Analysis of these graphs indicated a wide range of possible solutions; however, typical Pareto points were not selected from these results in their entirety. All of the points indicating life solutions of 100,000 uses were thrown out due to the availability of solutions ranging in the 160,000 to 200,000 life range. This was done due to the prioritization of the metrics with life being first, followed by weight, then cost (see APPENDIX I). Following the second analysis, the possible solutions were reduced to the following: LC D 1 LC D 2 LC D 3 CP U 1 CP U 2 CP U 3 KP 1 KP 2 KP 3 Option Cost Life Weight x1 x2 x3 y1 y2 y3 z1 z2 z3 3 2000 200 2000 1 1 1 6 1600 160 1750 1 1 1 10 1450 160 1800 1 1 1 Table 4:: Final solution options 8. System Optimization Having narrowed the options to three remaining points, again graphs were constructed to assist in the final optimization of the system. We will now examine each remaining option in detail. COMPONENT 1: OPTION 3 ANALYSIS: Analysis of Option 3 shows that its component combination maximizes system life with a value of 200,000 uses before failure. However, this combination also maximizes cost by bringing the total system cost to $2,000 per HCU. Additionally, this option maximizes the weight of the system at2000g. (See Figure 7). FIGURE 7: Pareto Analysis of Option 6 SOLUTION 2: OPTION 6 COMPONENTS Option 6 provides a relatively high value for life with 160,000 uses before failure. Of the three remaining options it is the lowest weight, weighing 50g less than the next closest option. However, it is the second highest costing option with a value of $1,600 per HCU system (see Figure 8). FIGURE 8: Pareto Analysis of Option 3 SOLUTION 3: OPTION 10 COMPONENTS Option 10 offers a relatively long product life of 160,000 uses before failure. It does have the second highest weight, weighing 50g more than option 6. However, it is the lowest costing option, offering $160 savings per HCU when compared to it's closest competitor (see Figure 9). FIGURE 9: Pareto analysis of Option 10 D. COMPONENT CONFIGURATION RECOMMENDATION: Final component selection requires quantifiable and subjective analysis of the trade-off data. The chart below summarizes the trade-off results (Table 5). LCD 3 CPU 2 CPU 3 KP 1 KP 3 ANALYSIS Option Cost Life Weight x3 y2 y3 z1 z3 3 2000 200 2000 1 1 1 PRO: Maximizes Life (by 40,000 uses) CON: Increases WT (by 200g) CON: Highest cost ($400/sys) 6 1600 160 1750 1 1 1 PRO: Long Life (160,000 uses) PRO: Lowest WT of options by (50g) CON: 2d Highest Cost 10 1450 160 1800 1 1 1 PRO: Long Life (160,000 uses) PRO: Lowest cost of remaining options by ($150/sys) CON: Slightly higher WT than option 6 (50g) Table 5: Final option comparison Based on the data presented in Table 5, option 10 offers the optimum component configuration for the system. Although this option does not maximize component life, it does offer a life expectancy of 160,000 uses, which is acceptable when taking into account the extremely high cost and weight offered by the longest lasting configuration in option 3. Option 10 is not the lightest configuration, outweighing option 6 by 50g. This again is acceptable since the weight increase of 50g is relatively insignificant when considering cost gains. Option 10 is the least costly option saving $150.00 per unit, when compared to option 6, which offers only slight gains by decreasing weight. Option 10 offers an acceptable life expectancy, with moderate weight at a low cost, making it the optimal solution. This selection results in the following commercial component selection (Table 6): COMPONENT VENDOR LCD LCD: LightView QVGA-0076 CPU Mango PCI FP32C KEYPAD Mark SYS INC Table 6: Vendor Selection Results REFERENCES Mark Austin: Lecture Notes for ENSE 621. Institute for Systems Research, University of Maryland, 2002. John Baras, Lecture Notes ENSE 622, Institute for Systems Research, University of Maryland Spring 2003. John Baras, Integrated Product and Process Design for Electromechanical Products, University of Maryland Institure for systems Research, 8 April, 1998. Mingjia Dai, MP3 Player System Project Final Report, ENSE 623 Project, University of Maryland, 19 DEC, 2002 http://www.isr.umd.edu/Courses/ENSE622/index.html FM 101-5. STAFF ORGANIZATION AND OPERATIONS. U.S. Army Publishing, MAY 1997. Martin Fowler, Scott, Kendell, UML Distilled, Second Edition. Addison-Wesley- Longman, 2000. Elizabeth Hull, Jackson, Ken, Dick, Jeremy, Requirements Engineering, Springer, London, 2002. Adrian Marsh, Combat Marking System Design, ENSE 621 Project, University of Maryland, 19 DEC, 2002. Vimal Mayank, Saraf, Deep, Modeling and Design of a Fast Food Restaurant, ENSE 623 Project, University of Maryland, 19 DEC, 2002 http://www.isr.umd.edu/Courses/ENSE622/index.html Practical UML a Hands On Introduction for Developers. www.togethersoft.com/services/practical_guides/umlonlinecourse/ Adrian A. Marsh, Combat Marking System Design, ENSE 621 Project, DEC 02. 17 2