Enhancing Resource Awareness in HCI Devices with RAVE: A Prototype Approach
E N D
Presentation Transcript
Reacting to HCI Devices:Initial Work Using Resource Ontologies with RAVEDr. Ian GrimsteadRichard Potter BSc(Hons)
Presentation Structure • Aims and Objectives • Background to Ontologies • Background to RAVE • Initial extension of RAVE • Demonstration • Questions and Answers.
Aims • To enhance RAVE • Extend resource-awareness • Include user input devices • To prototype ontological approach • In an existing system.
Objectives • Implement “Widgets” • Enable Widgets to request interaction support • Enable RAVE to access Ontology • RAVE widgets announce interaction style required • Ontology finds best fit • Resource interfaced with RAVE for information exchange.
Background to Ontologies • Ontology: Formal collection of inter-referenced taxonomies • Taxonomy – a hierarchical classification • Resources described using 6 taxonomies: • Hardware • User actions • Sensory experiences • Software interfaces • Software interface items • Variables.
Categorisation • Each taxonomy categorises information, for example the user interaction taxonomy:
Libraries and APIs • Sesame (RDF/RDFS repository) • OwlIm (Sesame ontology plugin) • Sesame-to-Jena • Jena (Ontology API and inference engine) • OWL/RDF/RDFS (Ontology implementation languages).
Backgroundto RAVE • RAVE – Resource-Aware Visualization Environment • Supports collaborative visualization • Static datasets, or • Real-time feed from remote process • Remote process can be instrumented • RAVE can then steer a simulation.
RAVE Client Internet or remote machine RAVE Client Visualization Data Raw Data RAVE Client Data Server Data Distribution • First component: Data Server • Acts as a distribution point & interpreter • Understands many types of data • Uses Java3D+Xj3D as importer
Visual drawn on local machine Visualization Data Data Server Displaying Data • Second component: Active RAVE Client • “Active” – facilities to draw on its own • Accepts feed from Data Server • Presents images of data to user Active RAVE Client
Computational Steering • Independent simulation can supply Data Server • Simulation code instrumented • Transmits scene creation and updates to Data Server • Data Server reflects updates • Multiple clients can view live simulation • Client interact with “widgets” • Steer simulation.
Summary • Data Server reads data and distributes • Active Client renders locally • Data Server can link to live simulation • All resources shared where possible • Uses Java to support (most) platforms • Also: • Thin Client (PDA) renders via Render Server • But that’s another story.
Resource support • Semantic reasoning over the ontology: • Appropriate resources can be chosen • Ontology also describes: • Each resource’s available software interfaces • Joins visualization to selected hardware • Supports intuitive interaction • Selects most appropriate resource.
Initial Extensionto RAVE • Database to store ontology • RAVE extended with new Widget type • Issues: • Lack of driver support! • Only available: mouse / mouse with wheel • Shows proof of concept.
Demonstration • We will show: • RAVE interacting with a molecular dynamics simulation • RAVE discovering available input devices • Ontology support automatically selecting available devices • RAVE being unaware of available input devices.
Questions and Answers Questions… …and possibly answers?