summaryrefslogtreecommitdiff
path: root/common/Goal.idl
diff options
context:
space:
mode:
authornshankar <nshankar@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2007-03-08 23:19:18 +0000
committernshankar <nshankar@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2007-03-08 23:19:18 +0000
commite7d06756045ba737cef79217aa8ef19f7ad7b307 (patch)
treeba61079ad5acf9c24b47cbce65ea364a9fd2a2df /common/Goal.idl
parent7be287d5954253f7a27af0c34e9053643ca1cc3b (diff)
downloadATCD-e7d06756045ba737cef79217aa8ef19f7ad7b307.tar.gz
Thu Mar 8 23:17:24 UTC 2007 Nishanth Shankaran <nshankar@nospam.com>ATC_RACE
Diffstat (limited to 'common/Goal.idl')
-rw-r--r--common/Goal.idl61
1 files changed, 61 insertions, 0 deletions
diff --git a/common/Goal.idl b/common/Goal.idl
new file mode 100644
index 00000000000..428a181f6ea
--- /dev/null
+++ b/common/Goal.idl
@@ -0,0 +1,61 @@
+#ifndef GOAL_IDL
+#define GOAL_IDL
+
+#include "QoS.idl"
+#include "Time.idl"
+
+module CIAO
+{
+ module RACE
+ {
+ struct GoalCondition
+ {
+ // ID of condition (in Task Network).
+ long condID;
+
+ // Utility value (specifying importance of this goal condition).
+ long utility;
+ };
+
+ typedef sequence <GoalCondition> GoalConditions;
+
+ struct TimeConstraint
+ {
+ // ID of condition (in Task Network).
+ long condID;
+
+ // Start-by (end-by) time for this data (non-data) condition.
+ TimeValue constraint;
+ };
+
+ typedef sequence <TimeConstraint> TimeConstraints;
+
+ struct GoalStructure
+ {
+ // Universally unique ID of goal.
+ string UUID;
+
+ // Human-readable name (for debugging, not identification).
+ string name;
+
+ // Goal conditions with utility values.
+ GoalConditions goalConds;
+
+ // Start-by and end-by constraints on conditions, in relative time
+ // (relative to start of opstring to achieve this goal).
+ TimeConstraints relTimes;
+
+ // Start-by and end-by constraints on conditions, in clock time.
+ TimeConstraints absTimes;
+
+ // QoS requirements.
+ QoSSpecifications QoSRequirements;
+
+ // Expected time range for start of opstring (for achieving this goal)
+ // execution.
+ TimeWindow startWindow;
+ };
+ };
+};
+
+#endif /* GOAL_IDL */