|
|||
|
This is version 2.
It is not the current version, and thus it cannot be edited. Terrestrial usecases
Use Case Name: Smart reruns Version: Preconditions: User has designed a workflow that specifies:
Users want the ability to rerun certain workflows in a "smart" way, that is, without regenerating intermediary derived data products if the source data (and hence the derived data for non-stochastic models) have not changed. Some intermediate derived data products take a very long time to produce, hence it is beneficial to skip their generation when possible.
User executes a workflow that uses Smart rerun features and all User-specified Smart rerun criteria have been met.
Workflow developer designs a workflow that makes use of smart rerun components. Upon execution of this workflow, smart rerun components check to see if their input data sources have changed. If these have been changed (or are being used for the first time), components (re)produce derived data products and save those that are marked as smart rerun derived data products. If data sources have not changed, and previously saved derived data products exist, a smart rerun can occur whereby these products are reused. Special considerations for stochastic systems must be taken into account in the design of this usecase (do we allow smart reruns for certain stochastic models?).
Intermediary derived data products produced by smart rerun actors are saved.
Use Case Name: Optional archiving of intermediate derived datasets.
Users want to be able to save intermediate derived datasets.
Use Case Name: Archive a complete end to end run ("publication ready archive") Version: Summary: Users would like the ability to create "publication ready archive", which is an archive that contains the Kepler workflow, all required inputs (data sources like database tables are included), and all produced output. At the completion of a study, the user can produce this archive and submit it (or a link to it) alongside their paper to peers and journals.
User has created workflow that contains everything needed (eg data sources). Ability to save intermediate and
User exports workflow
User creates a workflow. User turns on "publication ready archive" mode. User runs workflow, and exports to an archive at completion.
User uses features from "Smart Rerun" usecase the "Manage a group of model runs" usecase.
A specific "publication ready archive" option would not be required if requiredments for "Smart Rerun" usecase and "Manage a group of model runs" usecase are implemented.
Use Case Name: Actor specific annotations (gui linked) Version: Summary: Users would like to be able to produce annotations that are visually closely coupled with actors. When an actor is dragged around the campus, if it has an associated annotation, this annotation moves alongside it. This does not require a graphical link (eg line or box) that groups the two, but this could be done. Another way to approach this would be mouseover "alt text" popups.
A component has been created with which to associate an annotation.
User creates a component and chooses to create an associated annotation for it.
Use Case Name: Actor for Data-Merge for specific product Version: Summary: Users want the ability to easily merge many different data sources into one. For example, in the reap terrestrial case study uses might want to merge a) data in differently formatted excel files and text files b) near-realtime data streams and c) data pulled from an archive. Users want this process to convert units if needs be. Merge data, automatically convert units
An instance of data-merge component has been created w/ inputs connected to desired data sources.
User executes workflow.
User creates an instance of data-merge component and connects its input ports to desired data sources. User specifies certain properties in the data-merge actor regarding how to merge data (eg how to convert units, if interpolation or decimation should occur, which differently names fields correspond, etc)
User merges data themselves
Merged derived source data product is produced.
Use Case Name: Integrate database actors Version: Summary: make database actors more consistent. DatabaseQuery actor has different output ports than metacat database actors -- users would like these actors to be more consistent. Users would also like to be able to view a database and its tables with this integrated actor.
Use Case Name: Database actor option: snapshot Version: Summary: Snapshot vs. realtime query of database each time workflow is run Users would like ability to use a database (or more likely simply some data from a table in a database) in two ways.
Workflow containing database actor is run.
Use Case Name: Event Notification Monitoring system Version: Summary: Check if certain triggers / thresholds have been hit, send out alerts if so. Users would like this kind of system to typically run automatically and periodically on a cron or cron-like system that should be easy to setup. Examples:
A specified threshold or condition has been reached A certain type of error has occurred
Use Case Name: Manage a group of model runs Version: Summary: Users would like to be able to design a workflow that allows for the management of running a group of model runs. This means:
This might be accomplished with a parameter sweep actor.
User develops workflow that includes a parameter sweep component. parameter sweep actor's input port(s) are connected to parameters or parameter source(s).
User designs a workflow that uses and changes parameter components.
Use Case Name: Instruction set for wrapping external program Version: Summary: Users would like to easily wrap an external program in Kepler. By "wrap" we mean create a simple workflow that consists of being able to run an external program that has already been developed, eg a C or fortran program. Users would like either or both of the following:
Working external program has already been written.
User runs wizard or user opens tutorial.
User executes wizard inside Kepler, points it at their external program, configures any required settings via the wizard.
User reads tutorial that explains how to "wrap" external programs
Use Case Name: Easily create and share workflows and actors Version: Summary: Users want an easy way to create and share workflows with others. This means making sure exporting, emailing, and importing workflows is painless, or the submission of workflows/actors to a repository that others can access is painless.
Use Case Name: facilitate peer review process
Use Case Name: use Kepler as a teaching tool Version: Summary: Users would like to use Kepler as a teaching tool. This means adding features such as:
Use Case Name: Ecological Actors Version: Summary: Users would like a set of components to do common ecological functions (ie mean or sum...) over temporal and spatial scales
If ecologists want to create some of these: improvements to workflow and component submission to repository process have been made.
User makes use of new ecological components in library.
Use Case Name: FakeData Generator Actors Version: Summary: Users would like a set of FakeData Generator Actors appropriate to the REAP Case Studies. A FakeData actor should produce data in the same way a real data source would. For example, a "FakeData_CR800_Temperature" Actor might produce a datastream of temperature data at 1 "sample" per minute. The actual data in the datastream should be indecipherable from a real temperature datastream coming out of a Campbell CR800 datalogger deployed in the field. Somewhere in the metadata however, a FakeData Generator Actor should clearly identify itself (as being fake).
Use Case Name: 3d plots Version: Summary: Users would like to be able to produce 3d plots with Kepler. (ggobi, gnuplot, java3d ?)
Use Case Name: iterator wrapper actor Version: Summary: Users would like an Iterator Actor that iterates a workflow, or parts of a workflow in a smart way. See Paramater Sweep Usecase.
Use Case Name: markov chain monte carlo (mcmc) Version: Summary: Allow this different technique for running the model. Can not use if model is stochastic.
Use Case Name: breakpoints Version: Summary: Users would like to be able to add breakpoints in a workflow. When a breakpoint is reached, workflow execution is paused or stopped. Users would also like breakpoints to be conditional, eg a breakpoint might only pause or stop execution once a certain condition (eg equilibrium) has been reached.
Use Case Name: debugging Version: Summary: Users would like an easy way to debug workflows. Some ideas on this: a special debug output port on all actors, a specific debug actor (most workflow developers make extensive use of the display actor to verify output after each step as they build workflows--new users might not think of this, an actor named or tagged Debug might be of use)
|
This material is based upon work supported by the National Science Foundation under award 0619060. Any opinions, findings and conclusions or recomendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF). Copyright 2007 |