The book Professional XSL from Wrox had some transforms for working
with Petri Nets, can't remember exactly what was being done though.
Michael Corning, whose transforms were used, has a homepage here (not
sure about current status of it)
http://authors.aspalliance.com/mcorning/ where some mention is made of
the petri nets stuff.
Cheers,
Bryan
On 9/4/06, stgn(_at_)gmx(_dot_)net <stgn(_at_)gmx(_dot_)net> wrote:
Hello
How can I find/describe patterns in a Petri net graph with XSLT?
For instance a sequence, a concurrency, AND-split, AND-join, OR-split,
OR-join or a while loop.
Below you see a Petri net model (source model) which I would like to
transform into a BPEL model (target model).
Can you tell me what the corresponding XSLT code would look like?
My problem is to find patterns in a graph representation (Petri net)
and to transform them into a tree representation (BPEL). It might be
that such a transformation is not possible with the Petri net example
given below or that the Petri net XML would need further information
(for example an attribute attached to a transition saying "this is the
start of an AND-split").
I am grateful for any hints. If you need any further information to
solve the problem, please let me know.
Regards
Sagi
--------------------
source model
--------------------
<?xml version="1.0"?>
<petrinet>
<!-- start of Petri net -->
<place id="1"></place>
<transition id="2"></transition>
<!-- upper flow of concurrency -->
<place id="10"></place>
<transition id="11"></transition>
<place id="12"></place>
<transition id="13"></transition>
<place id="14"></place>
<!-- lower flow of concurrency -->
<place id="20"></place>
<transition id="21"></transition>
<place id="22"></place>
<!-- end of Petri net -->
<transition id="3"></transition>
<place id="4"></place>
<!-- arcs connecting places and transitions -->
<arc>
<from>1</from>
<to>2</to>
</arc>
<!-- next 2 arcs define an AND-split -->
<arc>
<from>2</from>
<to>10</to>
</arc>
<arc>
<from>2</from>
<to>20</to>
</arc>
<!-- upper flow of concurrency -->
<arc>
<from>10</from>
<to>11</to>
</arc>
<arc>
<from>11</from>
<to>12</to>
</arc>
<arc>
<from>12</from>
<to>13</to>
</arc>
<arc>
<from>13</from>
<to>14</to>
</arc>
<!-- lower flow of concurrency -->
<arc>
<from>20</from>
<to>21</to>
</arc>
<arc>
<from>21</from>
<to>22</to>
</arc>
<!-- next 2 arcs define an AND-join -->
<arc>
<from>14</from>
<to>3</to>
</arc>
<arc>
<from>22</from>
<to>3</to>
</arc>
<arc>
<from>3</from>
<to>4</to>
</arc>
</petrinet>
--------------------
target model
--------------------
<?xml version="1.0"?>
<process>
<sequence>
<invoke name="2"/>
<flow>
<!-- upper flow of concurrency -->
<sequence>
<invoke name="11"/>
<invoke name="13"/>
</sequence>
<!-- lower flow of concurrency -->
<sequence>
<invoke name="21"/>
</sequence>
</flow>
<invoke name="3"/>
</sequence>
</process>
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--