1 /*
2 * Copyright 2010 Fraunhofer Gesellschaft, Munich, Germany,
3 * for its Fraunhofer Institute for Computer Architecture and Software
4 * Technology (FIRST), Berlin, Germany. All rights reserved.
5 * http://www.first.fraunhofer.de/
6 */
7
8 package net.kwfgrid.gwes;
9
10 public class Constants {
11
12 //////////////////////////////////////////////////
13 // Declaration general strings
14 //////////////////////////////////////////////////
15
16 /** true */
17 public static final String TRUE = "true";
18
19 /** false */
20 public static final String FALSE = "false";
21
22 //////////////////////////////////////////////////
23 // Declaration of property names of system properties and workflow properties (gwes.properties).
24 //////////////////////////////////////////////////
25
26 /** version of gwes */
27 public static final String PROP_SYSTEM_GWES_VERSION = "net.kwfgrid.gwes.version";
28
29 /**
30 * default time period in milliseconds after which COMPLETED or TERMINATED workflows are removed from memory.
31 */
32 public static final String PROP_SYSTEM_GWES_WORKFLOW_EXPIRYTIME_MEMORY = "gwes.workflow.expirytime.memory";
33
34 /**
35 * default time period in milliseconds after which COMPLETED or TERMINATED workflows are removed from database and
36 * file systems.
37 */
38 public static final String PROP_SYSTEM_GWES_WORKFLOW_EXPIRYTIME_DATABASE = "gwes.workflow.expirytime.database";
39
40 /**
41 * Time period in ms for sleeping between two cycles if the workflow did not change.
42 * A higher number reduces the CPU load of the GWES but slows down the workflow processing.
43 * After a modification or change of state the workflow sleep time is set to sleeptime.min
44 * and is doubled between each workflow processing cycle until it reaches sleeptime.max.
45 * Sleeptime.min should be in the same range as the shortest duration of a remote workflow activity.
46 */
47 public static final String PROP_SYSTEM_WORKFLOW_SLEEPTIME_MIN = "gwes.workflow.sleeptime.min";
48 public static final String PROP_SYSTEM_WORKFLOW_SLEEPTIME_MAX = "gwes.workflow.sleeptime.max";
49
50 /**
51 * Class with implementation of activity plugin, e.g., gwes.activity.soap.class=...
52 */
53 public static final String PROP_SYSTEM_GWES_ACTIVITY_ = "gwes.activity.";
54 public static final String PROP_SYSTEM_GWES_ACTIVITY__CLASS = ".class";
55
56 /**
57 * Default analysis method for new workflows.
58 * You can override this property for each workflow by means of the workflow property "workflow.analysis".
59 * <pre>
60 * karp-miller (default) - invoke Karp-Miller-Tree analysis to detect dead places etc.
61 * false - switch off workflow analysis.
62 * true - switch on default workflow analysis.
63 * </pre>
64 */
65 public static final String PROP_SYSTEM_GWES_WORKFLOW_ANALYSIS = "gwes.workflow.analysis";
66
67 /**
68 * use gwes.ganglia.enabled=true in order to send statistics about workflows and activities from GWES to Ganglia
69 * this configuration is used only for SENDING information to Ganglia, not for retrieving information!
70 */
71 public static final String PROP_SYSTEM_GWES_GANGLIA_ENABLED = "gwes.ganglia.enabled";
72
73 /** path to gmetric, e.g., "/usr/bin/gmetric" */
74 public static final String PROP_SYSTEM_GWES_GANGLIA_GMETRIC = "gwes.ganglia.gmetric";
75
76 /** only needed for ganglia version < 3.0.0 */
77 public static final String PROP_SYSTEM_GWES_GANGLIA_MULTICAST_CHANNEL = "gwes.ganglia.multicast.channel";
78
79 /** only needed for ganglia version < 3.0.0 */
80 public static final String PROP_SYSTEM_GWES_GANGLIA_MULTICAST_PORT = "gwes.ganglia.multicast.port";
81
82 /** only needed for ganglia version < 3.0.0 */
83 public static final String PROP_SYSTEM_GWES_GANGLIA_MULTICAST_INTERFACE = "gwes.ganglia.multicast.interface";
84
85 /**
86 * default timeout for invocation of activities in milliseconds.
87 * gwes.activity.timeout.running includes the duration of the states RUNNING and ACTIVE (including idle time).
88 * You may override this timeout by setting <property name="timeout.running">...</property>
89 * as child of <transition>
90 */
91 public static final String PROP_SYSTEM_GWES_ACTIVITY_TIMEOUT_RUNNING = "gwes.activity.timeout.running";
92
93 /**
94 * gwes.activity.timeout.active includes the duration of the states ACTIVE only (only processing time).
95 * You may override this timeout by setting <property name="timeout.active">...</property>
96 * as child of <transition>
97 */
98 public static final String PROP_SYSTEM_GWES_ACTIVITY_TIMEOUT_ACTIVE = "gwes.activity.timeout.active";
99
100 /**
101 * Maximum number of attempts for invoking an activity related with this workflow.
102 * The workflow property PROP_ACTIVITY_MAXATTEMPS may override this value.
103 */
104 public static final String PROP_SYSTEM_GWES_ACTIVITY_MAXATTEMPTS = "gwes.activity.maxattempts";
105
106 /**
107 * If set to "true", then the GWES uses one local Globus Toolkit credential proxy for all workflows,
108 * e.g., generated with "gwes-grid-proxy-init.sh". The location of the proxy file can be defined in cog.properties.
109 * Use this method only for private GWES installations behind a firewall.
110 */
111 public static final String PROP_SYSTEM_GWES_CREDENTIAL_DEFAULT_CERTIFICATE = "gwes.credential.default.certificate";
112
113 /**
114 * If set to "true", then the user delegates his user credential with the userId each time when he initializes
115 * a new workflow, e.g., using the GWES Command Line Interface (CLI) (GWESClient.sh -credential) or the GWES
116 * portlets.
117 * Remark: this feature does not work when uploading workflows via the GWES servlets.
118 */
119 public static final String PROP_SYSTEM_GWES_CREDENTIAL_WORKFLOW_CERTIFICATE = "gwes.credential.workflow.certificate";
120
121 /**
122 * Internal base url of the gwes used for communication within a firewall (e.g. from Servlets).
123 */
124 public static final String PROP_SYSTEM_GWES_SERVICE_BASE_URL_INTERNAL = "gwes.service.base.url.internal";
125
126 /**
127 * External base url of the gwes used for communication from outside a firewall (e.g. from an Applet).
128 * The translation from external to internal URL is normally done by port forwarding, e.g. by Apache.
129 */
130 public static final String PROP_SYSTEM_GWES_SERVICE_BASE_URL_EXTERNAL = "gwes.service.base.url.external";
131
132 /**
133 * URI of graphviz service provided by LinuxToolbox for graph layout.
134 */
135 public static final String PROP_SYSTEM_GRAPHVIZ_SERVICE_URI = "graphviz.service.uri";
136
137 /** geometry of the java workflow montitor applet */
138 public static final String PROP_SYSTEM_GWUI_GEOMETRY = "gwui.geometry";
139
140 /** path to load the GWorkflowDL XSD files from. */
141 public static final String PROP_SYSTEM_GWORKFLOWDL_XSD_PATH = "gworkflowdl.xsd.path";
142
143 /** turn XML schema validation on or off.*/
144 public static final String PROP_SYSTEM_GWORKFLOWDL_XML_VALIDATION = "gworkflowdl.xml.validation";
145
146 /** Implementation of net.kwfgrid.gwes.operationmapper.OperationMapper that maps Red to Yellow operations */
147 public static final String PROP_SYSTEM_GWES_OPERATIONMAPPER_RED2YELLOW_CLASS = "gwes.operationmapper.red2yellow.class";
148
149 /** Implementation of net.kwfgrid.gwes.operationmapper.OperationMapper that maps Yellow to Blue operations */
150 public static final String PROP_SYSTEM_GWES_OPERATIONMAPPER_YELLOW2BLUE_CLASS = "gwes.operationmapper.yellow2blue.class";
151
152 /** Implementation of net.kwfgrid.gwes.operationmapper.OperationMapper that maps Blue to Green operations */
153 public static final String PROP_SYSTEM_GWES_OPERATIONMAPPER_BLUE2GREEN_CLASS = "gwes.operationmapper.blue2green.class";
154
155 /** Implementation of net.kwfgrid.gwes.ProvenanceHandler */
156 public static final String PROP_SYSTEM_GWES_PROVENANCE_HANDLER_CLASS = "gwes.provenancehander.class";
157
158 /** Implementation of net.kwfgrid.gwes.GWESLogger */
159 public static final String PROP_SYSTEM_GWES_LOGGER_CLASS = "gwes.logger.class";
160 public static final String PROP_SYSTEM_GWES_LOGGER_CLASS_DEFAULT = "net.kwfgrid.gwes.GWESBasicLogger";
161
162 /**
163 * Enable automatic workflow persistence (true/false). You can override this property by means of the workflow
164 * property "workflow.persistence".
165 * ///ToDo: Include also "token.data.persistence" to define, if data token values should be put into database.
166 */
167 public static final String PROP_SYSTEM_WORKFLOW_PERSISTENCE = "workflow.persistence";
168
169 /** Base URL to the eXist DB SOAP interface for storing workflows. */
170 public static final String PROP_SYSTEM_WORKFLOW_REPOSITORY_URL = "workflow.repository.url";
171
172 /** User name for the eXist DB */
173 public static final String PROP_SYSTEM_WORKFLOW_REPOSITORY_USER = "workflow.repository.user";
174
175 /** Password for the eXist DB */
176 public static final String PROP_SYSTEM_WORKFLOW_REPOSITORY_PASSWORD = "workflow.repository.password";
177
178 /**
179 * Name of the XML database collection, which contains the resource descriptions
180 * to be used during the resource matching process
181 */
182 public static final String PROP_SYSTEM_RESOURCE_REPOSITORY_DGRDL_COLLECTION = "resource.repository.dgrdl.collection";
183
184 /** URL to the resource matcher service */
185 public final static String PROP_RESOURCE_RESMATCH_SERVICE_URL = "resource.resmatch.service.url";
186
187 /**
188 * Minimum quality a hardware must have in order to be considered for job submission.
189 * quality = e.g. number cpus / load (depends on scheduler implementation).
190 * 1 = idle, 0 = occupied
191 */
192 public static final String PROP_SYSTEM_RESOURCE_PRORATER_MIN_QUALITY = "resource.prorater.min_quality";
193
194 /**
195 * Period in milliseconds between two assignments to the same hardware.
196 * This number should be bigger than ResourceUpdater.period in ResourceUpdater.properties.
197 */
198 public static final String PROP_SYSTEM_RESOURCE_PRORATER_WAIT = "resource.prorater.wait";
199
200 /**
201 * Time interval in milliseconds for gathering enabled transitions from all workflows for scheduling them together.
202 */
203 public static final String PROP_SYSTEM_RESOURCE_PRORATER_INTERVAL = "resource.prorater.interval";
204
205 /**
206 * Depricated: Service URL of K-Wf Grid Scheduler.
207 * @deprecated
208 */
209 public static final String PROP_SYSTEM_SCHEDULER_SERVICE_URL = "net.kwfgrid.scheduler.service.url";
210
211 /**
212 * Deprecated: Service URL of WCT.
213 * @deprecated
214 */
215 public static final String PROP_SYSTEM_WCT_SERVICE_URL = "net.kwfgrid.wct.service.url";
216
217 //////////////////////////////////////
218 // workflow properties
219 //////////////////////////////////////
220
221 /** Number of completed activities within this workflow (e.g. for progress bar). */
222 public static final String PROP_ACTIVITIES_COMPLETED = "activitiesCompleted";
223
224 /** Number of terminated activities within this workflow */
225 public static final String PROP_ACTIVITIES_TERMINATED = "activitiesTerminated";
226
227 /**
228 * Maximum number of attempts for invoking an activity related with this workflow.
229 * The property PROP_TRANSITION_ACTIVITY_MAXATTEMPTS may override this value.
230 */
231 public static final String PROP_ACTIVITY_MAXATTEMPTS = "activity.maxattempts";
232
233 /** Time of the initialization of this workflow (in milliseconds since 1970) */
234 public static final String PROP_BIRTHDAY_MS = "birthdayMs";
235
236 /** Workflow Analysis: measure for the Karp-Miller-Tree complexity of this workflow */
237 public static final String PROP_COMPLEXITY = "complexity";
238
239 /**
240 * Workflow Analysis: This workflow contains a decision
241 * (e.g., a conflict where two transitions compete for the same token). Conditions which
242 * resolve the decision are not regarded.
243 * <pre>
244 * "TAKE_CONFLICT" if input place contains only one token
245 * "TAKE_CHOICE" if input place contains more than one token
246 * "PUT_CONFLICT" if output place has capacity for only one more token
247 * "PUT_CHOICE" if output place has capacity for more than one token
248 * </pre>
249 */
250 public static final String PROP_DECISION_ = "decision.";
251
252 /** Class of application domain of this workflow (for WCT). */
253 public static final String PROP_DOMAIN = "domain";
254
255 /** The distiguished name of the workflow owner's credential. */
256 public static final String PROP_DN = "DN";
257
258 /** Duration in milliseconds status being undefined and not yet initialized. */
259 public static final String PROP_DURATION_UNDEFINED_MS = "durationUndefinedMs";
260
261 /** Duration in milliseconds status being initiated and not running. */
262 public static final String PROP_DURATION_INITIATED_MS = "durationInitiatedMs";
263
264 /** Duration in milliseconds status being running (not including active). */
265 public static final String PROP_DURATION_RUNNING_MS = "durationRunningMs";
266
267 /** Duration in milliseconds status being active. */
268 public static final String PROP_DURATION_ACTIVE_MS = "durationActiveMs";
269
270 /** Duration in milliseconds status being suspended. */
271 public static final String PROP_DURATION_SUSPENDED_MS = "durationSuspendedMs";
272
273 /** Total workflow duration in milliseconds. */
274 public static final String PROP_DURATION_TOTAL_MS = "durationTotalMs";
275
276 /** Time of the completion or termination of this workflow (in milliseconds since 1970). */
277 public static final String PROP_END_TIME_MS = "endTimeMs";
278
279 /** Beginning of string with critical error message. */
280 public static final String PROP_ERROR_ = "error.";
281
282 /**
283 * <pre>
284 * "abortOnActivityTerminated" (default)
285 * "continueOnActivityTerminated"
286 * "suspendOnActivityTerminated"
287 * </pre>
288 */
289 public static final String PROP_FAULT_MANAGEMENT_POLICY = "faultManagementPolicy";
290
291 /**
292 * <pre>
293 * "true" if workflow is unbounded (e.g., may have infinit loop)
294 * "false" if workflow is bounded
295 * </pre>
296 */
297 public static final String PROP_IS_UNBOUNDED = "isUnbounded";
298
299 /**
300 * Stores the sequence of transitions. The format is the ID of the transition
301 * followed by a space.
302 */
303 public static final String PROP_OCCURRENCE_SEQUENCE = "occurrence.sequence";
304
305 /**
306 * <pre>
307 * "true" (default) - use fault tolerance mechanism to restart failed activities
308 * "false"
309 * </pre>
310 * @deprecated use maxattempts instead!
311 */
312 public static final String PROP_REDISTRIBUTION_OF_FAILED_ACTIVITIES = "redistributionOfFailedActivities";
313
314 /**
315 * If set to "true", then all activities triggered by transition occurrences are only simulated and not executed in
316 * real. Default value is "false".
317 * /// ToDo: implement
318 * /// ToDo: docu in FAQ and known issues
319 */
320 public static final String PROP_SIMULATION = "simulation";
321
322 /**
323 * <pre>
324 * "UNDEFINED"
325 * "INITIATED"
326 * "RUNNING"
327 * "SUSPENDED"
328 * "ACTIVE"
329 * "TERMINATED"
330 * "COMPLETED"
331 * "FAILED"
332 * </pre>
333 */
334 public static final String PROP_STATUS = "status";
335
336 /**
337 * String with the userID of the user who initiated the workflow. The userID may contain the client login name of
338 * the user or the distinguished name (DN) of his X509 certificate when using TLS.
339 */
340 public static final String PROP_USER_ID = "userID";
341
342 /**
343 * Beginning of string with non-critical warning message.
344 */
345 public static final String PROP_WARN_ = "warn.";
346
347 /**
348 * Type of analysis that should be invoked when initializing new workflows.
349 * <pre>
350 * "karp-miller" (default) - invoke Karp-Miller-Tree analysis to detect dead places etc.
351 * "false" - switch off workflow analysis.
352 * "true" - switch on default workflow analysis.
353 * </pre>
354 */
355 public static final String PROP_WORKFLOW_ANALYSIS = "workflow.analysis";
356
357 /**
358 * Type of workflow description this workflow has been converted from.
359 * Example: "GWorkflowDL version 2.0".
360 */
361 public static final String PROP_WORKFLOW_CONVERTED_FROM = "convertedFrom";
362
363 /** Defined as number of edges divided by number of places and transitions. */
364 public static final String PROP_WORKFLOW_BRANCHINGFACTOR = "workflow.branchingFactor";
365
366 /** Defined as the sum of the total activity duration of all activities (in milliseconds). */
367 public static final String PROP_WORKFLOW_SEQUENTIAL_EXECUTION_PATH_SIZE_MS = "workflow.sequentialExecutionPathSizeMs";
368
369 /**
370 * Defined as the sequential execution path size divided by the active workflow duration. Does not consider the time
371 * used in workflow status running, initiated, suspended, etc.
372 */
373 public static final String PROP_WORKFLOW_SPEEDUP_ACTIVE = "workflow.speedupActive";
374
375 /**
376 * Defined as the sequential execution path size divided by the makespan. The makespan is defined as the
377 * total workflow duration.
378 */
379 public static final String PROP_WORKFLOW_SPEEDUP_TOTAL = "workflow.speedupTotal";
380
381 /**
382 * <pre>
383 * "true" (default) - store workflows in database
384 * "false" - do not store workflows in database
385 * </pre>
386 */
387 public static final String PROP_WORKFLOW_PERSISTENCE = "workflow.persistence";
388
389 //////////////////////////////////////////////////
390 // ToDO: workflow properties not yet documented in FAQ
391 //////////////////////////////////////////////////
392
393 public static final String PROP_LEVEL = "level";
394 public static final String PROP_WORKFLOW_RUNTIME_VERSION = "workflow.runtime.version";
395 public static final String PROP_WORKFLOW_PROBABILITY = "workflow.probability";
396 public static final double PROP_WORKFLOW_PROBABILITY_DEFAULT = 1d;
397
398 /**
399 * Minimum threshold value of the probability of a workflow.
400 * Workflows with lower probability are not considered for scheduling analysis.
401 * Default value is 0.01 = 1%
402 */
403 public static final String PROP_WORKFLOW_PROBABILITY_MIN = "workflow.probability.min";
404 public static final double PROP_WORKFLOW_PROBABILITY_MIN_DEFAULT = 0.01d;
405
406 //////////////////////////////////////
407 // transition properties
408 //////////////////////////////////////
409
410 /** depricated. use yellow2blue.refinement.failed instead */
411 public static final String PROP_TRANSITION_AAB_REFINEMENT_FAILED = "aab.refinement.failed";
412
413 /**
414 * <pre>
415 * "true": A activity related to this transition failed and the fault management tries to recover
416 * the failure.
417 * </pre>
418 */
419 public static final String PROP_TRANSITION_ACTIVITY_HAS_FAILED = "activityHasFailed";
420
421 /**
422 * Maximum number of attempts for invoking an activity related with this transition.
423 * The input token property PROP_TOKEN_ACTIVITY_MAXATTEMPTS may override this value.
424 */
425 public static final String PROP_TRANSITION_ACTIVITY_MAXATTEMPTS = "activity.maxattempts";
426
427 /**
428 * If a transition contains a breakpoint property, the GWES suspends the
429 * execution of the workflow when reaching the transition. The GWES then sets the property value to
430 * "REACHED". When resuming the workflow, the GWES sets the value to "RELEASED" until the
431 * breakpoint is reached again. Valid values are:
432 * <pre>
433 * empty
434 * "REACHED"
435 * "RELEASED"
436 * </pre>
437 */
438 public static final String PROP_TRANSITION_BREAKPOINT = "breakpoint";
439
440 /**
441 * The transition will generate output tokens with a "data.group" property that is a combination of the input token
442 * data groups. If, e.g., a token from one input place belongs to data.group="a" and the token from a second input
443 * place belongs to data.group="b", then the output token will get data.group="a x b".
444 * The property "combine.data.groups" contains a list of edge expressions that are subset of the input,
445 * read, or write edge expressions of the transition, e.g., set combine.data.groups="input, output" if you want to
446 * combine the data groups of the tokens connected via the edge expressions "input" and "output".
447 * Valid values:
448 * <pre>
449 * "edgeExpression1, edgeExpression2, ..."
450 * </pre>
451 */
452 public static final String PROP_TRANSITION_COMBINE_DATA_GROUPS = "combine.data.groups";
453
454 /**
455 * Maximum value of the duration in milliseconds for a activity being in status "active" regarding all activities
456 * triggered by this transition.
457 */
458 public static final String PROP_TRANSITION_DURATION_ACTIVE_MS_MAX = "durationActiveMs.max";
459
460 /**
461 * Arithmetic mean value of the duration in milleseconds of the activities being in status "active". This mean
462 * value is calculated as average over all activities triggered by this transition.
463 */
464 public static final String PROP_TRANSITION_DURATION_ACTIVE_MS_MEAN = "durationActiveMs.mean";
465
466 /**
467 * Standard deviation of durationActiveMs.mean.
468 */
469 public static final String PROP_TRANSITION_DURATION_ACTIVE_MS_STDDEVIATION = "durationActiveMs.stdDeviation";
470
471 /**
472 * Exponential smoothing of durationActiveMs.
473 */
474 public static final String PROP_TRANSITION_DURATION_ACTIVE_MS_EXPSMOOTH = "durationActiveMs.expSmooth";
475
476 /**
477 * Minimum value of the duration in milliseconds for a activity being in status "active" regarding all activities
478 * triggered by this transition.
479 */
480 public static final String PROP_TRANSITION_DURATION_ACTIVE_MS_MIN = "durationActiveMs.min";
481
482 /**
483 * Maximum value of the total activity duration in milliseconds of all activities triggered by this transition.
484 */
485 public static final String PROP_TRANSITION_DURATION_TOTAL_MS_MAX = "durationTotalMs.max";
486
487 /**
488 * Arithmetic mean value of the total activity duration in milliseconds calculated as average over all activities
489 * triggered by this transition.
490 */
491 public static final String PROP_TRANSITION_DURATION_TOTAL_MS_MEAN = "durationTotalMs.mean";
492
493 /**
494 * Standard deviation of durationTotalMs.mean.
495 */
496 public static final String PROP_TRANSITION_DURATION_TOTAL_MS_STDDEVIATION = "durationTotalMs.stdDeviation";
497
498 /**
499 * Exponential smoothing of durationTotalMs.
500 */
501 public static final String PROP_TRANSITION_DURATION_TOTAL_MS_EXPSMOOTH = "durationTotalMs.expSmooth";
502
503 /**
504 * Minimum value of the total activity duration in milliseconds of all activities triggered by this transition.
505 */
506 public static final String PROP_TRANSITION_DURATION_TOTAL_MS_MIN = "durationTotalMs.min";
507
508 /**
509 * Ignore "data.group" property from specific tokens.
510 * <pre>
511 * "read" and/or "write": Ignore "data.group" property from tokens on read and write places
512 * "control": Ingore "data.group" property from control tokens
513 * </pre>
514 */
515 public static final String PROP_TRANSITION_IGNORE_DATA_GROUPS = "ignore.data.groups";
516
517 /**
518 * Workflow Analysis: "false" if the transition will never fire
519 * <pre>
520 * "true"
521 * "false"
522 * </pre>
523 */
524 public static final String PROP_TRANSITION_IS_QUASI_LIVE = "isQuasiLive";
525
526 /** Last operation name used by this transition. */
527 public static final String PROP_TRANSITION_LAST_OPERATION_NAME = "last.operation.name";
528
529 /** Last resource name used by this transition. */
530 public static final String PROP_TRANSITION_LAST_RESOURCE_NAME = "last.resource.name";
531
532 /** Number of completed or terminated activities triggered by this transition. */
533 public static final String PROP_TRANSITION_NUMBER_ACTIVITIES = "numberActivities";
534
535 /**
536 * Priority of this transition (high number = high priority = comes first if possible!).
537 * The default priority is 0 (as defined in class TransitionPriorityComparator).
538 * @see net.kwfgrid.gwes.TransitionPriorityComparator
539 */
540 public static final String PROP_TRANSITION_PRIORITY = "priority";
541
542 /** "true" if automatic workflow refinement from red to yellow failed. */
543 public static final String PROP_TRANSITION_RED2YELLOW_REFINEMENT_FAILED = "red2yellow.refinement.failed";
544
545 /**
546 * Remove the resource.allocation.group property from the output tokens of this transition.
547 * This is used when the spacial co-scheduling should be resetted within workflows, e.g., in
548 * iterations
549 */
550 public static final String PROP_TRANSITION_REMOVE_RESOURCE_ALLOCATION_GROUP = "remove.resource.allocation.group";
551
552 /**
553 * String (without spaces) that defines the instance group to which this transition belongs to.
554 * Transitions with the same instance group that are connected by arcs are scheduled on the same
555 * resources (spacial co-scheduling).
556 */
557 public static final String PROP_TRANSITION_RESOURCE_ALLOCATION_GROUP = "resource.allocation.group";
558
559 /**
560 * depricated. use yellow2blue.refinement.failed instead.
561 */
562 public static final String PROP_TRANSITION_RESOURCEMATCHER_REFINEMENT_FAILED = "resourcematcher.refinement.failed";
563
564 /**
565 * Fault management.
566 * <pre>
567 * "true"
568 * </pre>
569 * @deprecated Use activity.maxattempts instead!
570 */
571 public static final String PROP_TRANSITION_REVERTED_TO_YELLOW = "revertedToYellow";
572
573 /**
574 * status of the last activity triggered by this transition.
575 * <pre>
576 * "UNDEFINED"
577 * "INITIATED"
578 * "RUNNING"
579 * "SUSPENDED"
580 * "ACTIVE"
581 * "TERMINATED"
582 * "COMPLETED"
583 * "FAILED"
584 * </pre>
585 */
586 public static final String PROP_TRANSITION_STATUS = "status";
587
588 /** Default value for timeout.running and timeout.active. */
589 public static final String PROP_TRANSITION_TIMEOUT = "timeout";
590
591 /** Timeout for this activity in state running or active in milliseconds (including waiting time). */
592 public static final String PROP_TRANSITION_TIMEOUT_RUNNING = "timeout.running";
593
594 /** Timeout for this activity in state active in milliseconds (not including waiting time). */
595 public static final String PROP_TRANSITION_TIMEOUT_ACTIVE = "timeout.active";
596
597 /**
598 * depricated. Use red2yellow.refinement.failed instead.
599 */
600 public static final String PROP_TRANSITION_WCT_REFINEMENT_FAILED = "wct.refinement.failed";
601
602 /** "true" if automatic workflow refinement from yellow to blue failed. */
603 public static final String PROP_TRANSITION_YELLOW2BLUE_REFINEMENT_FAILED = "yellow2blue.refinement.failed";
604
605 /**
606 * xmlns:XXX.
607 * This property maps an XML namespace prefix onto a specific namespace URI. Replace "XXX"
608 * by the namespace prefix string. The namespace prefixes defined by this property can be used
609 * within the conditions and edgeExpressions of this transition.
610 * The following namespace prefixes are predefined:
611 * <pre>
612 * xmlns:tns=[target namespace as defined in the correspondig WSDL]
613 * xmlns:gwdl="http://www.gridworkflow.org/gworkflowdl"
614 * xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"
615 * xmlns:xsd="http://www.w3.org/2001/XMLSchema"
616 * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
617 * </pre>
618 */
619 public static final String PROP_TRANSITION_XMLNS_ = "xmlns:";
620
621 //////////////////////////////////////////////////
622 // transition properties not yet documented in FAQ
623 // ToDo: Document in FAQ!
624 //////////////////////////////////////////////////
625 public static final String PROP_TRANSITION_EDITOR_POSITION_X = "editor_positionX";
626 public static final String PROP_TRANSITION_EDITOR_POSITION_Y = "editor_positionY";
627
628 /**
629 * In case of a conflict (decision) this transition is pre selected and will occurr with the highest priority.
630 * With the occurrence of this transition, this property will be removed. The value of this property is ignored.
631 */
632 public static final String PROP_TRANSITION_PRE_SELECTED = "preSelected";
633
634 //////////////////////////////////////
635 // place properties
636 //////////////////////////////////////
637
638 /**
639 * Workflow Analysis: "true" if the place will be marked when the workflow completes.
640 * <pre>
641 * "true"
642 * "false"
643 * </pre>
644 */
645 public static final String PROP_PLACE_IS_FINALLY_MARKED = "isFinallyMarked";
646
647 /**
648 * Workflow Analysis: "false" if the place can never get a token.
649 * <pre>
650 * "true"
651 * "false"
652 * </pre>
653 */
654 public static final String PROP_PLACE_IS_QUASI_LIVE = "isQuasiLive";
655
656 //////////////////////////////////////////////////
657 // place properties not yet documented in FAQ
658 // ToDo: Document in FAQ!
659 //////////////////////////////////////////////////
660 public static final String PROP_PLACE_EDITOR_POSITION_X = "editor_positionX";
661 public static final String PROP_PLACE_EDITOR_POSITION_Y = "editor_positionY";
662 public static final String PROP_PLACE_TOKEN_FORM_URLS = "token.form.urls";
663 public static final String PROP_PLACE_TOKEN_SERVLET_URLS = "token.servlet.urls";
664 public static final String PROP_PLACE_TOKEN_FORM_GEOMETRIES = "token.form.geometries";
665 public static final String PROP_PLACE_TOKEN_FORM_TITLE = "token.form.title";
666
667 //////////////////////////////////////
668 // token properties
669 //////////////////////////////////////
670
671 /**
672 * Maximum number of attempts for invoking an activity related with this input token.
673 * /// ToDo: docu in FAQ
674 */
675 public static final String PROP_TOKEN_ACTIVITY_MAXATTEMPTS = "activity.maxattempts";
676
677 /**
678 * String that identifies the group to which the data on the token belongs. If a transition has serveral input or
679 * read places it tries to group tokens with the same data.group identifier. If a token does not contain a
680 * data.group identifier, then it is treated as an arbitrary group (wild card).
681 */
682 public static final String PROP_TOKEN_DATA_GROUP = "data.group";
683
684 /**
685 * Spatial co-allocation: The property value is the resource name where the corresponding resource allocation group
686 * has been mapped onto. "XXX" denotes the identifier specified by the transition property
687 * "resource.allocation.group".
688 */
689 public static final String PROP_TOKEN_RESOURCE_ALLOCATION_GROUP_ = "resource.allocation.group.";
690
691 /**
692 * Simulation of activities: This property stores the simulated activity duration in Milliseconds.
693 * /// ToDo: implement
694 * /// ToDo: docu in FAQ and known issues
695 */
696 public static final String PROP_TOKEN_SIMULATION_DURATION_ACTIVE_MS_STEP_ = "simulation.durationActiveMs.step.";
697
698 public static final String WORKFLOW_DESCRIPTION_TYPE_DEFAULT = "GWorkflowDL version 2.1";
699 }