Known Issues

If you would like to report bugs or if you have further requests for features, please e-mail them to Andreas Hoheisel (andreas.hoheisel@first.fraunhofer.de).

NumberDescription
I2Problems when aborting huge workflows with active GRAMActivities.
I5If a workflow is recovered from a checkpoint, the activity counter that is represented by the workflow property activities.completed only counts activities which have been completed after the recover. I do not really know if this is a feature or a bug.
I6If property workflow.persistence is set to "false", then the GWES still tries to write the names of used resources to the XML database. It should be possible to switch of the database entirely.
I7GWorkflowDL 1.1: Make the Karp-Miller analysis aware of read places.
I9Token properties are not displayed within the GWUI.
I12The data grouping implementation (refer to F9) may not work if there are several concurrent transitions between the places with the initial marking and a "join" transition that groups the concurrent tokens. One solution would be to wait for matching tokens of the same data group.
I14Evaluation of edgeExpressions: edgeExpression="list/item[i/text()]" does not work as it should (refer to examples/controlflow/split-list-loop.gwdl). Problem of JDOM-XPath implementation?
I15Evaluation of condition "gwdl:ms2second(gwdl:current-dateTimeMs()) >5" does not work as it should (refer to examples/controlflow/gworkflowdl_dateTime-cron.xml). Problem of JDOM-XPath implementation?
I16Workflow pattern example "structured discriminator" does not work for multiple recurrent input tokens (refer to examples/patterns/structured-discriminator_m.gwdl). Problem: Tokens with matching data.group are only searched in transitions with the highest priority in conflicts. Possible solution: Do not terminate workflow, if no matching data.group token has been found. Continue in transitions with lower priority (related to issue I12).
I18Parsing error when parsing GWorkflfowDL which contains response of Axis 1.2 web service call within token: example error message: Cannot resolve 'soapenc:string' to a type definition for element 'nextUUIDReturn'xs (refer to examples/linuxtoolbox/generate-unique-id_completed.gwdl)
I19Problem with reservation token with resourceMatcher and read places. Can be solved by modifying the interface between the resourceMatcher and the GWES.
I21Sometimes there are problems with polling remote job status using WS-GRAM. The corresponding warning message is: "(GRAMActivity.java): warning, could not refresh status of GRAM job". Seems that the remote WSRF resource is not available any more (org.globus.wsrf.NoSuchResourceException). The error is not in responsibility of the GWES, however the fault tolerance mechanisms could be adjusted to react properly.
I22The workflow XSLT converter includes additional namespace prefix declaration in elements that do not belong to this namespace when using java 1.5 or 1.6. Seems to be an issue with XALAN and JDOM.
I23Sometimes the GWES suspends a workflow due to a Petri net conflict, however actually there is no conflict. Seems to be a problem with thread safety. The workflow can be resumed without problems.
I24WS-GRAM callback listener for GRAMActivities does not work with native Axis 1.4 libraries. Hotfix: Switch to polling by means of gwes.gram.batch=true in gwes.properties
I25RFT listener for FileTransferActivities does not work with native Axis 1.4 libraries.

Requests for Features

NumberDescription
F1Direct support of MPI in GRAMActivities
F3Make the workflow analysis optional (time consuming for big workflows)
F4CondorActivity (to get rid of CondorG)
F6Activity and workflow monitor using Google Maps and/or timeline.
F7Display also the Petri net graph of workflows in database. Currently only the graph of workflows in memory are displayed.
F10Support Globus Toolkit 4.2
F11GWES Portlets for Liferay (in addition to GridSphere)
F12Make Karp-Miller-Tree Analysis suitable for big workflows (e.g. using an iterative approach where at the beginning only part of the workflow is analyzed).
F13Integrate "interactive activities" (diploma thesis of Tilman Linden).
F14Integrate easy access to workflow data (diploma thesis of Michael Andraschek).
F16Make the fault tolerance mechanisms configurable by means of gwes.properties and workflow properties. Currently, the fault tolerance mechanism can be only switched on/off using the workflow property redistributionOfFailedActivities.
F17Implement GWES Web Service methods for setting data (tokens) on workflows during runtime, e.g.,
  • gwes.addData(String data, String workflowID, String placeID)
  • gwes.setData(String[] dataArray, String workflowID, String placeID)
  • gwes.removeData(String workflowID, String placeID)
F24Establish plugin concept for workflow activities, such as WSActivity, RFTActivity, GRAMActivity.
F25Write accounting information to audit file, e.g., using the OGF usage records format
F28When restarting a workflow using the GWES Portlets, then it should be possible to use the user credential (uploaded using MyProxy). Currently this is only implemented for initiating workflows.
F31Use myProxy user certificates in GridSphere portlet for removing workflows on remote storage. Currently the workflow data is removed using the service certificate.
F32The GWUI should display the conditions inside transitions as they are an important part of the HLPN.
F40Calculate hardware and service score (D-GRDL) for invocation of WebService method calls (WSActivity). Currently this is only done for GRAMActivitiy.
F41Implement Activity for local execution of command line programs.

Solved Issues

NumberSince VersionDescription
F2addonWorkflow Editor: An Ajax-based drag'n'drop workflow editor, which can be integrated into the GWES Servlets or Portlets is now available, however not as part of the open source distribution. Please contact andreas.hoheisel@first.fraunhofer.de if you are interested.
F442.0.1Included ResourceListServlet which lists all available resources when the GWES is connected to an D-GRDL registry (eXist database).
F432.0.1Support of TSL security between GWES clients and GWES server with client authorization using X509 certificates. For details please contact andreas.hoheisel@first.fraunhofer.de
F422.0Support of GWorkflowDL 2.0 with new generic "oc:operationCandidate" element.
I222.0Bugfix regarding activity description of transferFile service.
I202.0Bugfix: Enhanced fault management when getting back invalid XML from ResourceMatcher.
F181.1.4The GWES now implements the web service method "getActivityStatusArray" for getting information about all current activities of a workflow.
F201.1.3eThe resource matching for WebService method calls can now be done independent from the K-Wf Grid architecture by using the ResourceMatcher service (related to F19).
I171.1.3dBugfix: Web Service calls without input parameters caused NullPointerException.
I31.1.3cBugfix: Now all asynchronous activities reserve the output place by means of a reservation token. So there will not occur any wrong synchronization if output place has restricted capacity.
F391.1.3bThe GWES now supports several levels of elements for input edgeExpressions regarding Web Service activities. Example: output Token: <data><return>15</return></data> and input edgeExpression="tns:test/ns:input" results in input token <data><tns:test><ns:input>15</ns:input></tns:test></data>. If the edgeExpression ends with "*", then the original element name and namespace remains. This may be especially useful if the output XML of one Web service does not completly match the input XML format of the subsequent Web service.
F381.1.2cLogging of requests including client IP number using Apache log format.
F371.1.2bThe GWES can now automatically convert EPC Markup Language (more specific: EPML Version 1.2) to GWorkflowDL documents.
F361.1.2bLogging of occurrence sequence: By providing the workflow property "occurrence.sequence" you can now enable the logging of the occurrence sequence of the workflow, i.e., the sequence of transition IDs that have fired in the past.
I81.1.2Bugfix: Data elements are not doubled and token properties are not anymore ignored when storing tokens to XML database
F351.1.1dThe GWES now supports document style SOAP for target WebServices. In earlier versions, only RPC style SOAP was supported
F51.1.1cAll enabled blue transitions from all workflows are now gathered for common resource selection (aka scheduling). This enables the definition of priorities between workflows and reduces the traffic to the D-GRDL database significantly, increasing the scalability regarding the number of workflows which can be processed in parallel. Before, each workflow was scheduled separately.
F331.1.1cChanged condition syntax: When an input place of a transition contains multiple tokens and the transition has a condition, then the corresponding token context is now automatically selected by the GWES. In previous versions it was required to select the token manually by means of the XPath condition, e.g., $x/gwdl:token[1]="B" (means: "true" if the first token of the inputplace connected with edge expression "x" contains a "B"). The token used for the condition is now preselected by the GWES, just using the notation: $x="B". This is very useful for recurrent parameter studies.
I131.1.1cEdge expressions of readPlaces are now regarded when using the $edgeExpression" syntax for variables within XPath conditions within transitions
F291.1.1cThe transition property priority is not only used for scheduling of recurrent operations, but also for making decisions when two transitions are in conflict.
F341.1.1bConnection between Web Services and GRAM Jobs: For the data exchange between GRAM activities or other command line programs with Web Services there is now a dedicated Service that reads files in the Grid (e.g. retrieving them via RFT/GridFTP) and returns the file contents as String in order to be further processed as input parameter by other Web Services.
I41.1.1If D-GRDL database contains duplicate entries of same software instance, then doubled entries are ignored and only the executable of the first resource found is returned.
I111.1.1Bugfix: Fixed wrong parsing of control token XML. Value was always converted to "false".
F301.1.0cThe GWES can now automatically convert PNML workflows (more specific: EPNML Version 1.1) to GWorkflowDL documents.
F271.1.0bAdded SOAP method calls getAvailableOperations() and getResourceDescription() to the GWES. These methods can be used to get details about the operations which have been registered as software or services in the D-GRDL XML database.
F261.1.0bIncluded some workflow workload analysis (as proposed by S. Ostermann et al., 2008):
  • Statistics about activity durations per transition (mean value, standard deviation, min, max)
  • Sequential execution path size: Sum of total activity durations
  • Speedup total: sequential execution path size / total workflow duration
  • Speedup active: sequential execution path size / active workflow duration
F231.1.0Plugin concept for workflow refinement and mapping services, such as WCT, AAB, ResourceMatcher, Scheduler, Prorater: Use properties gwes.operationmapper.*.class in gwes.properties to define the corresponding mapping implementations.
F221.1.0Converter GWorkflowDL 1.0 to GWorkflowDL 1.1 (using XML stylesheet): Workflows are automatically converted during initialization or by invoking the script gwes/bin/gworkflowdl-converter.sh
F151.1.0GRAMActivity: The "mkdir" helper job and the real job is now scheduled in one step. This reduces the overhead (WS GRAM Protocol + PBS queue waiting time) by approx. 50 percent. Now the execution of WS GRAM jobs is done through a command line operation script that wrappes the original executable and which is specified in gwes.properties (property gwes.gram.executor.script). The execution script needs to be copied to all Grid nodes. In addition you need to create an empty directory with name activity-directory-template in the directory specified by the property gwes.gram.home.directory.
F91.1.0Group tokens which belong together. Important if you have a join in the workflow and more than one token on the input places. Solved by introducing the token group ID (token property data.group.
F81.1.0Spatial co-allocation of activities, e.g. for stateful services where two sequential method calls must be invoked on the same resource. Could be done by means of read edges or by defining activity group IDs. The resource id of previous invocations is stored as a token property.
F191.1.0GWorkflowDL 1.1: Now using the same XML elements for describing classes (oc:operationClass) of WS-GRAM jobs (was pe:programClassExecution) and WS method calls (was ws:WSClassOperation). If the WS and the GRAM job is available on the same resource, then the ID of the resource should be also the same. This would ease the creation of an abstraction layer on top of WS and GRAM jobs.
F211.1.0GWorkflowDL 1.1: Support "Read Places" which hold tokens that are processed by transitions, but where the tokens remain on the places without being consumed. This allows to model the concurrent read access to data, e.g., for shared memory or distributed file systems.
I101.0.11If a placeRef refers to a non-existent Place then a WorkflowFormatException is thrown. Before there occurred a java.lang.NullPointerException at ArrayListTransition.java
I11.0.11The property gwes.workflow.sleeptime slows down fast remote activities. Solution: Now the GWES uses a dynamic workflow sleep time which ranges from gwes.workflow.sleeptime.min to gwes.workflow.sleeptime.max.