Visualization Knowledge (VisKo): Leveraging the Semantic Web to Support VisualizationVisKo University of Texas at El Paso Computer Science.

Slides:



Advertisements
Similar presentations
Dr. Leo Obrst MITRE Information Semantics Information Discovery & Understanding Command & Control Center February 6, 2014February 6, 2014February 6, 2014.
Advertisements

Intelligent Technologies Module: Ontologies and their use in Information Systems Revision lecture Alex Poulovassilis November/December 2009.
VisKo: Enabling Visualization Generation Over the Web Nicholas Del Rio – UTEP Paulo Pinheiro - PNNL 1
Configuration management
OASIS Reference Model for Service Oriented Architecture 1.0
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
NextGRID & OGSA Data Architectures: Example Scenarios Stephen Davey, NeSC, UK ISSGC06 Summer School, Ischia, Italy 12 th July 2006.
OWL-S: Semantic Markup for Web Services
Geography 465 Overview Geoprocessing in ArcGIS. MODELING Geoprocessing as modeling.
1 Adapting BPEL4WS for the Semantic Web The Bottom-Up Approach to Web Service Interoperation Daniel J. Mandell and Sheila McIlraith Presented by Axel Polleres.
Visualization Knowledge (VisKo): Leveraging the Semantic Web to Support VisualizationVisKo Nicholas Del Rio CyberShARE Center University of Texas at El.
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
MDC Open Information Model West Virginia University CS486 Presentation Feb 18, 2000 Lijian Liu (OIM:
A Free sample background from © 2001 By Default!Slide 1.NET Overview BY: Pinkesh Desai.
Aurora: A Conceptual Model for Web-content Adaptation to Support the Universal Accessibility of Web-based Services Anita W. Huang, Neel Sundaresan Presented.
1 Yolanda Gil Information Sciences InstituteJanuary 10, 2010 Requirements for caBIG Infrastructure to Support Semantic Workflows Yolanda.
EARTH SCIENCE MARKUP LANGUAGE “Define Once Use Anywhere” INFORMATION TECHNOLOGY AND SYSTEMS CENTER UNIVERSITY OF ALABAMA IN HUNTSVILLE.
Zhonghua Qu and Ovidiu Daescu December 24, 2009 University of Texas at Dallas.
VTK: The Visualization Toolkit Part I: Overview and object models March 28, 2001.
Mihir Daptardar Software Engineering 577b Center for Systems and Software Engineering (CSSE) Viterbi School of Engineering 1.
Parser-Driven Games Tool programming © Allan C. Milne Abertay University v
Introduction to MDA (Model Driven Architecture) CYT.
Agent Model for Interaction with Semantic Web Services Ivo Mihailovic.
GCMD/IDN STATUS AND PLANS Stephen Wharton CWIC Meeting February19, 2015.
GMT: The Generic Mapping Tools Paul Wessel, Walter H.F. Smith and the GMT team.
1 Foundations V: Infrastructure and Architecture, Middleware Deborah McGuinness TA Weijing Chen Semantic eScience Week 10, November 7, 2011.
Configuration Management (CM)
A Query Translation Scheme for Rapid Implementation of Wrappers Presented By Preetham Swaminathan 03/22/2007 Yannis Papakonstantinou, Ashish Gupta, Hector.
The Generic Gaming Engine Andrew Burke Advisor: Prof. Aaron Cass Abstract Games have long been a source of fascination. Their inherent complexity has challenged.
UT DALLAS Erik Jonsson School of Engineering & Computer Science FEARLESS engineering Semantic Web Services CS - 6V81 University of Texas at Dallas November.
© DATAMAT S.p.A. – Giuseppe Avellino, Stefano Beco, Barbara Cantalupo, Andrea Cavallini A Semantic Workflow Authoring Tool for Programming Grids.
Chad Berkley NCEAS National Center for Ecological Analysis and Synthesis (NCEAS), University of California Santa Barbara Long Term Ecological Research.
Eurostat Expression language (EL) in Eurostat SDMX - TWG Luxembourg, 5 Jun 2013 Adam Wroński.
FlexElink Winter presentation 26 February 2002 Flexible linking (and formatting) management software Hector Sanchez Universitat Jaume I Ing. Informatica.
An Introduction to Software Engineering. Communication Systems.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
Visualization Knowledge (VisKo): Leveraging the Semantic Web to Support VisualizationVisKo Paulo Pinheiro da Silva and Nicholas Del Rio CyberShARE Center.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
2007. Software Engineering Laboratory, School of Computer Science S E Web-Harvest Web-Harvest: Open Source Web Data Extraction tool 이재정 Software Engineering.
GEON Cyberinfrastructure Workshop Beijing, China, July 21-23, 2006 Workflow-Driven Ontologies for the Geosciences Leonardo Salayandía The University of.
WDO-It! 101 Workshop: Creating an abstraction of a process UTEP’s Trust Laboratory NDR HP MP.
Efficient RDF Storage and Retrieval in Jena2 Written by: Kevin Wilkinson, Craig Sayers, Harumi Kuno, Dave Reynolds Presented by: Umer Fareed 파리드.
NA-MIC, 2008 June Workshop, IHK Akademie Westerham VTK
VTK: The Visualization Toolkit Qaiser Chaudry Georgia Institute of Technology June 28, 2006.
Semantic Technologies and Application to Climate Data M. Benno Blumenthal IRI/Columbia University CDW /04-01.
GEON2 and OpenEarth Framework (OEF) Bradley Wallet School of Geology and Geophysics, University of Oklahoma
WDO-It! 102 Workshop: Using an abstraction of a process to capture provenance UTEP’s Trust Laboratory NDR HP MP.
Page 1© Crown copyright 2004 FLUME Metadata Steve Mullerworth 3 rd -4 th October May 2006.
A Logical Framework for Web Service Discovery The Third International Semantic Web Conference Hiroshima, Japan, Michael Kifer 1, Rubén Lara.
Supported in part by the National Science Foundation under Grant No. HRD Any opinions, findings, and conclusions or recommendations expressed.
Visualization Knowledge Query Language (VKQL) Workshop Nicholas Del Rio University of Texas at El Paso Computer Science.
Geoinformatics 2006 University of Texas at El Paso Evaluating BDI Agents to Integrate Resources Over Cyberinfrastructure Leonardo Salayandía The University.
ESIP Semantic Web Products and Services ‘triples’ “tutorial” aka sausage making ESIP SW Cluster, Jan ed.
Scientific Workflow systems: Summary and Opportunities for SEEK and e-Science.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
1 Class exercise II: Use Case Implementation Deborah McGuinness and Peter Fox CSCI Week 8, October 20, 2008.
CHAPTER 4 THE VISUALIZATION PIPELINE. CONTENTS The focus is on presenting the structure of a complete visualization application, both from a conceptual.
Slide 1 Service-centric Software Engineering. Slide 2 Objectives To explain the notion of a reusable service, based on web service standards, that provides.
Supported in part by the National Science Foundation under Grant No. HRD Any opinions, findings, and conclusions or recommendations expressed.
Ewa Deelman, Virtual Metadata Catalogs: Augmenting Existing Metadata Catalogs with Semantic Representations Yolanda Gil, Varun Ratnakar,
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
VisKo: Enabling Visualization Generation Over the Web Nicholas Del Rio – UTEP Paulo Pinheiro - PNNL 1
TTCN-3 Testing and Test Control Notation Version 3.
The Semantic Web By: Maulik Parikh.
Data Virtualization Tutorial: Introduction to SQL Script
Web Ontology Language for Service (OWL-S)
Chapter 2 Database Environment.
Service-centric Software Engineering
CSc4730/6730 Scientific Visualization
Presentation transcript:

Visualization Knowledge (VisKo): Leveraging the Semantic Web to Support VisualizationVisKo University of Texas at El Paso Computer Science

Velocity Model Visualization A set of isosurfaces – extracted from a seismic velocity model – Covers a region in southern New Mexico 8 km/s 3 km/s Depth

Visualizing the Velocity Model Generated by custom Java application – relied on Visualization Toolkit (VTK) for rendering – VTK was developed for rendering 3D visualizations – VTK is supported by Sandia, Los Alamos, ARL, and others Writing a custom visualization application: – may rely on third party package to support rendering – may need to perform some transformations on input dataset before rendering

Program For Velocity Visualization vtkImageReader rdr = new vtkImageReader(); rdr.SetFileName(inputDatasetFilePath); rdr.SetDataScalarTypeToUnsignedShort(); rdr.SetDataByteOrderToLittleEndian(); rdr.SetFileDimensionality(3); rdr.SetDataOrigin(0,0,0); rdr.SetDataSpacing(1,1,1); rdr.SetDataExtent(0,230,0,25,0,68); rdr.SetNumberOfScalarComponents(1); rdr.FileLowerLeftOn(); rdr.Update(); vtkContourFilter contours = new vtkContourFilter(); contours.SetInput(rdr.GetOutput()); contours.GenerateValues(35,0.0,9000.0); vtkPolyDataMapper contMapper = new vtkPolyDataMapper(); contMapper.SetInput(contours.GetOutput()); contMapper.SetScalarRange(0.0,9000.0); vtkActor contActor = new vtkActor(); contActor.SetMapper(contMapper); contActor.RotateX(105); vtkRenderer ren1 = new vtkRenderer(); ren1.AddActor(contActor); ren1.AddActor2D(outlineActor); ren1.SetBackground(1,1,1); vtkRenderWindow renWin = new vtkRenderWindow(); renWin.SetOffScreenRendering(1); renWin.AddRenderer(ren1); renWin.SetSize(300,300); renWin.Render(); vtkJPEGWriter img = new vtkJPEGWriter(); img.SetInputConnection(renWin.GetOutputPort()); img.SetFileName(outputDatasetFilePath); img.SetQuality(100);

What Information is Needed? Regarding visualization, users need to know: – What view suits their data (e.g., contours, map, surfaces) – What properties should the view exhibit (e.g., orientation, projection, color, size) Regarding datasets, users need to know: – The semantic type of the data (e.g., gravity, velocity) – The type of data helps with setting parameter arguments – The format the data is encoded in (e.g., netCDF, ESRI)

What Information is Needed? Regarding third party rendering software: – Can it generate the required renderings? – Can it ingest my data in the format it resides in? – Does it satisfy my performance requirements? – What language can I use to interface with it? – What dependent packages do I need to install?

Where to Get Information Regarding the view: – some user may prefer to see isosurfaces whereas another user prefers volume renderings (its personal) Regarding the data: – provenance may declare what format and type of dataset – Provenance Markup Language (PML) has fields for recording both type and format Regarding the third party rendering software: – Reading, reading, and more reading – May have a visualization expert assist you

Writing the Program Once you have answers for the previous questions, you can begin coding Some portion of the code will transform input datasets into formats that can be rendered – Most renderers format specific (exception Protovis) The rest of the code will: – Gather suitable arguments for the rendering – Invoking the renderer with the arguments

Overview of the Visualization Program The visualization program that generated the velocity model visualization: – Relies on VTK for rendering – Renders the data as isosurfaces – Ingests data in format binaryFloatArray – transforms binaryFloatArray to VTKImageData – Ingests data of type 3DVelocityModel – Is a serial application – Is written in Java

Presentation Overview 1.Toolkits and Visualization Pipelines 2.Visualization Query 3.Automated Generation of Visualization pipelines 4.Ontological Description of Visualization Pipelines 5.Execution of Visualization Pipelines 6.Giovanni and VisKo

Visualization Toolkits Visualization Toolkit (VTK) was used to render the velocity visualization VTK is a toolkit that provides functions such as: – Filtering – Gridding/interpolating – Mapping (i.e., transform data into views like isosurfaces) – Rendering the views Functions are referred to as operators – Generic mapping tools (GMT): 60 operators – VTK: hundreds of operators

Visualization Pipeline Model VTK requires that users write pipelines – the output of an operator feeds into the operator next in the pipeline sequence – first operator in pipeline is usually data reader – final operator in pipeline is usually renderer Thus the Java program that visualizes the velocity model can be seen as a pipeline of VTK operators It is up to the users to write these pipelines…

VTK Java Pipeline For Velocity Model vtkImageReader rdr = new vtkImageReader(); rdr.SetFileName(inputDatasetFilePath); rdr.SetDataScalarTypeToUnsignedShort(); rdr.SetDataByteOrderToLittleEndian(); rdr.SetFileDimensionality(3); rdr.SetDataOrigin(0,0,0); rdr.SetDataSpacing(1,1,1); rdr.SetDataExtent(0,230,0,25,0,68); rdr.SetNumberOfScalarComponents(1); rdr.FileLowerLeftOn(); rdr.Update(); vtkContourFilter contours = new vtkContourFilter(); contours.SetInput(rdr.GetOutput()); contours.GenerateValues(35,0.0,9000.0); vtkPolyDataMapper contMapper = new vtkPolyDataMapper(); contMapper.SetInput(contours.GetOutput()); contMapper.SetScalarRange(0.0,9000.0); vtkActor contActor = new vtkActor(); contActor.SetMapper(contMapper); contActor.RotateX(105); vtkRenderer ren1 = new vtkRenderer(); ren1.AddActor(contActor); ren1.AddActor2D(outlineActor); ren1.SetBackground(1,1,1); vtkRenderWindow renWin = new vtkRenderWindow(); renWin.SetOffScreenRendering(1); renWin.AddRenderer(ren1); renWin.SetSize(300,300); renWin.Render(); vtkJPEGWriter img = new vtkJPEGWriter(); img.SetInputConnection(renWin.GetOutputPort()); img.SetFileName(outputDatasetFilePath); img.SetQuality(100);

Pipeline of Visualization Operators vtkImageReader rdr = new vtkImageReader(); rdr.SetFileName(inputDatasetFilePath); rdr.SetDataScalarTypeToUnsignedShort(); rdr.SetDataByteOrderToLittleEndian(); rdr.SetFileDimensionality(3); rdr.SetDataOrigin(0,0,0); rdr.SetDataSpacing(1,1,1); rdr.SetDataExtent(0,230,0,25,0,68); rdr.SetNumberOfScalarComponents(1); rdr.FileLowerLeftOn(); rdr.Update(); vtkContourFilter contours = new vtkContourFilter(); contours.SetInput(rdr.GetOutput()); contours.GenerateValues(35,0.0,9000.0); vtkPolyDataMapper contMapper = new vtkPolyDataMapper(); contMapper.SetInput(contours.GetOutput()); contMapper.SetScalarRange(0.0,9000.0); vtkActor contActor = new vtkActor(); contActor.SetMapper(contMapper); contActor.RotateX(105); vtkRenderer ren1 = new vtkRenderer(); ren1.AddActor(contActor); ren1.AddActor2D(outlineActor); ren1.SetBackground(1,1,1); vtkRenderWindow renWin = new vtkRenderWindow(); renWin.SetOffScreenRendering(1); renWin.AddRenderer(ren1); renWin.SetSize(300,300); renWin.Render(); vtkJPEGWriter img = new vtkJPEGWriter(); img.SetInputConnection(renWin.GetOutputPort()); img.SetFileName(outputDatasetFilePath); img.SetQuality(100); Op 1 Op 2 Op 3 Op 5 Op 6 Op 7 Op 8

Different Types of Operators vtkImageReader rdr = new vtkImageReader(); rdr.SetFileName(inputDatasetFilePath); rdr.SetDataScalarTypeToUnsignedShort(); rdr.SetDataByteOrderToLittleEndian(); rdr.SetFileDimensionality(3); rdr.SetDataOrigin(0,0,0); rdr.SetDataSpacing(1,1,1); rdr.SetDataExtent(0,230,0,25,0,68); rdr.SetNumberOfScalarComponents(1); rdr.FileLowerLeftOn(); rdr.Update(); vtkContourFilter contours = new vtkContourFilter(); contours.SetInput(rdr.GetOutput()); contours.GenerateValues(35,0.0,9000.0); vtkPolyDataMapper contMapper = new vtkPolyDataMapper(); contMapper.SetInput(contours.GetOutput()); contMapper.SetScalarRange(0.0,9000.0); vtkActor contActor = new vtkActor(); contActor.SetMapper(contMapper); contActor.RotateX(105); vtkRenderer ren1 = new vtkRenderer(); ren1.AddActor(contActor); ren1.AddActor2D(outlineActor); ren1.SetBackground(1,1,1); vtkRenderWindow renWin = new vtkRenderWindow(); renWin.SetOffScreenRendering(1); renWin.AddRenderer(ren1); renWin.SetSize(300,300); renWin.Render(); vtkJPEGWriter img = new vtkJPEGWriter(); img.SetInputConnection(renWin.GetOutputPort()); img.SetFileName(outputDatasetFilePath); img.SetQuality(100); Op 1 Op 2 Op 3 Op 5 Op 6 Op 7 Op 8 Transformer View Mapper Renderer Transformer

Operators are Parameterized vtkImageReader rdr = new vtkImageReader(); rdr.SetFileName(inputDatasetFilePath); rdr.SetDataScalarTypeToUnsignedShort(); rdr.SetDataByteOrderToLittleEndian(); rdr.SetFileDimensionality(3); rdr.SetDataOrigin(0,0,0); rdr.SetDataSpacing(1,1,1); rdr.SetDataExtent(0,230,0,25,0,68); rdr.SetNumberOfScalarComponents(1); rdr.FileLowerLeftOn(); rdr.Update(); vtkContourFilter contours = new vtkContourFilter(); contours.SetInput(rdr.GetOutput()); contours.GenerateValues(35,0.0,9000.0); vtkPolyDataMapper contMapper = new vtkPolyDataMapper(); contMapper.SetInput(contours.GetOutput()); contMapper.SetScalarRange(0.0,9000.0); vtkActor contActor = new vtkActor(); contActor.SetMapper(contMapper); contActor.RotateX(105); vtkRenderer ren1 = new vtkRenderer(); ren1.AddActor(contActor); ren1.AddActor2D(outlineActor); ren1.SetBackground(1,1,1); vtkRenderWindow renWin = new vtkRenderWindow(); renWin.SetOffScreenRendering(1); renWin.AddRenderer(ren1); renWin.SetSize(300,300); renWin.Render(); vtkJPEGWriter img = new vtkJPEGWriter(); img.SetInputConnection(renWin.GetOutputPort()); img.SetFileName(outputDatasetFilePath); img.SetQuality(100); Op 1 Op 2 Op 3 Op 5 Op 6 Op 7 Op 8 P1 P2 P5 P6 P7 P8 P9 P3 P4

What Kind of Skills are Currently required by a user? Knows about different views Knows what toolkits support a particular view Knows what toolkits operate on a particular data Knows how to install a visualization toolkit Knows what language the toolkit is built on Knows what operators need to compose a pipeline Knows suitable arguments for the operators Knows how to develop software

What Kind of Skills are Currently required by a user? Knows about different views Knows what toolkits support a particular view Knows what toolkits operate on a particular data Knows how to install a visualization toolkit Knows what language the toolkit is built on Knows what operators need to compose a pipeline Knows suitable arguments for the operators Knows how to develop software scientist Visualization Expert Engineer

Presentation Overview 1.Toolkits and Visualization Pipelines 2.Visualization Query 3.Automated Generation of Visualization pipelines 4.Ontological Description of Visualization Pipelines 5.Execution of Visualization Pipelines 6.Giovanni and VisKo

Declarative Requests Many user skills needed to visualize data Aside from cognitive aspects of visualization, a large part of the problem is engineering Stems from fact that we generate visualizations imperatively (i.e., write code) Can we provide a means for users to generate visualizations declaratively (i.e., specify what visualization they want without having to code)?

Visualization Query (AND(hasView ?VIS isosurfaces) (hasContent ?VIS (hasFormat ?VIS floatArray) (hasType ?VIS velocityData) (viewedBy ?VIS mozilla-firefox) (hasValue numContours 36)) Desired View URL of Data to visualize Semantic Type of dataset WDO types (UTEP) Format of dataset ParameterArgumentViewer The velocity model visualization was actually a result of a visualization query Requested Visualization

Visualization Queries and SQL Visualization queries mirror SQL queries – query request is specified declaratively – request is then translated into a query plan – query plan computes the result requested by the query Information specified in visualization queries is used to derive pipelines rather than query plans The pipeline in turn generates the visualization requested in the query

Visualization Query Challenges What kind of knowledge is needed to generate pipelines that answer visualization queries? What infrastructure can leverage the knowledge to support the generation and execution of the pipelines?

VisKo Project Claims VisKo supplements user skills with visualization knowledge to compose pipelines VisKo is a framework for: – Encoding user skills into visualization knowledge – managing visualization knowledge – Executing pipelines

Old Way vs VisKo vtkImageReader rdr = new vtkImageReader(); rdr.SetFileName(inputDatasetFilePath); rdr.SetDataScalarTypeToUnsignedShort(); rdr.SetDataByteOrderToLittleEndian(); rdr.SetFileDimensionality(3); rdr.SetDataOrigin(0,0,0); rdr.SetDataSpacing(1,1,1); rdr.SetDataExtent(0,230,0,25,0,68); rdr.SetNumberOfScalarComponents(1); rdr.FileLowerLeftOn(); rdr.Update(); vtkContourFilter contours = new vtkContourFilter(); contours.SetInput(rdr.GetOutput()); contours.GenerateValues(35,0.0,9000.0); vtkPolyDataMapper contMapper = new vtkPolyDataMapper(); contMapper.SetInput(contours.GetOutput()); contMapper.SetScalarRange(0.0,9000.0);

Presentation Overview 1.Toolkits and Visualization Pipelines 2.Visualization Query 3.Automated Generation of Visualization pipelines 4.Ontological Description of Visualization Pipelines 5.Execution of Visualization Pipelines 6.Giovanni and VisKo

A Pipeline Synthesized by VisKo data flow operators

VisKo Pipeline Composition The query tells the system: – the input format – the target view From target view: – Identify operator that generates view (i.e. view mapper) From operator: – identify format it operates on (i.e., target format) Find sequence of operators that transforms the input format to target format

Information From Query hasView Binary Float Array hasFormat Dataset Information from Query Isosurfaces view

Knowledge about Toolkit Operators vtk Contour Filter vtk Poly Data in format out format generatesViewhasView vtk Image Data Binary Float Array hasFormat Dataset Information from Query Knowledge about toolkit operators Isosurfaces view

The Knowledge is Linked vtk Contour Filter vtk Poly Data in format out format generatesViewhasView vtk Image Data Binary Float Array hasFormat Dataset Information from Query Knowledge about toolkit operators Isosurfaces view Both query and operator reference “isosurfaces”

Format Transformation? vtk Contour Filter vtk Poly Data in format out format generatesViewhasView vtk Image Data Binary Float Array hasFormat Dataset Information from Query Knowledge about toolkit operators Isosurfaces view

Required Pipeline vtk Contour Filter vtk Poly Data in format out format generatesViewhasView vtk Image Data Binary Float Array hasFormat Dataset Information from Query Knowledge about toolkit operators Isosurfaces view

Multiple Results Example Visualization Query No view specified! Input format is ESRI Gridded Data is of type Gravity Data

Multiple Results Example Query Results VisKo was able to generate three different pipelines, given the query and visualization knowledge currently loaded

Multiple Visualizations Example Query Results

Multiple Visualizations Example Visualization Query Query Results PDF vs PNG Format View was left unspecified in query, so system visualized data by any means

Composition by Rules Pipeline composition is actually derived through application of rules – rules are applied to statements comprising our visualization knowledge – rules are simple horn clauses Rules are not described in this seminar Before we can apply rules, we need to know what statements comprise our knowledge base

Presentation Overview 1.Toolkits and Visualization Pipelines 2.Visualization Query 3.Automated Generation of Visualization pipelines 4.Ontological Description of Visualization Pipelines 5.Execution of Visualization Pipelines 6.Giovanni and VisKo

VisKo Visualization Language VisKo provides a language to describe operators and how they can be composed into pipelines The language’s expressivity is focused on describing: – Views and view properties – Different operator types – Parameters associated with operators The language is defined by ontologies encoded in Ontology Web Language (OWL)Ontology Web Language (OWL)

VisKo Language Layers The VisKo language encompasses three different ontologies to describe toolkit operators from different perspectives Visko-Service (services, parameters, and types) Visko-Operator (operator function + composition rules) Visko-Views (views and properties) Execution Visualization Spectrum

Encoding Velocity Model View Velocity model is visualized as a set of isosurfaces, so this view is defined as a set of ESIP surfaces We need to describe this resource isosurfaces in terms of the ontology: Isosurfaces isa Surfaces Isosurfaces isa Geometry Isosurfaces isa AtomicView Isosurfaces isa View Isosurfaces description Note: VisKo relies on Resource Document Framework (RDF) for encoding statementsResource Document Framework (RDF)

Encoding Velocity Model Operator A contouring operator generated the isosurfaces The contouring operator – operated on data in format 3DImageData – generated the view isosurfaces – output plot in format PolyData contouringOperator isa Mapper contouringOperator operatesOn 3DImageData contouringOperator transformsTo PolyData contouringOperator mapsTo isosurfaces vtkContourFilter description Note: contouring operator is conceptual and cannot be executed

Encoding Velocity Model Service The contouring operator was implemented by the VTKContourFilter service vtkContourFilter isa Service vtkContourFilter implements contouring vtkContourFilter supportedBy VTK vtkContourFilter hasInput contourSpacing vtkContourFilter hasInput numberOfContours vtkContourFilter hasGrounding wsdlGrounding vtkContourFilter description VisKo-Service OWL-S Executable VisKo service implements operator contouring

Presentation Overview 1.Toolkits and Visualization Pipelines 2.Visualization Query 3.Automated Generation of Visualization pipelines 4.Ontological Description of Visualization Pipelines 5.Execution of Visualization Pipelines 6.Giovanni and VisKo

Pipeline Execution VisKo infrastructure is also responsible for executing the derived pipelines Pipeline Execution Requirements – All operators must have a Web service implementation – Any operator that does not have a service implementation cannot be executed, and neither can its parent pipeline

Visualization Language Layer Cake VisKo language does not express execution details VisKo is therefore is built on other languages/standards that specialize in execution of services and pipelines WSDL GMTVTKIDL OWL-S VisKo Executable Toolkit Operators Web Services Semantic Web Services Visualization Language SEMANTIC SYNTACTIC PROGRAMING LANGUAGE Execution layers

Presentation Overview 1.Toolkits and Visualization Pipelines 2.Visualization Query 3.Automated Generation of Visualization pipelines 4.Ontological Description of Visualization Pipelines 5.Execution of Visualization Pipelines 6.Giovanni and VisKo

Giovanni vs VisKo GiovanniVisKoCapability Visualization Configurable views Pipeline (i.e., workflow) Multiple Toolkits Provenance Capture Dimension Compression Dynamic Workflow Plug and play Automatically Adaptable

Giovanni From GrADS to NCL Had to rework Giovanni when NCL was introduced Workflow may have needed to be modified: – Added operators to convert to new format required by new operator – Configure or change actor to work with protocol of new visualization operator – Input new parameters to the visualization module

Giovanni-VisKo VisKo could mediate some issues associated with: – Adding new visualization capabilities – Modifying existing capabilities – Workflow versioning Underlying toolkits and pipelines will constantly change but the visualization query should remain the same So the interface to VisKo will never change

Giovanni-VisKo (1) Giovanni’s Kepler workflow is performing two functions: – Scientific workflow: bias correction, filtering, gridding – Visualization: possibly converting to format that NCL renderer can process If Giovanni workflow could be partitioned into two sub workflows: – It could focus only on the scientific data processing – And delegate the visualization responsibilities to VisKo

Thanks for listening!