180 likes | 311 Views
A user interface framework for Grid-based computational steering and visualization. Jason Wood*, Mark Riding and Ken Brodlie. Overview. Eviz project Objectives of the adaptive user interface skML and extensions Interface framework Examples Conclusions and further work. Eviz Goals.
E N D
A user interface framework for Grid-based computational steering and visualization. Jason Wood*, Mark Riding and Ken Brodlie
Overview • Eviz project • Objectives of the adaptive user interface • skML and extensions • Interface framework • Examples • Conclusions and further work
Eviz Goals • Integrate heterogeneous hardware • Span different networks • Reuse existing visualization software • Fault tolerance • Aide user in creation of visualization pipeline • Adapt user interfaces to user and situation • Adapt user interfaces to user and situation
Objectives of adaptive user interface • Dynamically constructed to fit system generated visualization pipeline • Runtime selection of communications mechanism • Runtime widget selection • Runtime user customisation • Runtime system updates • Visualization system independent • Platform independent
Extended skML • Used by the Eviz system to describe the pipeline that has been created for the user. • skML originates from the gViz project (http://www.comp.leeds.ac.uk/vvr/gViz). • XML description of the visualization pipeline. • Extensions to skML required to allow: • better generation of user interfaces • runtime selection of widgets • runtime selection of communications mechanism • runtime user interface updates
Example skML <skml> <map id=“isosurface”> <module id=“DR”name=“ReadData” out-port=“Output”> <param name=“Fname”>Dglazing.dat</param> </module> <module id=“IS”name=“isoSurface”in-port=“DataIn”out- port=“Geomtery”> <param name=“Threshold”>65.0</param> </module> . . . . . <link id=“DRtoIS”> <module ref=“DR”out-port=“Output”/> <module ref=“IS”in-port=“DataIn”/> </link> . . . . . . </map> </skml>
Building from skML • Can build from default skML description
Building from skML • Adding a type attribute to parameter <map id="default" style="left:10;top:10;color:#d4d4d4"> <module id="1" name="PollutionSim" out-port="OutData" > <param name="Grid Size" min="12" max="30” type="long">12</param> <param name=”update" min="1" max=”50” type=”long">10</param> <param name=”X1" min=“0.0" max=”100.0" type="double">0.0</param> . . . . . . .
Building from skML • Adding layout information to the RDF section <rdf:Description about="1"> <v:PhysicalLocation>cspcx34.leeds.ac.uk</v:PhysicalLocation> <v:ContactPoint>32786:0:0</v:ContactPoint> <v:Layout> <v:LayoutStyle rows="5" columns="6" style="grid"/> <v:LayoutElement name="Grid Size" row="0" col="0" width="1"/> <v:LayoutElement name="Topography" row="1" col="0" width="2"/> <v:LayoutElement name="X1" row="0" col="3"/> . . .
Building from skML • Adding a widgetTypeattribute . . . . <param_array name ="Wind Direction" min="-1" max="1" type="double” widgetType=“Compass” > <val>1.0</val> <val>0.0</val> <val>0.0</val> </param_array> <param name="Current Time" min="0" type="double" widgetType="text" interaction="view">0.0</param> . . .
User extensible widget interface • The Eviz Client provides a Java interface that describes an eViz widget • If users create widgets that implement this interface then eViz can use them. • Widget selection is part of the parameter attributes in the extended skML file, or defined as a local preference.
User extensible communications interface • The EViz client accepts and creates parameter values using an XML description. • A java interface is provided to allow the addition of user created communications mechanisms. • The communications mechanism for a component of the pipeline is specified in the RDF section of the skML file. . . . <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns" xmlns:v="http://www.brookes.ac.uk/skML2/"> <rdf:Description about="1"> <v:CommsType>RealityGridComms</v:CommsType> <v:PhysicalLocation>garfield.mvc.mcc.ac.uk</v:PhysicalLocation> <v:ContactPoint>http://calculon.cs.man.ac.uk: 50005/WSRF/SWS/SWS/1601578106424904081</v:ContactPoint> </rdf:Description> <rdf:Description about="2"> <v:PhysicalLocation>mutley.mvc.mcc.ac.uk</v:PhysicalLocation> <v:ContactPoint>50508:0:0</v:ContactPoint> </rdf:Description> . . .
Application Changes • Pipeline components can change their widgets state / appearance / visibility ... but the component must generate the change
Example 1 • Simulation and VTK application controlled using gViz
Example 2 • Simulation controlled by RealityGrid • VMD visualization application controlled by gViz • Single user interface to control both
Future Work • Automatic layout of widgets for modules that have no layout information. • Some generic way to describe simple UI behaviours or interactions. • Widget classification scheme so that skML could request a class of widget rather than a name.
Conclusions • The Eviz Client provides a mechanism for delivering user interfaces for system generated visualization pipelines composed from different visualization packages. • Visualization components can have control over their user interface components. • The framework is flexible enough to allow user created widgets and communications mechanisms to be added.