170 likes | 181 Views
MSE Presentation (Phase 2). GUI & Optimizer for the Virtual Pipeline Simulation Testbed. Walamitien Oyenan November 10, 2003. Presentation Outline. Updated Document Sequence Diagram JGraph Design GUI Design Optimizer Design Other Documents Demonstration. Updated Document.
E N D
MSE Presentation (Phase 2) GUI & Optimizer for the Virtual Pipeline Simulation Testbed Walamitien Oyenan November 10, 2003
Presentation Outline • Updated Document • Sequence Diagram • JGraph Design • GUI Design • Optimizer Design • Other Documents • Demonstration
Updated Document • Software Requirement Specification: • Web Start • Checkpoint • Replay • Directed Graph • Cost Estimation
Sequence Diagram Sequence Diagram
JGraph Design • JGraph is a modification of JTree's source code. • Trees are mostly used to display data structures • JGraph is typically used to modify a graph, and handle these modifications in an application-dependent way.
JGraph Design - Model • The model provides the data for the graph, consisting of the cells, which may be vertices, edges or ports, and the connectivity information.
JGraph Design - View • JGraph's view just contains information about how to render components. • The graph view also has a reference to a hash table, which is used to provide a mapping from cells to cell views.
JGraph Design - Control • The control defines the mapping from user events to methods of the graph. • The events dispatched by the model may be categorized into: • Change notification • History support
GUI - Design • Most of the classes of the Pipeline Editor extend the classes of JGraph. • Class Diagram
Optimizer Design • For each job j : • computation time Wj • communication time Cj • The objective is to minimize the load on the machines.
Optimizer Design – cont. Depth-First Branch and Bound • At each node, we minimize a cost function for the busiest machine. • A vertex in the tree represents a partial/complete allocation of jobs on machines. • The root of the search tree is the empty allocation. • A vertex at level k in the tree represents an assignment of jobs {J1,…,Jk}.
Optimizer Design – cont. Cost function • f(x) = g(x) + h(x) ; • g(x) : actual cost for the current allocation. • h(x) : load contribution on the busiest machine of the next job to be allocated. • g(x) = ∑(Wj+Cj) for all j allocated to the busiest machine. • h(x) = min(Wi, Ci) , i = next job to be allocated.
Optimizer Design – cont. • Class Diagram
Other documents • Formal Requirement Specification • Spin • Test Plan • Formal Technical Inspection
Demonstration • Demonstration of the GUI prototype
THE END. • Questions • Comments • Suggestions