Title: SCECCME Pathway Assembly
1SCEC/CME Pathway Assembly
Agenda
- System Requirements
- Basic Pathway Approach
- DB Tables
- User Interface
- Software Approach
- Integration with Docker
2End Result An Executable Computational Pathway
Prob SA exceeds 6.5?
Lat/long
Sites address
address
Geocoder
Fault-type
EFM (USGS-02)
Lat/long1
Span
D-COMP
dist
Lat/long
Lat/long2
Field-02
Distance
Magnitude
SA median
Mom-Mag
vs30
SCEC-VS30
Lat/long
vs30
PWL Query
Answer
PowerLoom Ontology server
3SCEC/CME Computational Testbed Requirements
- Identify data transforming programs that can be
run. - Identify input types for each program.
- Identify output types for each program.
- Show the user the available datasets on the
system. - Allow the user to specify any instances of the
correct datatype as inputs to a data
transformation - Associate the datasets with their metadata to
help the user select which data instances to use. - Assemble a series of data transformations into a
pathway - Save the datasets and their metadata as they are
produced. - Provide status of a pathway computation as it
proceeds. - Allow user to specify planned but not yet
produced datasets as inputs to computations in a
pathway.
4SCEC/CME Computational Step
- Computational Step modeled like a dataflow
diagram - Datatypes inputs, transforming program,
datatypes outputs
Hazard Map Value Dataset
GRD File
GMT Script
Resource Type Predicate Type
Resource Type
Resource anything you can reference with a
URI Predicate anything that can produce a
Resource
5SCEC/CME Computational Pathway
Computational Pathway is series of steps
connected together
Hazard Map Value Dataset
JPEG Image
GRD File
GMT Script
Grdimage
6Tracking Data Types and Data Instances
-- Resource Types DateTime Timespan
Timeseries Site Region Region Grid
Volume Volume Grid Intensity Measure
Earthquake Rupture Forecast (ERF) Intensity
Measure Relationship (IMR) Hazard Curve
Hazard Curve Plot Definition (axis, log/log)
Hazard Curve Plot Hazard Curve Grid Hazard
Value Grid Definition (type and level) Hazard
Value Grid Hazard Map Definition (region,
type, colors, etc) Hazard Map Wavefield
Timeseries Wavefield MPEG
-- Predicate Types DateTime Entry Form
Timespan Entry Form Timeseries Entry Form
Site Entry Form Region Entry Form Region Grid
Entry Form Volume Entry Form Volume Grid
Entry Form Intensity Measure Entry Form
Hazard Curve Plot Definition Entry Form Hazard
Value Grid Definition Entry Form Hazard Map
Definition Entry Form ERF Entry Form IMR
Entry Form Velocity Mesh Generator Hazard
Curve Generator Hazard Curve Plotter Hazard
Curve Grid Generator Hazard Value Grid
Generator Anelastic Wavefield Solver GMT
Script GRDImage
7Tracking Predicate Type Inputs and Outputs
-- Predicate Inputs/Outputs Hazard Curve
Generator - Timespan, Site, Intensity Measure,
ERF, IMR - Hazard Curve Hazard Curve Plotter -
Hazard Curve, Hazard Curve Plot Definition -
Hazard Curve Plot Hazard Curve Grid Generator -
Region Grid Definition, Timespan, Intensity
Measure, ERF, IMR - Hazard Curve Grid Hazard
Value Grid Generator - Hazard Curve Grid, Hazard
Value Grid Definition - Hazard Value Grid GMT
Script - Hazard Value Grid, Hazard Map
Definition - Hazard Map Velocity Mesh
Generator - Volume Grid, Velocity Model, Volume
Grid Definition - Volume Mesh Anelastic
Wavefield Modeler - Volume Grid, Timeseries,
Velocity Mesh, Fault Definition, Source
Definition - Wavefield Timeseries Anelastic
Viewer - Wavefield Data - Wavefield Timeseris
MPEG
8Tracking Predicate Type Inputs and Outputs
- DB Tables
- ResourceType
- ResourceTypeID
- Name
- Description
- PredicateType
- PredicateTypeID
- Name
- Description
- PredicateInputs
- PredicateTypeID
- ResourceTypeID
- PredicateOutputs
- PredicateTypeID
- ResourceTypeID
- ResourceInstance
- ResourceInstanceID
- ResourceTypeID
- MetadataURI
- ProcessingStartDateTime
- ProcessingEndDateTime
- ProcessingStatus
- ResourceInstanceURI
- PredicateInstance
- PredicateInstanceID
- PredicateTypeID
- MetadataURI
- ModificationDateTime
- PredicateURI
9Pathways as a Series of Steps
- Pathway DB Tables
- Computational Step
- CompStepID
- PathID
- PredicateInstanceID
- Computational Step Input
- CompStepID
- ResourceInstanceID
- Computational Step Output
- CompStepID
- ResourceInstanceID
- Computational Path
- PathID
- Description
- UserInfo
- StartDateTime
- EndDateTime
- Status
10User Scenario
- User Want to Create Map
- Select Predicate Type (e.g. GMT Script )
- Present User with Required Inputs Types
- (e.g. Hazard Value Grid File).
- Present user with available instances of Hazard
Value Grid Files and metadata of each instance. - User selects the data instances of interest.
(e.g. Predicted PGA at .5 prob for S.
California). - User starts system processing.
11User Resource Definition/ User Entry Screens as
Predicates
- A Data entry Screen is considered a Predicate
with no Input resources because inputs are not
referenced by URI (they are entered by User). - User must be guided through appropriate
selections through use of the knowledge base
information. - Only information about Resource stored in
database is Resource type and location and
reference to metadata. - Interaction with knowledge base needed as user
constructs are resource to be used in
computation.
12User Resource Definition/ User Entry Screens as
Predicates
- Population of DB with Resource types and
Predicate types possibly done by querying
knowledge base about system components. - Metadata associated with each new Resource
Instance derived from characteristics about
Resource stored in knowledge base.
13Web Technologies
Static Document Server Model
Get /doc.html
lthtmlgt .. lthtmlgt
HTML Documents
14Web Technologies
Dynamic Content generated with downloaded applets
Get /java-applet
Java Byte Code
Java Applet in Java Virtual Machine
15Web Technologies
Dynamic Content generated by CGI Scripts
Get /cgi-bin/pgm
lthtmlgt .. lthtmlgt
CGI program
16Web Technologies
Dynamic Content using servlets, and JSP
Get /requestURI
lthtmlgt .. lthtmlgt
Servlet Engine
Servlets
JSP Pages
17Web Technologies
- Advantages of JSP and Servlet Approach
- Server side technology supports gridding of
computations. - Security and maintainability of Java Language and
Java Virtual Machine. - Ability to separate the presentation from the
logic. - Software tools available to facility development.
- Significant current web development with this
technology. - Able to architect web application using a MVC
architecture. - Integration of reasoning capabilities into
commercial web application architecture.
18Model/View/Controller architecture for Web
application
Knowledge Base
User Browser
Controller Component
Model Component
Database
View Component
19Web Technologies
- Implications of JSP and Servlet Approach
- Propose we adopt JSP/Servlets/Struts framework
for SCEC/CME computational testbed site. - DOCKER testbed interface ported to JSP
implementation. - Interface to Knowledgebase will be Java API to
PowerLoom.
20Web Technologies
- Implications of JSP and Servlet Approach
- Standard calls requests have to server side
processing done in Struts Model - Validation Method for each request.
- Determines if form is valid (T/F), returns to
input form on F. - Action Method for each request.
- Business logic of request.
- Within given MVC Web Architecture, we will need
to identify the appropriate place to query the
knowledge base.