graphical user interface and job distribution optimizer for a virtual pipeline simulation testbed...

Post on 05-Jan-2016

216 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

Presentation OutlinePresentation Outline

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

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.

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.

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.

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.

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.

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.

Requirement Specifications-Requirement Specifications-Functional RequirementsFunctional Requirements

: 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

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

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

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

Requirement SpecificationsRequirement Specifications

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

Project PlanProject Plan

PhasesPhases

Phase 1Phase 1

Phase 2Phase 2

Phase 3Phase 3

Jul Aug Sep Oct Nov Dec Jan

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)

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)

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 -

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

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.

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.

DemonstrationDemonstration

Demonstration of the GUI prototypeDemonstration of the GUI prototype

THE END.THE END.

QuestionsQuestions CommentsComments SuggestionsSuggestions

top related