WDO-It! 101 Workshop: Creating an abstraction of a process UTEP’s Trust Laboratory NDR HP MP

Preview:

Citation preview

WDO-It! 101 Workshop:Creating an abstraction of a process

UTEP’s Trust Laboratory

NDRHP

MP

Cyber-ShARE Center of Excellence

• Established at UTEP in 2007 with NSF funding

• Focused– Cross-disciplinary research

in science, engineering, and technology at UTEP

– Training workshops on using cyberinfrastructure

– Education and outreach– Resource acquisition and

sharing (documentation of processes)

Sharing resources via Cyberinfrastructure to advance research and education.

Objectives

• This workshop will go over the basics of creating Semantic Abstract Workflows (SAWs).– SAWs are useful to formalize your understanding of a

process and communicate it to others in a graphical format.

• After completing this workshop, you will be able to use the WDO-It! tool to create SAWs about processes that you use in your every-day work.

Overview

• Guiding example: Description of a process• Task 1: Identify process vocabulary• Task 2: Create a process abstraction• Group exercise• What is next…

Guiding example: A process (1/2)

• Description:– Geo-referenced datasets usually are built from sparse

field measurements , where the location of each point is given by Longitude/Latitude coordinates

– To create a map model of a geo-referenced dataset, e.g., a contour map, the dataset usually needs to:

1. Be pre-processed to create a grid of uniformly-spaced data points

2. Create the map model from the uniformly distributed dataset

Guiding example: A process (2/2)

Longitude Latitude OBS-074.4244296 40.0049488 4176.40-074.9746118 40.0051130 4189.60-074.4245976 40.0051168 4176.40-074.7647730 40.0059447 4199.07-074.7647730 40.0059447 4199.10-074.3714268 40.0099501 4173.71-074.3714268 40.0101141 4173.69-074.2129201 40.0109512 4159.90-074.3237562 40.0139483 4172.05-074.3237562 40.0139483 4172.10

ncols 5nrows 5cellsize=24604 4599 4598 4602 46064619 4618 4611 4586 45664596 4599 4598 4593 45854551 4562 4575 4572 45354532 4512 4482 4449 4459

1. Sparse geo-referenced dataset 2. Uniformly distributed dataset (Grid)

3. Map model

Task1: Identify process vocabulary

• Launch WDO-It!– Download from

http://trust.utep.edu/wdo/downloads

• Capture process vocabulary in a Workflow-Driven Ontology (WDO)

• WDOs:– OWL document– Can import vocabulary terms from other existing

OWL ontologies

Task1: Identify process vocabulary

1. Click 2. Enter a namespace (URI-like format)

Recommendation: Use a namespace that matches the URL where you will publish the WDO

Example: http://trust.utep.edu/2009/ContourMapWDO

You can change namespaces later with a text editor that supports the “Replace All” operation.

Task1: Identify process vocabulary

WDO namespace on the root

Loaded OWL Documents Tree

Imported Ontologies subtree reflects <owl:imports> statement of OWL document

Note1: All WDO’s import the wdo.owl ontology

Note2: The WDO in the root of the tree is the one being edited, imported ontologies are not modified.

Task1: Identify process vocabulary

• WDOs capture the vocabulary of a process in two main categories:– Data– Method

• What are the data concepts of our process?– ContourMap, GriddedDataset

• What are the method concepts of our process?– Gridding, Contouring

Task1: Identify process vocabularyAdding Data and Method concepts to the WDO

1. Click

2. Choose type

3. Add label (<rdfs:label>) and optionally a comment (<rdfs:comment>)

Note: URIs automatically generated by WDO-It! in reference to namespace assigned to the WDO document. Facilitates renaming!

Task1: Identify process vocabularyStart with the more general concepts of your process and start building your WDO hierarchies.

To add a child concept: Select a concept from the Data or Method tree, then click the Add Concept Icon

You can remove concepts that do not have children by selecting them and clicking the Remove Concept Icon

Note: Concept Hierarchy shows ALL concepts defined in the selected OWL document

You can rename and add comments to concepts by selecting them and clicking the Edit Concept Icon

Task2: Create process abstraction• Now that process vocabulary was captured in

a WDO, create process abstraction in a Semantic Abstract Workflow (SAW)

• SAWs:– are OWL documents– do not include vocabulary (or class) definitions– reuse vocabulary definitions from a WDO• i.e., import a ‘Source WDO’• e.g., <owl:imports rdfs:resource=“ContourMapWDO”>

– use a graphical notation

Task2: Create process abstraction

1. Click2. Enter a namespace (URI-like format)

Recommendation: Use a namespace that matches the URL where you will publish the SAW

Example: http://trust.utep.edu/2009/CreateGravityContourMapSAW

Task2: Create process abstraction

WDO namespace on the root (Source WDO)

Loaded OWL Documents Tree

Workflows subtree reflects <owl:imports> statement of OWL document w.r.t. source WDOSAWs do not contain concept definitions, hence, concept hierarchy empty when SAW selected

Workflow area enabled when SAW selected

Task2: Create process abstractionAdding instances to the SAW

1. Click and hold on a WDO concept

2. Drag and drop on the Workflow area

Data concepts are rendered as directed edges with beginning and ending ‘Sources’

Methods are rendered as rectangles

Note: ‘Sources’ are instances of the ‘pmlp:Source’ class

Task2: Create process abstractionRemoving instances from the SAW

1. Select an Data or a Method instance

2. Press the Delete key

Note: ‘Source’ instances cannot be individually deleted, since Data instances depend on them

Edit instances

1. Select an Data, Method, or Source instance2. Click the Edit Instance Icon

Task2: Create process abstractionEditing SAW instances:

pmlp:Source instances wdo:Data instances wdo:Method instances

Source instances can be specialized into other subtypes, as per the pmlp ontology, e.g., pmlp:Person

Data instances can be assigned a pmlp:Format instance (URI), which will be used during the creation of data annotators to encode provenance with PML

Method instances can be assigned a pmlp:InferenceEngine instance (URI), which will be used during the creation of data annotators to encode provenance with PML

Task2: Create process abstractionAssembling the process graph: No control-flow, just data-flow!

1. Click on a Source instance and hold2. Drag and drop on top of a Method instance to connect

(Dropping Method instances into Source instances works too)

Note: Data instances need to be attached to a Source instance or to a Method instance on each side of the edge

1. Select and hold an endpoint of an edge2. Drag and drop on another part of the

workflow area to disconnect

Connecting edges and nodes:

Disconnecting edges and nodes:

Note: ‘Sources’ cannot be disconnected from Data edges

Task2: Create process abstraction

• Sources can be merged, as long as they are attached to the same direction of their corresponding edges

Task2: Create process abstraction

Exercise: Build the following SAW

Lets describe Contouring in more detail

Task2: Create process abstraction

1. Right Click on the Contouring method instance2. Select ‘Edit DetailedBy property…’3. Select ‘New Workflow…’4. Enter namespace for new workflow and start creating new abstract workflow

E.g., http://trust.utep.edu/2009/ContouringSAW5. Notice the updated Workflow subtree in the Loaded OWL Documents section

Creating a ‘subworkflow’:

Task2: Create process abstractionExercise: Build the following subworkflow for ‘Contouring’

What is next? (1/3)

• Create HTML reports of your WDOs and SAWs– On the menu toolbar• Choose Tools/Generate Reports…• Select OWL documents for which to generate a report• Select a store location

What is next? (2/3)

• Use SAWs to capture provenance– Use WDO-It! to generate provenance-annotator

modules to instrument existing systems– Use WDO-It! to manually link artifacts to

document provenance of manually executed processes

• Look for follow-up workshop: Using process abstractions to capture provenance

What is next? (3/3)

• Collaborate with others to make your process abstractions more robust– CI-Server/CI-Client– WF-Talk

• Publish your CI resources– CI-Server/CI-Client

• Look for follow up workshop: Using the CI-Server collaboration framework to develop and publish CI resources

Thank you!

For more information please contact:Leonardo Salayandia, leonardo@utep.eduPaulo Pinheiro da Silva, paulo@utep.edu