You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sm...@apache.org on 2014/02/03 18:39:04 UTC

git commit: Updates to Experiment Model to address execution API needs AIRAVATA-994

Updated Branches:
  refs/heads/master 05ba6eacb -> 72f55e982


Updates to Experiment Model to address execution API needs AIRAVATA-994


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/72f55e98
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/72f55e98
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/72f55e98

Branch: refs/heads/master
Commit: 72f55e982ce4362497af55388a9f5b547b8e6a74
Parents: 05ba6ea
Author: Suresh Marru <sm...@apache.org>
Authored: Mon Feb 3 12:38:22 2014 -0500
Committer: Suresh Marru <sm...@apache.org>
Committed: Mon Feb 3 12:38:22 2014 -0500

----------------------------------------------------------------------
 .../thrift-interfaces/experimentModel.thrift    | 65 ++++++++++----------
 1 file changed, 32 insertions(+), 33 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/72f55e98/modules/thrift-interfaces/experimentModel.thrift
----------------------------------------------------------------------
diff --git a/modules/thrift-interfaces/experimentModel.thrift b/modules/thrift-interfaces/experimentModel.thrift
index a5c6711..212f153 100644
--- a/modules/thrift-interfaces/experimentModel.thrift
+++ b/modules/thrift-interfaces/experimentModel.thrift
@@ -25,8 +25,8 @@ namespace java org.apache.airavata.model.experiment
  *   language specific Airavata Client SDK's will translate this neutral data model into an
  *   appropriate form for passing to the Airavata Server Execution API Calls.
  * 
- * The Experiment data model is divided into 4 catagories, experiment metadata, experiment configuration
- *   data, experiment generated data and experiment monitoring data. 
+ * The Experiment data model is divided into 6 categories: experiment metadata, experiment configuration
+ *   data, experiment generated data, experiment monitoring data, provenance data and error handling data.
  *
  *   Experiment Metadata:
  *     this structure holds the owner of the experiment, name, description, creation and last update times,
@@ -38,18 +38,18 @@ namespace java org.apache.airavata.model.experiment
  *     this structure will contain all user provided configuration data.
  * 
  *  Experiment Generated Data:
- *     this structure descibes all intermediate and output data generated by executing the experiment.
+ *     this structure describes all intermediate and output data generated by executing the experiment.
  * 
  *  Experiment Monitoring Data:
  *     this structure contains fine grained experiment status information.
  *
  *  Experiment Summary Data: 
- *     this is dervived information from all experiment objects to provide a quick summary.
+ *     this is derived information from all experiment objects to provide a quick summary.
  *
 */
 
 /**
- * A structure holding the experiment metadata.
+ * A structure holding the basic experiment metadata.
  *
  * userName:
  *   The user name of the targeted gateway end user on whose behalf the experiment is being created.
@@ -64,44 +64,31 @@ namespace java org.apache.airavata.model.experiment
  * experimentDescription:
  *    The verbose description of the experiment. This is an optional parameter.
 */
-struct ExperimentMetadata {
+struct BasicMetadata {
   1: required string userName,
   2: required string experimentName,
   3: optional string experimentDescription,
   4: optional bool shareExperimentPublicly = 0
 }
 
-
-
 /**
  * A structure holding the experiment configuration.
  *
  *
 */
-struct ExperimentConfigurationData {
-  1: optional ExperimentMetadata expMetadata,
-  2: optional map<string,string> workflowInputs,
-  3: optional ComputationalResourceScheduling computationalResourceScheduling,
-  4: optional InputDataHandling inputDataHandling,
-  5: optional OutputDataHandling OutputDataHandling,
-  6: optional bool cleanUpAfterJob = 0
-}
-
-
-/**
- * A structure holding the required Security Information to execute experiments.
- *
- * airavataCredStoreToken:
- *   A requirement to execute experiments within Airavata is to first register the targeted remote computational account
- *     credentials with Airavata Credential Store. The administrative API (related to credential store) will return a 
- *     generated token associated with the registered credentials. The client has to securely posses this token id and is
- *     required to pass it to Airavata Server for all execution requests.
-*/
-struct ExecutionSecurityParameters {
-  1:optional string airavataCredStoreToken
+struct ConfigurationData {
+  1: optional BasicMetadata basicMetadata,
+  2: optional string applicationId,
+  3: optional string applicationVersion,
+  4: optional string workflowTemplateId,
+  5: optional string worklfowTemplateVersion,
+  6: optional map<string,string> experimentInputs,
+  7: optional ComputationalResourceScheduling computationalResourceScheduling,
+  8: optional AdvancedInputDataHandling advanceInputDataHandling,
+  9: optional AdvancedOutputDataHandling advanceOutputDataHandling,
+  10: optional QualityOfServiceParams qosParams
 }
 
-
 /**
  * A structure holding the Computational Resource Scheduling.
  *
@@ -124,17 +111,29 @@ struct ComputationalResourceScheduling {
  * A structure holding specified input data handling.
  *
 */
-struct InputDataHandling {
+struct AdvancedInputDataHandling {
     1:optional bool stageInputFilesToWorkingDir = 0,
-    2:optional string WorkingDirectory
+    2: optional string workingDirectoryParent,
+    3: optional string uniqueWorkingDirectory,
+    4: optional bool cleanUpWorkingDirAfterJob = 0
 }
 
 /**
  * A structure holding specified output data handling.
  *
 */
-struct OutputDataHandling {
+struct AdvancedOutputDataHandling {
     2:optional string outputdataDir,
     3:optional string dataRegistryURL,
     4:optional bool persistOutputData = 1
 }
+
+/**
+ * A structure holding Quality of Service Parameters.
+ *
+*/
+struct QualityOfServiceParams {
+    1:optional string startExecutionAt,
+    2:optional string executeBefore,
+    3:optional i32 numberofRetries,
+}