Details

    • Type: New Feature New Feature
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.5
    • Component/s: workflow manager
    • Labels:
      None
    • Environment:

      from JPL's internal JIRA, pre-ASF

      Description

      We'll use this issue to keep track of the proposal for a Workflow2 architecture, supporting more complex workflows (fan-ins and fan-outs) and more fine-grained control of the underlying control and data flow models. Here is the proposal from Brian and Paul and me:

      In the new workflow model structure, a model has an execution type. cas-workflow will come standard with 4 workflow execute types implemented, but extendable so that new types can be added, current types can be extended, and even overriding of current types. The standard workflow execution types are (keep in mind that a task is considered a workflow of 1 in the new model):

      1) Sequential

      will run all containing workflows in sequence
      2) Parallel
      will run all containing workflows in parallel
      3) Subset-Parallel
      will run all containing workflows in parallel, but allowing for the case that some containing workflows may not run
      4) Ntimes
      will run all containing workflows in parallel a given number of times determined by a creation rule interface

      Properties can be added to any given workflow thus allowing for a customizable workflow type extension point.

      The default type will be 'Sequential' thus allowing for the old workflow structure to work seamlessly with the new version.

      Example xml:

      <workflow id=""> or <workflow id-ref=""> . . . the former declares that a workflow is being defined; the latter that a workflow has already been defined and is being referenced.

      additional attributes include:
      execution : valid values, by default, are the standard workflow execution types described above
      trans-in : a list of pre-Condition ids that must be met in order for the workflow to run
      trans-out : a set of post-Condition ids that must be met for successful completion of the workflow
      any attribute in the namespace 'p' : this declares a properties for the workflow that can be used to customize this workflow model's execution type
      <task id=""> or <task id-ref=""> . . . same as to the 'workflow' element except no 'execution' attribute is allowed — tasks are a specific type of workflow that is execution 'single' (the implied workflow execution type by the 'task' element).
      also allows for all previously supported child elements allowed in old workflow model

      Comments are of course, welcome.

      1. WorkflowEngine.png
        264 kB
        Chris A. Mattmann

        Issue Links

        There are no Sub-Tasks for this issue.

          Activity

          Hide
          Chris A. Mattmann added a comment -

          Note, a lot of this work exists already in the wengine-branch, but I'm filing it here so we can track progress amongst it, and the other issues I recently filed.

          Show
          Chris A. Mattmann added a comment - Note, a lot of this work exists already in the wengine-branch, but I'm filing it here so we can track progress amongst it, and the other issues I recently filed.
          Hide
          Chris A. Mattmann added a comment -
          • this will be done by 0.4
          Show
          Chris A. Mattmann added a comment - this will be done by 0.4
          Hide
          Chris A. Mattmann added a comment -

          arch figure

          Show
          Chris A. Mattmann added a comment - arch figure
          Hide
          Brian Foster added a comment -

          RE: arch figure ... t1, tN, t2, t3... lol... is that trying to show that is was sorted?... i haven't had a chance to look over all your changes to trunk workflow, but is there really 2 task queues? or is Queue Manager a queue of workflows?

          Show
          Brian Foster added a comment - RE: arch figure ... t1, tN, t2, t3... lol... is that trying to show that is was sorted?... i haven't had a chance to look over all your changes to trunk workflow, but is there really 2 task queues? or is Queue Manager a queue of workflows?
          Hide
          Chris A. Mattmann added a comment -

          haha you like that? Maybe I was using FILO prioritizer hahah. As for the queues, yeah one of them might be queue of workflows (the Queue Manager, since I haven't really gone through that one in full yet, which indicates that it's not yet done). But the TaskQuerier and Task Queue I'm pretty sure about, right?

          Show
          Chris A. Mattmann added a comment - haha you like that? Maybe I was using FILO prioritizer hahah. As for the queues, yeah one of them might be queue of workflows (the Queue Manager, since I haven't really gone through that one in full yet, which indicates that it's not yet done). But the TaskQuerier and Task Queue I'm pretty sure about, right?
          Hide
          Chris A. Mattmann added a comment -
          • all done, we are pretty much all there, thanks guys!
          Show
          Chris A. Mattmann added a comment - all done, we are pretty much all there, thanks guys!

            People

            • Assignee:
              Chris A. Mattmann
              Reporter:
              Chris A. Mattmann
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development