a user interface framework for grid-based computational steering and visualization. jason wood*,...
TRANSCRIPT
A user interface framework for Grid-based computational steering and visualization.
A user interface framework for Grid-based computational steering and visualization.
Jason Wood*, Mark Riding and Ken Brodlie
Jason Wood*, Mark Riding and Ken Brodlie
OverviewOverview
Eviz project Objectives of the adaptive user
interface skML and extensions Interface framework Examples Conclusions and further work
Eviz project Objectives of the adaptive user
interface skML and extensions Interface framework Examples Conclusions and further work
Eviz Goals 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
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 Adapt user interfaces to user and situation
Objectives of adaptive user interface
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
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 skMLExtended 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
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 skMLExample 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>
Interface FrameworkInterface Framework
Building from skMLBuilding from skML
Can build from default skML description Can build from default skML description
Adding a type attribute to parameter
Adding a type attribute to parameter
Building from skMLBuilding from skML
<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 skMLBuilding from skML
Adding layout information to the RDF section 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 skMLBuilding from skML
Adding a widgetType attribute Adding a widgetType attribute
. . . .<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
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.
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
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.
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 ChangesApplication Changes
Pipeline components can change their widgets state / appearance / visibility
Pipeline components can change their widgets state / appearance / visibility
... but the component must generate the change
... but the component must generate the change
Example 1Example 1
Simulation and VTK application controlled using gViz Simulation and VTK application controlled using gViz
Example 2Example 2 Simulation controlled by RealityGrid VMD visualization application controlled
by gViz Single user interface to control both
Simulation controlled by RealityGrid VMD visualization application controlled
by gViz Single user interface to control both
Future WorkFuture 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.
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.
ConclusionsConclusions
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.
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.