MSE Presentation 1 Graphical User Interface and Job

MSE Presentation 1 Graphical User Interface and Job Distribution Optimizer for a Virtual Pipeline Simulation Testbed Walamitien Oyenan October 8, 2003

Presentation Outline n n n Project Overview Requirement Specifications Project Plan Cost and Size Estimation Quality Assurance Demonstration

Project Overview Purpose: n Simulate the pressure and the flow rate distribution of gas in a real pipeline system.

Project Overview Goals: n Design a GUI to create and manipulate the pipeline system. n Implement an optimizer to efficiently distribute computation among several machines. n Integrate the GUI with a simulator that will simulate the behavior of each component of the real pipeline system.

Requirement Specifications. Overall Description User Interface n The pipeline editor shall support drag and drop operations for drawing components (pipes, joints, and compressors). n The pipeline editor shall support standard editing functions (copy, cut, paste). n The pipeline editor shall provide zoom functions. n The pipeline editor shall display the simulation results.

Requirement Specifications. Overall Description User Interface, cont. n The user shall be able to store/retrieve a previously drawn pipeline system and connect it with some new groups or components. n The user shall be able to move components inside the editor to have a better positioning. n The user shall be able to edit the characteristic of each component displayed.

Requirement Specifications. Overall Description Software Interfaces n The cluster computers shall run under the Linux operating system. n Each computer shall have the Java Virtual Machine installed (version 1. 4 or later). n Each computer shall have the JGraph 3. 0 package installed.

Requirement Specifications. Overall Description User Characteristics: n Users of the system should be experienced pipeline design engineers who have a good understanding of a pipeline system. n Users should be able to understand manipulate pipeline characteristics. n No particular training should be necessary to use the software.

Requirement Specifications. Functional Requirements

: User : Pipeline Editor : Optimizer : Simulator Drag component Display component Optimize () Optimize (Graph) Build. Job. Graph(graph) Optimize(Job. Graph) Write. File(jobs. Lists) Simulate() Display Data Simulate(Jobs. Filename) Send(Simulation. Data) Read. File. Jobs. Filename() simulate()


Requirement Specifications. Functional Requirements Pipeline Editor n Components: Pipes, split, station, driver, compressor, orifice… n Draw, Edit, Delete, Move n Undo, Redo n Copy, Cut, Paste n Zoom In, Zoom out n Optimize n Simulate

Requirement Specifications. Functional Requirements Optimizer n Problem: Produce an optimal job allocation that balances the load of each processor (=minimizes the load differences among cluster machines assigned to the simulation). n The jobs are the pipelines components (pipes, joints, compressors …). n Each job has a computation time and a communication time that depend on the characteristic of the component it represents. n Solution: Branch and Bound Algorithm

Requirement Specifications n For more details, see the Software Requirement Specification (SRS) document.

Project Plan n Phases Phase 1 Phase 2 Phase 3 Jul Aug Sep Oct Nov Dec Jan

Cost Estimation Effort = 3. 2 EAF (Size)^1. 05; n Time = 2. 5 (Effort)^0. 38; Where: n Effort = number of staff-months n EAF = Effort Adjustment Factor (cf. Table) n Size = number of delivered source instructions (in thousands of lines of code) n

Cost Estimation Software Development Effort Multipliers (EAF) Cost Driver Description Rating Very Low Nomin High al Very High Extra High Product RELY Required software reliability 0. 75 0. 88 1. 00 1. 15 1. 40 - DATA Database size - 0. 94 1. 00 1. 08 1. 16 - CPLX Product complexity 0. 70 0. 85 1. 00 1. 15 1. 30 1. 65 TIME Execution time constraint - - 1. 00 1. 11 1. 30 1. 66 STOR Main storage constraint - - 1. 00 1. 06 1. 21 1. 56 VIRT Virtual machine volatility - 0. 87 1. 00 1. 15 1. 30 - TURN Computer turnaround time - 0. 87 1. 00 1. 07 1. 15 - Computer

Cost Estimation (cont. ) Personne l ACAP Analyst capability 1. 46 1. 19 1. 00 0. 86 0. 71 - AEXP Applications experience 1. 29 1. 13 1. 00 0. 91 0. 82 - PCAP Programmer capability 1. 42 1. 17 1. 00 0. 86 0. 70 - VEXP Virtual machine experience 1. 21 1. 10 1. 00 0. 90 - - LEXP Language experience 1. 14 1. 07 1. 00 0. 95 - - MODP Modern programming practices 1. 24 1. 10 1. 00 0. 91 0. 82 - TOOL Software Tools 1. 24 1. 10 1. 00 0. 91 0. 83 - SCED Development Schedule 1. 23 1. 08 1. 00 1. 04 1. 10 - Project

Cost Estimation (cont. ) n n EAF = 1. 00 x 1. 11 x 1. 00 x 1. 07 x 0. 91 x 1. 10 = 1. 31 KLOC = 2 (2, 000 SLOC) (Estimation) E = 3. 2 x 1. 31 x 2^1. 05 = 8. 67 staffmonths Time = 2. 5 x 8. 67^0. 38 = 5. 68 months

Software Quality Assurance Plan Organization n Committee of 3 professors to supervise the project: Dr. Virgil Wallentine, Dr. Daniel Andresen, Dr. Masaaki Mizuno n Approve design and requirements. n Responsible for monitoring implementation progress.

Software Quality Assurance Plan Standards, conventions, and tools n The documentation will be based upon IEEE Software Engineering Standards. n JGraph 3. 0 and Swing libraries will be used to build the Pipeline Editor (GUI). n Rational Rose will be used to visually design the software being developed. n Java Path Finder (JPF) will be used as a verification tool.

Demonstration n Demonstration of the GUI prototype

THE END. n n n Questions Comments Suggestions
- Slides: 23