To prevent spam users, you can only post on this forum after registration, which is by invitation. If you want to post on the forum, please send me a mail (h DOT m DOT w DOT verbeek AT tue DOT nl) and I'll send you an invitation in return for an account.

Importing case and events from different files XES IEEE standard

Hi, I would like to import two files from the same log trace:
  • the first one contains only trace elements
  • the second one contains only event elements
According to IEEE standard, it should be possible, as events should no more be contained within trace elements.

I have two files because they are extracted from the source system using different queries.

Unfortunately, it's not clear - reading the specifications - how can I link an event with the trace element to which it belongs.
The concept:name attribute doesn't seem fit, as it holds - for events - the activity name/code.

I tried to have a look at the source code of XesXmlHandler, but I wasn't able to find the relevant fragment.

Can I have any pointer on this topic?
Tagged:

Comments

  • hverbeekhverbeek Posts: 455
    Dear Massimo,

    You are right that he IEEE XES standard allows for logs that directly contain events. For such 'trace-less' events, a trace classifier should be included in the log. Two 'trace-less' events belong to the same trace if the trace classifier results in the same value. If this value is identical to the concept:name of an existing trace, then the events are to be added at the back of the trace. Note that according to the standard any trace should precede any 'trace-less' event.

    Unfortunately, the OpenXES implementation does not yet support these 'trace-less' events nor does it support trace classifiers.

    A workaround for your case could be to wrap all events in the second log in a single (dummy) trace, and to provide an additional event classifier to this log which is really a trace classifier. Then you could create a ProM plug-in that reassigns the events to the proper trace of the first log based on this additional event classifier. The procedure would be like follows:
    1. Assume we have a 'trace-less' event e from the second log.
    2. Let c be the event classifier selected to act as trace classifier.
    3. The trace name for the event would then be c.getClassIdentity(e).
    4. Find the trace with the same name (concept:name) in the first log.
    5. If found, add the event at the back of this trace.
    6. Otherwise, create a trace with this concept:name, and revisit step 4.
    7. Go to the next 'trace-less' event.
    I hope this helps you a bit.

    Note that the XES standard does not really support your idea of having two logs. It does support the idea of having single log having first all empty traces and second having all events.

    Kind regards,
    Eric.
  • mcolettimcoletti Posts: 4
    Eric thanks! Your suggestions are really useful. I tried performing the import (Prom 6.8) using "Conforming log from IEEE XES" option (I was aware that OpenXES was not supporting trace-less events); reading the source I found that the parser accepts also a <log> as an <event> parent. Anyhow, I will check if it is easier to rewrite the log extraction software, or it is convenient to write a plugin according to your trace.

  • hverbeekhverbeek Posts: 455
    Dear Massimo,

    You are right about that importer: It imports the IEEE XES formatted file, which includes the 'trace-less' events. However, it then needs to map everything to the OpenXES data structure, and that is where these 'trace-less' events get lost.

    Based on your question I was thinking to extend this importer in the following way: If the log contains trace classifiers, then the first trace classifier is automatically used to determine which trace a 'trace-less' event belongs to. It then adds that event to the back of that trace. In the end, all events will be added to some trace, which fits the OpenXES data structure.

    Kind regards,
    Eric.
  • hverbeekhverbeek Posts: 455
    Dear Massimo,

    This has now been added to the ProM Nightly Build. Updates to install are XESStandard 6.10.122 and XESStandardConnector 6.10.16. As mentioned, the log needs a trace classifier for this to work, but then it will automatically add these 'trace-less' events to the proper traces.

    Kind regards,
    Eric.
  • mcolettimcoletti Posts: 4
    Ok, I will try it
  • Eric, for your information I have changed the software that parses the SAP db and creates the logs, producing a single log with traces and nested attributes. Anyhow I will test also the functionality of XESStandardConnector 6.10.16 with separate files.
Sign In or Register to comment.