Updated Branches:
  refs/heads/master 361c2ff01 -> f42c75f33

partial experiment model for AIRAVATA-994


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

Branch: refs/heads/master
Commit: f42c75f33217ca19aba3d53d213cdbdc252c4649
Parents: 361c2ff
Author: Suresh Marru <[email protected]>
Authored: Tue Jan 28 16:32:29 2014 -0500
Committer: Suresh Marru <[email protected]>
Committed: Tue Jan 28 16:32:29 2014 -0500

----------------------------------------------------------------------
 modules/thrift-interfaces/airavataAPI.thrift    |   2 +-
 .../thrift-interfaces/airavataDataModel.thrift  |  29 ++++
 .../airavataDatastructures.thrift               | 133 ------------------
 .../thrift-interfaces/experimentModel.thrift    | 140 +++++++++++++++++++
 4 files changed, 170 insertions(+), 134 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/f42c75f3/modules/thrift-interfaces/airavataAPI.thrift
----------------------------------------------------------------------
diff --git a/modules/thrift-interfaces/airavataAPI.thrift 
b/modules/thrift-interfaces/airavataAPI.thrift
index 1822f30..66fbe4b 100644
--- a/modules/thrift-interfaces/airavataAPI.thrift
+++ b/modules/thrift-interfaces/airavataAPI.thrift
@@ -24,7 +24,7 @@
  *   described in respective thrift files.
 */
 
-include "airavataDatastructures.thrift"
+include "airavataDataModel.thrift"
 include "airavataErrors.thrift"
 
 namespace java org.apache.airavata.api

http://git-wip-us.apache.org/repos/asf/airavata/blob/f42c75f3/modules/thrift-interfaces/airavataDataModel.thrift
----------------------------------------------------------------------
diff --git a/modules/thrift-interfaces/airavataDataModel.thrift 
b/modules/thrift-interfaces/airavataDataModel.thrift
new file mode 100644
index 0000000..080676e
--- /dev/null
+++ b/modules/thrift-interfaces/airavataDataModel.thrift
@@ -0,0 +1,29 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+include "experimentModel.thrift"
+
+namespace java org.apache.airavata.model
+
+/*
+ * This file describes the definitions of the Airavata Execution Data 
Structures. Each of the
+ *   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.
+*/

http://git-wip-us.apache.org/repos/asf/airavata/blob/f42c75f3/modules/thrift-interfaces/airavataDatastructures.thrift
----------------------------------------------------------------------
diff --git a/modules/thrift-interfaces/airavataDatastructures.thrift 
b/modules/thrift-interfaces/airavataDatastructures.thrift
deleted file mode 100644
index 0ac5f43..0000000
--- a/modules/thrift-interfaces/airavataDatastructures.thrift
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-namespace java org.apache.airavata.datamodel
-
-/*
- * This file describes the definitions of the Airavata Execution Data 
Structures. Each of the
- *   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.
-*/
-
-/**
- * A structure holding the experiment configuration.
- *
- * userName:
- *   The user name of the targeted gateway end user on whose behalf the 
experiment is being created.
- *     the associated gateway identity can only be inferred from the security 
hand-shake so as to avoid
- *     authorized Airavata Clients mimicking an unauthorized request. If a 
gateway is not registered with
- *     Airavata, an authorization exception is thrown.
- *
- * experimentName:
- *   The name of the experiment as defined by the user. The name need not be 
unique as uniqueness is enforced
- *      by the generated experiment id.
- *
- * experimentDescription:
- *    The verbose description of the experiment. This is an optional parameter.
-*/
-struct ExperimentConfiguration {
-  1: required string userName,
-  2: required string experimentName,
-  3: optional string experimentDescription,
-  4: optional bool shareExperimentPublicly = 0
-}
-
-
-/**
- * A structure holding the experiment metadata.
- *
- * userName:
- *   The user name of the targeted gateway end user on whose behalf the 
experiment is being created.
- *     the associated gateway identity can only be inferred from the security 
hand-shake so as to avoid
- *     authorized Airavata Clients mimicking an unauthorized request. If a 
gateway is not registered with
- *     Airavata, an authorization exception is thrown.
- *
- * experimentName:
- *   The name of the experiment as defined by the user. The name need not be 
unique as uniqueness is enforced
- *      by the generated experiment id.
- *
- * experimentDescription:
- *    The verbose description of the experiment. This is an optional parameter.
-*/
-struct ExperimentMetadata {
-  1: required string userName,
-  2: required string experimentName,
-  3: optional string experimentDescription,
-  4: optional bool shareExperimentPublicly = 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
-}
-
-
-/**
- * A structure holding the Computational Resource Scheduling.
- *
-*/
-struct ComputationalResourceScheduling {
-  1:required bool airavataAutoSchedule = 1
-  2:required bool overrideManualScheduledParams = 0,
-  3:optional string resourceHostId,
-  4:optional i32 cpuCount,
-  5:optional i32 nodeCount,
-  6:optional string queueName,
-  7:optional i32 maxWalltime
-}
-
-/**
- * A structure holding specified input data handling.
- *
-*/
-struct InputDataHandling {
-    1:optional bool stageInputFilesToWorkingDir = 0
-}
-
-/**
- * A structure holding specified output data handling.
- *
-*/
-struct OutputDataHandling {
-    2:optional string outputdataDir,
-    3:optional string dataRegistryURL,
-    4:optional bool persistOutputData = 1
-}
-
-/**
- * A structure holding the configuration data of an experiment.
- *
-*/
-struct ExperimentConfigurationData {
-  1: required ComputationalResourceScheduling computationalResourceScheduling,
-  2: optional InputDataHandling inputDataHandling,
-  3: optional OutputDataHandling OutputDataHandling,
-  4: optional ExperimentMetadata experimentMetadata
-}
-
-

http://git-wip-us.apache.org/repos/asf/airavata/blob/f42c75f3/modules/thrift-interfaces/experimentModel.thrift
----------------------------------------------------------------------
diff --git a/modules/thrift-interfaces/experimentModel.thrift 
b/modules/thrift-interfaces/experimentModel.thrift
new file mode 100644
index 0000000..a5c6711
--- /dev/null
+++ b/modules/thrift-interfaces/experimentModel.thrift
@@ -0,0 +1,140 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+namespace java org.apache.airavata.model.experiment
+
+/*
+ * This file describes the definitions of the Airavata Experiment Data 
Structures. Each of the
+ *   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. 
+ *
+ *   Experiment Metadata:
+ *     this structure holds the owner of the experiment, name, description, 
creation and last update times,
+ *     last known status, and if is private to the user or shared publicly. 
+ *    FIXME: To start with, we will not define this but populate it inferring 
data from other structures. This
+ *    structure needs revisiting once the API gets used.
+ * 
+ *  Experiment Configuration Data:
+ *     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.
+ * 
+ *  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.
+ *
+*/
+
+/**
+ * A structure holding the experiment metadata.
+ *
+ * userName:
+ *   The user name of the targeted gateway end user on whose behalf the 
experiment is being created.
+ *     the associated gateway identity can only be inferred from the security 
hand-shake so as to avoid
+ *     authorized Airavata Clients mimicking an unauthorized request. If a 
gateway is not registered with
+ *     Airavata, an authorization exception is thrown.
+ *
+ * experimentName:
+ *   The name of the experiment as defined by the user. The name need not be 
unique as uniqueness is enforced
+ *      by the generated experiment id.
+ *
+ * experimentDescription:
+ *    The verbose description of the experiment. This is an optional parameter.
+*/
+struct ExperimentMetadata {
+  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
+}
+
+
+/**
+ * A structure holding the Computational Resource Scheduling.
+ *
+*/
+struct ComputationalResourceScheduling {
+  1:required bool airavataAutoSchedule = 1
+  2:required bool overrideManualScheduledParams = 0,
+  3:optional string resourceHostId,
+  4:optional i32 totalCPUCount,
+  5:optional i32 nodeCount,
+  6:optional i32 numberOfThreads,
+  7:optional string queueName,
+  8:optional i32 wallTimeLimit,
+  9:optional i32 jobStartTime,
+  10:optional i32 totalPhysicalMemory,
+  11:optional string ComputationalProjectAccount
+}
+
+/**
+ * A structure holding specified input data handling.
+ *
+*/
+struct InputDataHandling {
+    1:optional bool stageInputFilesToWorkingDir = 0,
+    2:optional string WorkingDirectory
+}
+
+/**
+ * A structure holding specified output data handling.
+ *
+*/
+struct OutputDataHandling {
+    2:optional string outputdataDir,
+    3:optional string dataRegistryURL,
+    4:optional bool persistOutputData = 1
+}

Reply via email to