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.

Prom 6: import files

fatcatfatcat Posts: 8
edited February 2011 in - Development
Hi,

my name is Stefan and I'm a student in informatics. For my bachelor thesis i've to develop a plugin for Prom. My problem is, that I need a way to import config files, which are "normal" xml files. Is there a way to do this? Should I write a importplugin? 

Greets
Stefan
Post edited by fatcat on
Tagged:

Comments

  • jcbosejcbose Posts: 37
    Hi Stefan,

    There is no "generic" way to do this (as the semantics of your XML file is not known). However, you have three options to fulfill your requirements
    (i) create an import plugin in ProMImport to generate an MXML file that can be used in ProM6.0
    (ii) create an import plugin in ProM 6.0 and generate an object that your analysis plugin in ProM 6 can handle
    (iii) translate the XML contents into a database and use XESame to create an XES file

    Hope this helps.

    Best Regards,
    JC
  • WiebeWiebe Posts: 13
    edited February 2011
    Hi Stefan, I recently did what you are asking and opted for the second
    method JC has suggested.

    In case you go this path too and you need an example of an import
    pluging for importing a self-defined XML file in ProM 6.0, you can look
    at the way MXML and XES logs are imported, in the Log package:


    Packages\Log\Trunk\src\org\processmining\plugins\log\OpenLogFilePlugin.java

    This uses the OpenXES-1.5 library, parsing is done through SAX in this
    case. For me this was a good example.
    http://www.xes-standard.org/openxes/download



    Also make sure you have looked here:
    https://svn.win.tue.nl/trac/prom
    https://svn.win.tue.nl/trac/prom/wiki/GettingStarted



    Hope this helps too. Good luck.

    Regards,
    Wiebe


    Post edited by Wiebe on
  • Hi,

    thx for your answers especially Wiebe, this is exactly what I'm searching for. I searched for an example but I can't find one. I also think that the scond option is the best for me.

    Stefan
  • robrob Posts: 1


    Hi,


    @jcbose: I noticed that you didn't mention the option of

    (iv) create an import plugin [in ProM | in ProMImport] to generate an XES file that can be used in ProM6.0


    I'm asking from a developer's point of view: If I prefer XES over MXML, what
    is the preferred way for writing an import plugin to convert proprietary log formats to XES in ProM6? Or is this considered unnecessary now, as
    option
    (ii) create an import plugin in ProM 6.0 and generate an object that your analysis plugin in ProM 6 can handle
    .
    is now the preferred way of doing this, skipping the intermediary XES format?

    Thanks in advance
    best regards,
    Robert

  • JBuijsJBuijs Posts: 914
    Dear Robert,

    You pose an interesting question.

    In the case that your proprietary log format contains events, and therefore is an event log, then we strongly recommend to convert it to either MXML or XES. Why? If you convert it you get access to all the ProM plug-ins that can handle event logs. If you don't than you would need to write plug-ins yourself to handle your proprietary log format and do the stuff you need.

    Options (i) Create ProM Import plug-in and (iii) use XESame (or Nitro) both result in an event log in either the MXML or XES format. Option (iii) requires no programming but therefore has more 'restrictions' in conversion possibilities than option (i), which requires some programming in Java.
    Option (iv), create a ProM 6 import plugin that converts the log to XES, could be seen as an extension of (i) where you use the ProM 6 framework instead of the ProM Import framework.
    Option (ii), create a ProM 6 import plug-in and generate your proprietary object, is not recommended for the reasons mentioned above.

    So, you have in essence 2 options: either write Java code in the ProM Import or ProM 6 framework or use existing tools (XESame, Nitro, ProM Import plug-ins) to convert your log to MXML or XES.

    Furthermore, XES is preferred over MXML for several, technical, reasons. Consider XES as MXML 2.0 where the lessons learned from MXML are used to improve the format. ProM 6 can read both MXML and XES and can convert logs between both formats. ProM 5.2 can only read MXML (which shouldn't be a problem, just use ProM 6 to convert the log).

    I hope this answers your question Robert!
    Joos Buijs

    Senior Data Scientist and process mining expert at APG (Dutch pension fund executor).
    Previously Assistant Professor in Process Mining at Eindhoven University of Technology
  • engelengel Posts: 3

    Dear Joos,

    Thank you for your detailed answer. The solution to our problem turned out to be quite simple. Instead of converting the proprietary logs to MXML or XES, we are going to write a plug-in for ProM 6 that provides an XLog object directly - thus skipping the intermediary XES XML representation.

    Thanks again,
    best regards
    Robert
Sign In or Register to comment.