rapidprom / rapidprom-source

Current development of the RapidProM Extension
http://www.rapidprom.org
14 stars 11 forks source link

Add operator that creates/derives source/sink place #25

Closed joosbuijs closed 7 years ago

joosbuijs commented 8 years ago

The ILP miner does not create a sink place (even with 'enforce emptiness after completion' unchecked). This results in Woflan reporting the net is not a workflow net, hence no real soundness info is available.

Adding an operator that check which transitions don't have incoming or outgoing transitions, and hence deducing where to create source/sink places would be beneficial.

I recall that we had such an operator and it did not always work, but maybe we can improve it and re-introduce it.

s-j-v-zelst commented 8 years ago

From a practical perspective this is indeed possible, however, from a theoretical perspective we can not deduce a sink place. Thus, I can imagine that if such operator did exist it might end up in models having a very low replay-fitness, even-though emptiness after completion is guaranteed.

joosbuijs commented 8 years ago

Could we make it an option for the ILP miner result? Whether or not to deduce a sink place.

joosbuijs commented 8 years ago

Side note: alignments work so either there are some assumptions made, or the final marking is stored. Might help in finding a solution.

abolt commented 8 years ago

The way alignments work in RapidProM is the following: if a final marking is provided (by the discovery algorithm), use it. Otherwise, look for a sink.

Be aware that some operators such as the ILP with "enforce empty completion" create an empty final marking, which is valid for the alignment calculation...

abolt commented 7 years ago

@joosbuijs do you still want this operator?

TaXxER commented 7 years ago

I once wrote a ProM plugin that adds pre- and post places to all unconnected transitions and also adds a silent step back, to prevent the behavior of the model being changed (only one execution of each transition would otherwise be allowed). This ofcourse doesn't turn the Petri net into a workflow net, but maybe simply having pre- and post places would be sufficient? You can find it in package org.processmining.niektax.celonis in the NiekTax package if you want to use it.

joosbuijs commented 7 years ago

Well, we should only add this operator if it is somewhat fail-proof, e.g. should work correctly.

It would be nice if Woflan could be run on ILP miner results, this is now lacking. For our course in one of the assignments, this means the ILP miner cannot be evaluated on soundness.

I agree with keeping this open until (and iff) a reliable solution is found.

s-j-v-zelst commented 7 years ago

I once looked at guaranteeing soundness with the ILP miner, together with Murat. However, since my topic is about streaming, I tried to limit my time investment. Sadly it resulted in nothing... Anyway, what are the exact requirements for woflan in order to be able to analyze a net? I can check whether we can guarantee those requirements in some way.

joosbuijs commented 7 years ago

I asked Eric, this is his reply: De eerste check is of het net een WF net is, dus een net met een enkele source place, een enkele sink place, en waarvan elke node op een pad ligt tussen die source en sink place.

De ILP Miner geeft typisch een net zonder sink places. Dat zijn dus geen WF nets.

Repareren hiervan kan op een generieke manier door aan elke trace een kunstmatig end event toe te voegen, en later die de transitie die overeenkomt met dit event uit het net te verwijderen. Maar of RapidProM dez eoperatoren heeft?

Groeten,

Eric.

Or, in English/short: the first check is source/sink (=WF net), The proposed fix would be to add an aritifical end event to each trace, so this would be an easy operator to add which allows us to then run Woflan as usual.

joosbuijs commented 7 years ago

Additional comment through Eric: of course the (sink) transition also needs to be removed from the ILP result. This trick is also used by Xixi, so the code is already there.

abolt commented 7 years ago

There is already an "Add artificial start/end event" operator in rapidprom that solves this, although I don't know if this affects the model that the ILP discovers (besides the new sink and its connections). Maybe @s-j-v-zelst can clear this up?

I dont understand eric's second comment: if we remove the sink before woflan (in the ILP miner itself) then what is the point of adding the end event? In the other hand, we cannot delete a sink place after woflan, because then we would be changing the ILP model (that may have been used for something else). Also, we cannot delete sinks on ILP models only (Woflan cannot know if the petri net provided as input was discovered using the ILP.

Eric's second suggestion would only work if the ILP is internally invoked by woflan (which is not the case)

joosbuijs commented 7 years ago

Hi all,

I asked Eric, this is his reply: De eerste check is of het net een WF net is, dus een net met een enkele source place, een enkele sink place, en waarvan elke node op een pad ligt tussen die source en sink place.

De ILP Miner geeft typisch een net zonder sink places. Dat zijn dus geen WF nets.

Repareren hiervan kan op een generieke manier door aan elke trace een kunstmatig end event toe te voegen, en later die de transitie die overeenkomt met dit event uit het net te verwijderen. Maar of RapidProM dez eoperatoren heeft?

Groeten,

Eric.

Or, in English/short: the first check is source/sink (=WF net), The proposed fix would be to add an aritifical end event to each trace, so this would be an easy operator to add which allows us to then run Woflan as usual.

Met vriendelijke groet/Kind regards,

Joos

From: S.J. van Zelst [mailto:notifications@github.com] Sent: Tuesday, October 25, 2016 8:29 To: rapidprom/rapidprom-source rapidprom-source@noreply.github.com Cc: Buijs, J.C.A.M. j.c.a.m.buijs@tue.nl; Mention mention@noreply.github.com Subject: Re: [rapidprom/rapidprom-source] Add operator that creates/derives source/sink place (#25)

I once looked at guaranteeing soundness with the ILP miner, together with Murat. However, since my topic is about streaming, I tried to limit my time investment. Sadly it resulted in nothing... Anyway, what are the exact requirements for woflan in order to be able to analyze a net? I can check whether we can guarantee those requirements in some way.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/rapidprom/rapidprom-source/issues/25#issuecomment-255948313, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AAVFN025hcHnl946QPeMu07TtAgjDAQiks5q3aG8gaJpZM4KGP-g.

joosbuijs commented 7 years ago

Joos, Bas,

Natuurlijk moet de (sink) transitie ook nog worden verwijderd uit het net dat de ILP Miner heeft ontdekt.

Dit komt overigens overeen met de truc die Xixi gebruikte om de resultaten van de ILP mIner een sink place te geven. De code is er dus al.

Groeten,

Eric.

From: Buijs, J.C.A.M. Sent: Tuesday, October 25, 2016 9:16 AM To: rapidprom/rapidprom-source reply@reply.github.com; rapidprom/rapidprom-source rapidprom-source@noreply.github.com Cc: Mention mention@noreply.github.com; Verbeek, H.M.W. H.M.W.Verbeek@tue.nl Subject: RE: [rapidprom/rapidprom-source] Add operator that creates/derives source/sink place (#25)

Hi all,

I asked Eric, this is his reply: De eerste check is of het net een WF net is, dus een net met een enkele source place, een enkele sink place, en waarvan elke node op een pad ligt tussen die source en sink place.

De ILP Miner geeft typisch een net zonder sink places. Dat zijn dus geen WF nets.

Repareren hiervan kan op een generieke manier door aan elke trace een kunstmatig end event toe te voegen, en later die de transitie die overeenkomt met dit event uit het net te verwijderen. Maar of RapidProM dez eoperatoren heeft?

Groeten,

Eric.

Or, in English/short: the first check is source/sink (=WF net), The proposed fix would be to add an aritifical end event to each trace, so this would be an easy operator to add which allows us to then run Woflan as usual.

Met vriendelijke groet/Kind regards,

Joos

From: S.J. van Zelst [mailto:notifications@github.com] Sent: Tuesday, October 25, 2016 8:29 To: rapidprom/rapidprom-source rapidprom-source@noreply.github.com<mailto:rapidprom-source@noreply.github.com> Cc: Buijs, J.C.A.M. j.c.a.m.buijs@tue.nl<mailto:j.c.a.m.buijs@tue.nl>; Mention mention@noreply.github.com<mailto:mention@noreply.github.com> Subject: Re: [rapidprom/rapidprom-source] Add operator that creates/derives source/sink place (#25)

I once looked at guaranteeing soundness with the ILP miner, together with Murat. However, since my topic is about streaming, I tried to limit my time investment. Sadly it resulted in nothing... Anyway, what are the exact requirements for woflan in order to be able to analyze a net? I can check whether we can guarantee those requirements in some way.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/rapidprom/rapidprom-source/issues/25#issuecomment-255948313, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AAVFN025hcHnl946QPeMu07TtAgjDAQiks5q3aG8gaJpZM4KGP-g.