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