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

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

Embed Size (px)

Citation preview

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

Graphical User Interface Graphical User Interface and and

Job Distribution OptimizerJob Distribution Optimizerfor afor a

Virtual Pipeline Simulation Virtual Pipeline Simulation TestbedTestbed

Walamitien OyenanWalamitien OyenanOctober 8, 2003October 8, 2003

MSE Presentation 1

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

Presentation OutlinePresentation Outline

Project OverviewProject Overview Requirement SpecificationsRequirement Specifications Project PlanProject Plan Cost and Size EstimationCost and Size Estimation Quality AssuranceQuality Assurance DemonstrationDemonstration

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

Project OverviewProject Overview

Purpose:Purpose: Simulate the pressure and the flow Simulate the pressure and the flow

rate distribution of gas in a real rate distribution of gas in a real pipeline system.pipeline system.

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

Project OverviewProject Overview

Goals:Goals: Design a GUI to create and manipulate Design a GUI to create and manipulate

the pipeline system.the pipeline system. Implement an optimizer to efficiently Implement an optimizer to efficiently

distribute computation among several distribute computation among several machines.machines.

Integrate the GUI with a simulator that Integrate the GUI with a simulator that will simulate the behavior of each will simulate the behavior of each component of the real pipeline system.component of the real pipeline system.

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

Requirement Specifications-Requirement Specifications-Overall DescriptionOverall Description

User InterfaceUser Interface The pipeline editor shall support drag and The pipeline editor shall support drag and

drop operations for drawing components drop operations for drawing components (pipes, joints, and compressors).(pipes, joints, and compressors).

The pipeline editor shall support standard The pipeline editor shall support standard editing functions (copy, cut, paste). editing functions (copy, cut, paste).

The pipeline editor shall provide zoom The pipeline editor shall provide zoom functions.functions.

The pipeline editor shall display the The pipeline editor shall display the simulation results. simulation results.

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

Requirement Specifications-Requirement Specifications- Overall Description Overall Description

User Interface, cont.User Interface, cont. The user shall be able to store/retrieve a The user shall be able to store/retrieve a

previously drawn pipeline system and previously drawn pipeline system and connect it with some new groups or connect it with some new groups or components. components.

The user shall be able to move The user shall be able to move components inside the editor to have a components inside the editor to have a better positioning.better positioning.

The user shall be able to edit the The user shall be able to edit the characteristic of each component characteristic of each component displayed.displayed.

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

Requirement Specifications-Requirement Specifications- Overall Description Overall Description

Software InterfacesSoftware Interfaces The cluster computers shall run The cluster computers shall run

under the Linux operating system.under the Linux operating system. Each computer shall have the Java Each computer shall have the Java

Virtual Machine installed (version Virtual Machine installed (version 1.4 or later).1.4 or later).

Each computer shall have the Each computer shall have the JGraph 3.0 package installed.JGraph 3.0 package installed.

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

Requirement Specifications-Requirement Specifications- Overall Description Overall Description

User Characteristics:User Characteristics: Users of the system should be Users of the system should be

experienced pipeline design engineers experienced pipeline design engineers who have a good understanding of a who have a good understanding of a pipeline system.pipeline system.

Users should be able to understand Users should be able to understand and manipulate pipeline and manipulate pipeline characteristics. characteristics.

No particular training should be No particular training should be necessary to use the software.necessary to use the software.

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

Requirement Specifications-Requirement Specifications-Functional RequirementsFunctional Requirements

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

: Pipeline Editor : Optimizer : Simulator : User

Drag component

Optimize () Optimize (Graph) BuildJobGraph(graph)

Optimize(JobGraph)

WriteFile(jobsLists)

Simulate() Simulate(JobsFilename)

ReadFileJobsFilename()

simulate()Send(SimulationData)

Display component

Display Data

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

OPTIMIZER

SIMULATOR

PIPELINEEDITOR

**Graph Model ,**Component Characteristics (Type, Diameter, Length, Index,

Value, Gas-Type )User Input

** List of Job Objects(JobTypt, Machine,Connections, File,

Parameters,ExecTime)

SimulationData

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

Requirement Specifications-Requirement Specifications- Functional Requirements Functional Requirements

Pipeline EditorPipeline Editor Components: Pipes, split, station, Components: Pipes, split, station,

driver, compressor, orifice… driver, compressor, orifice… Draw, Edit, Delete, MoveDraw, Edit, Delete, Move Undo, RedoUndo, Redo Copy, Cut, PasteCopy, Cut, Paste Zoom In, Zoom outZoom In, Zoom out OptimizeOptimize SimulateSimulate

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

Requirement Specifications-Requirement Specifications- Functional Requirements Functional Requirements

OptimizerOptimizer Problem: Produce an optimal job allocation Problem: Produce an optimal job allocation

that balances the load of each processor that balances the load of each processor (=minimizes the load differences among (=minimizes the load differences among cluster machines assigned to the cluster machines assigned to the simulation). simulation).

The jobs are the pipelines components The jobs are the pipelines components (pipes, joints, compressors …). (pipes, joints, compressors …).

Each job has a computation time and a Each job has a computation time and a communication time that depend on the communication time that depend on the characteristic of the component it characteristic of the component it represents.represents.

Solution: Branch and Bound Algorithm Solution: Branch and Bound Algorithm

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

Requirement SpecificationsRequirement Specifications

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

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

Project PlanProject Plan

PhasesPhases

Phase 1Phase 1

Phase 2Phase 2

Phase 3Phase 3

Jul Aug Sep Oct Nov Dec Jan

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

Cost EstimationCost Estimation

Effort = 3.2 EAF (Size)^1.05;Effort = 3.2 EAF (Size)^1.05; Time = 2.5 (Effort)^0.38;Time = 2.5 (Effort)^0.38;

Where:Where: Effort = number of staff-monthsEffort = number of staff-months EAF = Effort Adjustment Factor (cf. Table)EAF = Effort Adjustment Factor (cf. Table) Size = number of delivered source Size = number of delivered source

instructions (in thousands of lines of code)instructions (in thousands of lines of code)

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

Cost EstimationCost Estimation

Cost Driver

Description Rating

Very Low

Low Nominal

High 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

Computer              

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 -

Software Development Effort Multipliers (EAF)

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

Cost Estimation (cont.)Cost Estimation (cont.)

Personnel

             

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 - -

Project              

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 -

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

Cost Estimation (cont.)Cost Estimation (cont.)

EAF = 1.00 x 1.00 x 1.00 x 1.11 x 1.00 x EAF = 1.00 x 1.00 x 1.00 x 1.11 x 1.00 x 1.00 x 1.00 x 1.00 x 1.00 x 1.00 x 1.00 x 1.00 x 1.00 x 1.00 x 1.00 x 1.00 x 1.00 x 1.07 x 0.91 x 1.10 x 1.10 = 1.311.07 x 0.91 x 1.10 x 1.10 = 1.31

KLOC = 2 (2,000 SLOC) (Estimation)KLOC = 2 (2,000 SLOC) (Estimation) E = 3.2 x 1.31 x 2^1.05 = 8.67 staff-E = 3.2 x 1.31 x 2^1.05 = 8.67 staff-

monthsmonths Time = 2.5 x 8.67^0.38 = 5.68 monthsTime = 2.5 x 8.67^0.38 = 5.68 months

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

Software Quality Assurance Software Quality Assurance Plan Plan

OrganizationOrganization Committee of 3 professors to Committee of 3 professors to

supervise the project: Dr. Virgil supervise the project: Dr. Virgil Wallentine, Dr. Daniel Andresen, Dr. Wallentine, Dr. Daniel Andresen, Dr. Masaaki MizunoMasaaki Mizuno

Approve design and requirements.Approve design and requirements. Responsible for monitoring Responsible for monitoring

implementation progress.implementation progress.

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

Software Quality Assurance Software Quality Assurance PlanPlan

Standards, conventions, and toolsStandards, conventions, and tools The documentation will be based The documentation will be based

upon IEEE Software Engineering upon IEEE Software Engineering Standards.Standards.

JGraph3.0 and Swing libraries will be JGraph3.0 and Swing libraries will be used to build the Pipeline Editor (GUI). used to build the Pipeline Editor (GUI).

Rational Rose will be used to visually Rational Rose will be used to visually design the software being developed. design the software being developed.

Java Path Finder (JPF) will be used as Java Path Finder (JPF) will be used as a verification tool.a verification tool.

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

DemonstrationDemonstration

Demonstration of the GUI prototypeDemonstration of the GUI prototype

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

THE END.THE END.

QuestionsQuestions CommentsComments SuggestionsSuggestions