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). Currently, the issues are migrated to an issue tracking system.
| Number | Description |
| I2 (-> Jira) | Problems when aborting huge workflows with active GRAMActivities. |
| I5 (-> Jira) | If 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. |
| I6 (-> Jira) | If 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. |
| I7 (-> Jira) | GWorkflowDL 1.1: Make the Karp-Miller analysis aware of read places. |
| I9 (-> Jira) | Token properties are not displayed within the GWUI. |
| I12 (-> Jira) | The 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. |
| I16 (-> Jira) | Workflow 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). |
| I18 (-> Jira) | Parsing 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) |
| I19 (-> Jira) | Problem with reservation token with resourceMatcher and read places. Can be solved by modifying the interface between the resourceMatcher and the GWES. |
| I21 (-> Jira) | Sometimes 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. |
| I22 (-> Jira) | The 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. |
| I23 (-> Jira) | Sometimes 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 maybe in workflow Applet. The workflow can be resumed without problems. |
| I24 (-> Jira) | WS-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 | .
| I25 (-> Jira) | RFT listener for FileTransferActivities does not work with native Axis 1.4 libraries. |
| I26 (-> Jira) | The internal version number of the workflow increases by 10, even if the workflow has been completed. Seems that reading workflow properties modifies the version number. |
| I27 (-> Jira) | Resolve thread-safety isssues by synchronizing properly on the workflow object (refer to setWorkflowDescription()). |
| I28 (-> Jira) | OperationMapper, such as the ResourceMatcher, should not set whole workflow, they should only update the corresponding Operations! |
| I29 (-> Jira) | WSActivity has problems with some python-based Web Services, that require the SOAP-Action field in the HTTP header (refer request of TextGrid). The SOAP-Action field should contain wsdl:definitions/wsdl:binding/wsdl:operation/soap:operation/@saopAction. |
| I30 (-> Jira) | ResourceMatcher issue with resource allocation group: Message "No hardware resource found that satisfies all transitions of resource allocation group..." is thrown by Workflow.java when operationClass is not set within a transition but has a resource.allocation.group. |
| I31 (-> Jira) | Resource co-allocation: If first transition of a resource allocation group fails or terminates, it seems that the resource allocation group is set anyway. The resource allocation group should only be set, if the invocation was sucessful. |
| Number | Description |
| F4 | CondorActivity (to get rid of CondorG) |
| F6 | Activity and workflow monitor using Google Maps and/or timeline. |
| F7 | Display also the Petri net graph of workflows in database. Currently only the graph of workflows in memory are displayed. |
| F10 | Support Globus Toolkit 4.2 |
| F11 | GWES Portlets for Liferay (replacing GridSphere portlets) |
| F12 | Make 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). |
| F13 | Integrate "interactive activities" (diploma thesis of Tilman Linden). |
| F14 | Integrate easy access to workflow data (diploma thesis of Michael Andraschek). |
| F16 (-> Jira) | Make the fault tolerance mechanisms configurable by means of gwes.properties, workflow properties as well as transition properties. Currently, the fault tolerance mechanism can be only switched on/off using the workflow property redistributionOfFailedActivities. One idea by BTS: Redistribute jobs only if the running/active duration of the activity was short in comparison with the normal execution time, as jobs often fail at the beginning. In addition resubmit on same host, if other hosts are not allowed, e.g., because of "resource.allocation.group" limits allowed hosts (request from Charite). |
| F17 | Implement GWES Web Service methods for setting data (tokens) on workflows during runtime, e.g.,
|
| F24 (-> Jira) | Establish plugin concept for workflow activities, such as WSActivity, RFTActivity, GRAMActivity. |
| F25 (-> Jira) | Write accounting information to audit file, e.g., using the OGF usage records format or RFC3881 xml files. |
| F28 | When 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. |
| F31 | Use myProxy user certificates in GridSphere portlet for removing workflows on remote storage. Currently the workflow data is removed using the service certificate. |
| F32 | The GWUI should display the conditions inside transitions as they are an important part of the HLPN. |
| F40 | Calculate hardware and service score (D-GRDL) for invocation of WebService method calls (WSActivity). Currently this is only done for GRAMActivitiy. |
| F41 (-> Jira) | Implement Activity for local execution of command line programs. |
| F45 | Support variable substitution inside tokens, e.g., replacing "$status" by the property value inside the workflow document before storing the token or sending to activities. Would be especially good to use the workflow ID inside tokens. |
| F46 (-> Jira) | Support LSF as local resource management system behind WS-GRAM. Currently only Fork or PBS is supported behind WS-GRAM. |
| F47 | Support "checkpoint" property within transitions. If a transition occurs the workflow is checkpointed before executing the activity. |
| F49 (-> Jira) | Support SGE as local resource management system behind WS-GRAM. Currently only Fork or PBS is supported behind WS-GRAM. |
| F51 (-> Jira) | Use Jira for issue tracking instead of this list of issues. |
| F52 | Versioning of GWorkflowDL documents, detecting conflicts, if workflow has been modified on server and on client side. |
| F55 | Introduce property "token.data.persistence" to configure if data tokens are persisted to the database. Currently this is done by the property "workflow.persistence". |
| F57 | Support aborting workflows using a transition. This could be implemented by making the workflow identifier accessible as token and then calling the GWES from within a transition. Maybe it should be possible to access all property values and attributes of a workflow as global variable. |
| F58 (-> Jira) | Support Web Service Activities with MTOM (Message Transmission Optimization Mechanism). (Request by Daasi GmbH). |
| F66 (-> Jira) | It should able to deploy GWES workflows as own web service with own WSDL (GWorkflowDL + GWES = WebService). Currently this can be done as work around by using the generic workflow Web Service interface of the GWES. |
| F67 | Integration of long running Web Service activities and Web Service events. Concept for calling remote Web services asynchrounsly and getting a callback notification on completion. Reaction on Events thrown by external Web Services. Refer to F13 and to WS Notification standard. |
| F68 (-> Jira) | Connection of the GWES with Apache ServiceMix. |
| F70 (-> Jira) | Speed up the status notification of asynchronous activities by using interal Java monitors, such as wait() and notify() instead of polling with increasing intervals. |
| F71 | It should be possible to generate new data.group property values for tokens, e.g., when using a token generator pattern. |
| Number | Since Version | Description |
| F2 (-> Jira) | addon | Workflow 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. |
| F56 (-> Jira) | 2.1 | Better support for WS-GRAM activities, passing PBS variables (such as required memory) to the Grid node. Use simple properties in the D-GRDL software registry as defined in the RSL syntax (aka Globus job description). Supported properties: localUserId, executable, queue, maxTime, maxWallTime, maxCpuTime, maxMemory, minMemory, jobType, count. |
| F1 (-> Jira) | 2.1 | Direct support of MPI in GRAMActivities. Use simple properties "jobType" and "count" in D-GRDL software description to pass MPI parameters to the corresponding Grid node. |
| F69 (-> Jira) | 2.1 | Statistics of the activity durations is now done for each operation/resource pair separately. Refer to the corresponding transition properties. |
| F65 (-> Jira) | 2.1 | GWorkflowDL: Token elements may now include "ID" attributes with unique identifiers for each token. This can be helpful in relation to provenance recording (refer to F64). If the token IDs are omitted then they are calculated automatically during the XML parsing. Please declare either all token IDs or none in your workflow XML. |
| F64 (-> Jira) | 2.1 | Provenance recording: If the workflow property "token.provenance" is true, then the GWES includes the provenance of all outgoing tokens by means of token properties. The implementation is part of the GWES firstCS scheduler plugin |
| F61 (-> Jira) | 2.1 | Including performance and resource consumption tests as JUnit tests, in order to measure the performance loss or gain due to changes in the source code. Example: Measuring duration and memory consumption for workflow with loop with 1,10,100,1000,10000,100000 iterations and compare it with old values from previous releases. |
| I14 (-> Jira) | 2.1 | Evaluation of edgeExpressions: edgeExpression="$list/item[ number($i) ]" is now tested and works as it should (refer to examples/controlflow/split-list-loop.gwdl). |
| I15 (-> Jira) | 2.1 | Bugfix: Evaluation of condition "gwdl:ms2second(gwdl:current-dateTimeMs()) >5" now works as it should (refer to examples/controlflow/gworkflowdl_dateTime-cron.xml). Changed signature of user-defined jaxen functions. |
| F63 (-> Jira) | 2.1 | Sub elements of element <data> should declare their own namespace or include an empty namespace declaration xmlns="". This is important, because the default for elements without namespace prefix is the gworkflowdl namespace. Correct example: <data><value xmlns="">15</value></data> |
| F48 (-> Jira) | 2.1 | Code redesign: Now using "TransitionOccurence" as data class for all information required to invoke a transition. This cleans up the structure of the GWorkflowDLHandler. |
| F62 (-> Jira) | 2.1 | All property names are now declared and documented in one central class: net.kwfgrid.gwes.Constants.java |
| F53 (-> Jira) | 2.1 | The scheduler will also consider PBS clusters with low quality if there are no other clusters with better quality if the property "resource.prorater.min_quality" is low (e.g., 0.1). |
| F60 (-> Jira) | 2.1 | Modified edge expression syntax: If output edge expressions refer to variables defined by input edge expressions, these edge expressions now require a leading "$". Example: Incoming edge with expression "i", outgoing edge with expression "$i + 1". |
| F59 (-> Jira) | 2.1 | Workflow Generator: within the package net.kwfgrid.gwes.workflowgenerator there are now classes for automatically generating workflows. Example: the class "SingleJob" generates a workflow for single jobs. Refer to test class "WorkflowGeneratorTest" for details. |
| F54 (-> Jira) | 2.1 | To avoid infinitive occurrences of a single transition, at least one input place is now required for each transition. There have been problems with transitions in the past, that only contain read places, but no input places. |
| F50 (-> Jira) | 2.1 | GWES.setWorkflowDescription to update current workflow description. Was required for Ajax-based GWES workflow editor. |
| F3 | 2.0.1b | The workflow analysis is now optional (time consuming for big workflows). Use property "gwes.workflow.analysis" in gwes.properties or "workflow.analysis" in workflows for configuration. Supported values are: "karp-miller" (default), "false", or "true". Refer FAQ for details. |
| F44 | 2.0.1 | Included ResourceListServlet which lists all available resources when the GWES is connected to an D-GRDL registry (eXist database). |
| F43 | 2.0.1 | Support of TSL security between GWES clients and GWES server with client authorization using X509 certificates. For details please contact andreas.hoheisel@first.fraunhofer.de |
| F42 | 2.0 | Support of GWorkflowDL 2.0 with new generic "oc:operationCandidate" element. |
| I22 | 2.0 | Bugfix regarding activity description of transferFile service. |
| I20 | 2.0 | Bugfix: Enhanced fault management when getting back invalid XML from ResourceMatcher. |
| F18 | 1.1.4 | The GWES now implements the web service method "getActivityStatusArray" for getting information about all current activities of a workflow. |
| F20 | 1.1.3e | The 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). |
| I17 | 1.1.3d | Bugfix: Web Service calls without input parameters caused NullPointerException. |
| I3 | 1.1.3c | Bugfix: 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. |
| F39 | 1.1.3b | The 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. |
| F38 | 1.1.2c | Logging of requests including client IP number using Apache log format. |
| F37 | 1.1.2b | The GWES can now automatically convert EPC Markup Language (more specific: EPML Version 1.2) to GWorkflowDL documents. |
| F36 | 1.1.2b | Logging 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. |
| I8 | 1.1.2 | Bugfix: Data elements are not doubled and token properties are not anymore ignored when storing tokens to XML database |
| F35 | 1.1.1d | The GWES now supports document style SOAP for target WebServices. In earlier versions, only RPC style SOAP was supported |
| F5 | 1.1.1c | All 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. |
| F33 | 1.1.1c | Changed 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. |
| I13 | 1.1.1c | Edge expressions of readPlaces are now regarded when using the $edgeExpression" syntax for variables within XPath conditions within transitions |
| F29 | 1.1.1c | The transition property priority is not only used for scheduling of recurrent operations, but also for making decisions when two transitions are in conflict. |
| F34 | 1.1.1b | Connection 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. |
| I4 | 1.1.1 | If 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. |
| I11 | 1.1.1 | Bugfix: Fixed wrong parsing of control token XML. Value was always converted to "false". |
| F30 | 1.1.0c | The GWES can now automatically convert PNML workflows (more specific: EPNML Version 1.1) to GWorkflowDL documents. |
| F27 | 1.1.0b | Added 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. |
| F26 | 1.1.0b | Included some workflow workload analysis (as proposed by S. Ostermann et al., 2008):
|
| F23 | 1.1.0 | Plugin 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. |
| F22 | 1.1.0 | Converter 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 |
| F15 | 1.1.0 | GRAMActivity: 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. |
| F9 | 1.1.0 | Group 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. |
| F8 | 1.1.0 | Spatial 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. |
| F19 | 1.1.0 | GWorkflowDL 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. |
| F21 | 1.1.0 | GWorkflowDL 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. |
| I10 | 1.0.11 | If a placeRef refers to a non-existent Place then a WorkflowFormatException is thrown. Before there occurred a java.lang.NullPointerException at ArrayListTransition.java |
| I1 | 1.0.11 | The 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. |