9 Replies Latest reply on Jan 22, 2007 1:18 PM by kukeltje

    Question: hierarchical model (graph nesting) ?

    myarrow

      Hello jBPM community

      (By way of introduction: am new to jBPM; have developed
      "actors" for ptolemy/kepler, for ex.)

      I have skimmed/read through the documentation and I cannot
      find any info supporting graph nesting / sub-graphs, other than
      a reference to BPEL support for such.

      Am I correct in assuming that at this time, hierarchical modelling
      is on the todo list ? Did I miss the appropriate documentation ?

      Maurice Yarrow
      SplashNote Systems

        • 1. Re: Question: hierarchical model (graph nesting) ?

          There is subprocess support - but it invokes another process from a node.

          If you mean having multiple "pages" that can reference each other within the same process definition, I don't think it exists. I wish it were implemented too!

          If you meant neither of these, please clarify.

          -Ed Staub
          (another newbie, trying to help - please correct if I went astray)

          • 2. Re: Question: hierarchical model (graph nesting) ?
            myarrow

            Hello Ed

            Thanks for replying.

            By graph nesting, I am asking:
            Can a discrete graph be encapsulated into a
            single reusable node component with inputs and outputs ?

            (No different than the idea of an electronic circuit which
            contains one or more integrated circuit chips, each of which
            itself contains a "sub-circuit" with input and output pins.
            Or, as in programming, where subroutine calls can be nested
            to any level.)

            If indeed, jBPM "subprocesses" constitute such a nestable
            functionality, are these only usable at the programmatic
            level or are they visually constructable with the graph
            designer, and subsequently reusable in other arbitrary
            graphs with appropriate "pin-outs" (inputs, outputs) ?

            Maurice Yarrow
            SplashNote Systems

            • 3. Re: Question: hierarchical model (graph nesting) ?
              kukeltje

              they can be separately used. Look at the testcase to see how it is done. You can currently construct the subprocesses grpahically, but then they are processes. The GPD is not ready yet for going levels deeper, back up etc...

              • 4. Re: Question: hierarchical model (graph nesting) ?
                myarrow

                Hello Kukeltje

                Thanks for the response.
                Could you please point me to the example testcase,
                to which you refer.

                Maurice

                • 5. Re: Question: hierarchical model (graph nesting) ?
                  myarrow

                  (An aside:)
                  Ronald
                  Forgive my gauche reply.
                  I'm still not used the format of this
                  emails-user-group system, and didn't
                  notice your first name till after I had
                  sent my reply on its way...

                  Maurice

                  • 6. Re: Question: hierarchical model (graph nesting) ?
                    kukeltje

                    No problem... kukeltje (wel kukel, but that was taken on AIM years ago) has been my nickname for years, so I'm used to it.

                    The testcases and examples are best seen in the source. If you look at cvs (http://fisheye.labs.jboss.com/changelog/JBPM/jbpm.3/jpdl)

                    • 7. Re: Question: hierarchical model (graph nesting) ?

                      Maurice,

                      I think you're looking for a level of metadata that's not at all present in jBPM.

                      A more general case of what you're looking for is a reusable node template, which has defined inputs and outputs that are bound in a given process definition to specific values (sometimes process variables, sometimes other things). Extending this, you might consider "stencils" (a la Visio) that are collections of such node templates that apply to a specific application domain.

                      This is all blue sky - maybe Ronald will say whether there's any work being considered in this direction.

                      You need to think carefully about whether a subprocess will do what you need. The fact that it has a separate process identity may complicate your life, depending on how you need to do things like externally monitor the process state. If you want to investigate the state of the outer process down to the states within the inner process, there's extra work involved.

                      -Ed Staub

                      • 8. Re: Question: hierarchical model (graph nesting) ?
                        myarrow

                        Hello Ed, Ronald

                        I guess I am still not clear on what is supported in the way of
                        visually defined hierarchical graph elements. So please bear
                        with me here and consider the following rewording of my question:

                        Suppose there are two (distinct, visually defined) graphs A
                        and B of arbitary complexity, the first of which, A, produces
                        some value which is required as input to the second, B.
                        Then, with jBPM, is it possible to define a new (visually defined)
                        graph: ?
                        A --> B

                        I believe this example is about as simple a case as I can concoct
                        which clearly defines my question.

                        Additionally, if the answer to the above is yes, then is it correct to
                        presume that this kind of hierarchical graph definition may be
                        continued to any depth ?

                        Maurice

                        • 9. Re: Question: hierarchical model (graph nesting) ?
                          kukeltje

                          Yes, but the GPD does not support going in and out of 'nested graphs' (yet)

                          and again... look at the testcases.