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.

how to run DirectlyFollowsModelMiner in eclipse

I downloaded DirectlyFollowsModelMiner from https://svn.win.tue.nl/repos/prom/Packages/DirectlyFollowsModelMiner/Trunk/. How can I run it in eclipse

Comments

  • l0ganl0gan Posts: 8
    I have checkedout DirectlyFollowsModelMiner from SVN (url:https://svn.win.tue.nl/repos/prom/Packages/DirectlyFollowsModelMiner/), but still miss some jar packages.
    1.png 92.9K
  • hverbeekhverbeek Posts: 782
    HI,

    First, please make sure you have the IvyDE add-on installed, in Eclipse, see https://svn.win.tue.nl/trac/prom/wiki/Contribute. Once you have that add-on installed, it will resolve all dependencies automatically.

    Second, the project contains two launch files in the root folder: "ProM with UITopia (DirectlyFollowsModelMiner).launch" and "ProM Package Manager (DirectlyFollowsModelMiner).launch". The first can be used to start ProM, the second to start the Package Manager. To start either, right-click its launch file and choose "Run As" (or "Debug As" if you want to debug the project).

    Kind regards,
    Eric.



  • l0ganl0gan Posts: 8
    hverbeek said:
    HI,

    First, please make sure you have the IvyDE add-on installed, in Eclipse, see https://svn.win.tue.nl/trac/prom/wiki/Contribute. Once you have that add-on installed, it will resolve all dependencies automatically.

    Second, the project contains two launch files in the root folder: "ProM with UITopia (DirectlyFollowsModelMiner).launch" and "ProM Package Manager (DirectlyFollowsModelMiner).launch". The first can be used to start ProM, the second to start the Package Manager. To start either, right-click its launch file and choose "Run As" (or "Debug As" if you want to debug the project).

    Kind regards,
    Eric.



    Hi,Eric
    Thanks for your kindly support. What should I do to render this DirectlyFollowsModelMiner in my web application.
  • hverbeekhverbeek Posts: 782
    Hi,

    First, please check the licenses. The DirectlyFollowsModelMiner packages is distributed using the GPL license. Your application should in no way not violate that license.

    Second, the plugins are implemented in the Java org.processmining.directlyfollowsmodelminer.mining.plugins package. I guess you will have to call one of the plugins. Note that the plugins typically require a PluginContext, which means you need create an implementation for this interface that fits your application.

    Kind regards,
    Eric.
     

  • l0ganl0gan Posts: 8
    hverbeek said:
    Hi,

    First, please check the licenses. The DirectlyFollowsModelMiner packages is distributed using the GPL license. Your application should in no way not violate that license.

    Second, the plugins are implemented in the Java org.processmining.directlyfollowsmodelminer.mining.plugins package. I guess you will have to call one of the plugins. Note that the plugins typically require a PluginContext, which means you need create an implementation for this interface that fits your application.

    Kind regards,
    Eric.
     

    Hi,Eric
    As I do not know how the classes works, in which way I can get the API Documentation of classes in packages.

    For excample:the methods in classes, what params should I pass and what return could I get.
    3.png 7.6K
  • hverbeekhverbeek Posts: 782
    Hi,

    For the latest Javadoc on the DirectlyFollowsModelMiner package, please see http://ais-hudson.win.tue.nl:8080/job/DirectlyFollowsModelMiner/javadoc/. For more details, you either have to check the sources, or contact the developer (see the build.xml file for this).

    The two interesting plugins for you are the bottom two. The DirectlyFollowsModelMinerPlugin takes an event log (XLog) (and possibly some parameters) and returns a DirectlyFollowsModel. The DirectlyFollowsModelVisualisationPlugin visualizes a DirectlyFollowsModel, that is, it returns a JComponent that visualizes it.

    Kind regards,
    Eric.



  • l0ganl0gan Posts: 8
    hverbeek said:
    Hi,

    For the latest Javadoc on the DirectlyFollowsModelMiner package, please see http://ais-hudson.win.tue.nl:8080/job/DirectlyFollowsModelMiner/javadoc/. For more details, you either have to check the sources, or contact the developer (see the build.xml file for this).

    The two interesting plugins for you are the bottom two. The DirectlyFollowsModelMinerPlugin takes an event log (XLog) (and possibly some parameters) and returns a DirectlyFollowsModel. The DirectlyFollowsModelVisualisationPlugin visualizes a DirectlyFollowsModel, that is, it returns a JComponent that visualizes it.

    Kind regards,
    Eric.



    Hi,Eric
    May I have a demo to learn how to implement a plugin like DirectlyFollowsModelMinerPlugin?
  • hverbeekhverbeek Posts: 782
    Hi,

    You could have a look at an (old) workshop we once gave in Hasselt, Belgium, see https://svn.win.tue.nl/trac/prom/wiki/Workshop. Note that the workshop is now 9 years old, an may not be entirely up-to-date everywhere. But the concepts are still valid.

    We do not enforce a certain style of implementing plug-ins. If a certain way works best for the developer, we should try to support that. As such, there is no single best way of doing this. I typically advocate to first create a class for the algorithm that does the heavy lifting, and a class for the parameters it needs to do this. Once this is done, a class can be added which wraps the algorithm in a ProM plugin together with a class that allows the user to change the (default) parameter values.

    Kind regards,
    Eric.

  • l0ganl0gan Posts: 8
    hverbeek said:
    Hi,

    You could have a look at an (old) workshop we once gave in Hasselt, Belgium, see https://svn.win.tue.nl/trac/prom/wiki/Workshop. Note that the workshop is now 9 years old, an may not be entirely up-to-date everywhere. But the concepts are still valid.

    We do not enforce a certain style of implementing plug-ins. If a certain way works best for the developer, we should try to support that. As such, there is no single best way of doing this. I typically advocate to first create a class for the algorithm that does the heavy lifting, and a class for the parameters it needs to do this. Once this is done, a class can be added which wraps the algorithm in a ProM plugin together with a class that allows the user to change the (default) parameter values.

    Kind regards,
    Eric.

    Hi,Eric
    This is the implementation in pm4py to get Directly-follows graph data:

    log_csv = dataframe_utils.convert_timestamp_columns_in_df(log_csv)
    event_log = log_converter.apply(log_csv)

    dfg = dfg_discovery.apply(log)

    Could you please tell me how to use java to implement this code.

    best regards
  • hverbeekhverbeek Posts: 782
    Hi,

    I have no idea what the first line is exactly doing. Something with the dates in the CSV... I guess the second line (CSV conversion) will take care of this, but don't know for sure.

    The second line seems to convert the CSV data to an event log. For this I would try to use the CSVConversion class from the ProM Log package  (see https://svn.win.tue.nl/trac/prom/browser/Packages/Log/Trunk/src/org/processmining/log/csvimport/CSVConversion.java). You will have to initialize two configuration objects for this, but I guess the defaults objects would do for a start. Otherwise, after having created these default objects, change them where necessary.

    The second line seems to mine the DFG from the event log. For this I would try to use the DirecltyFollowsModelMiner plugin from the same package (see https://svn.win.tue.nl/trac/prom/browser/Packages/DirectlyFollowsModelMiner/Trunk/src/org/processmining/directlyfollowsmodelminer/mining/plugins/DirectlyFollowsModelMinerPlugin.java). This plugin has a variant (method mineProcessTree) that takes any PluginContext, but you will need to create a parameter objects for this plugin. I guess, again, the default object (see https://svn.win.tue.nl/trac/prom/browser/Packages/DirectlyFollowsModelMiner/Trunk/src/org/processmining/directlyfollowsmodelminer/mining/variants/DFMMiningParametersDefault.java) would do. But like with the conversion, you can change the object before calling the plugin method.
     
    Cheers,
    Eric.


  • l0ganl0gan Posts: 8
    hverbeek said:
    Hi,

    I have no idea what the first line is exactly doing. Something with the dates in the CSV... I guess the second line (CSV conversion) will take care of this, but don't know for sure.

    The second line seems to convert the CSV data to an event log. For this I would try to use the CSVConversion class from the ProM Log package  (see https://svn.win.tue.nl/trac/prom/browser/Packages/Log/Trunk/src/org/processmining/log/csvimport/CSVConversion.java). You will have to initialize two configuration objects for this, but I guess the defaults objects would do for a start. Otherwise, after having created these default objects, change them where necessary.

    The second line seems to mine the DFG from the event log. For this I would try to use the DirecltyFollowsModelMiner plugin from the same package (see https://svn.win.tue.nl/trac/prom/browser/Packages/DirectlyFollowsModelMiner/Trunk/src/org/processmining/directlyfollowsmodelminer/mining/plugins/DirectlyFollowsModelMinerPlugin.java). This plugin has a variant (method mineProcessTree) that takes any PluginContext, but you will need to create a parameter objects for this plugin. I guess, again, the default object (see https://svn.win.tue.nl/trac/prom/browser/Packages/DirectlyFollowsModelMiner/Trunk/src/org/processmining/directlyfollowsmodelminer/mining/variants/DFMMiningParametersDefault.java) would do. But like with the conversion, you can change the object before calling the plugin method.
     
    Cheers,
    Eric.


    Hi, Eric
    I am missing the jar package of processmining shown in the following figure. Where can I download it?


    Best Regards.
    a.png 3.6K
  • hverbeekhverbeek Posts: 782
    Hi,

    The LpSolve package exists only at run-time, as it comes in variants that are specific to the OS you are using. We typically use the ProM Package manager to install the correct variant.

    You can find the package descriptor file for the LpSolve at http://www.promtools.org/prom6/packages/LpSolve/packages.xml. This shows that, for example, the download for 64 bit Windows can be found at http://www.promtools.org/prom6/packages/LpSolve/LpSolve_5.5.0.15_win64.zip. Note that if you include this variant in your software, then the software will run only on 64 bit Windows.

    Kind regards,
    Eric.
  • l0ganl0gan Posts: 8
    hverbeek said:
    Hi,

    The LpSolve package exists only at run-time, as it comes in variants that are specific to the OS you are using. We typically use the ProM Package manager to install the correct variant.

    You can find the package descriptor file for the LpSolve at http://www.promtools.org/prom6/packages/LpSolve/packages.xml. This shows that, for example, the download for 64 bit Windows can be found at http://www.promtools.org/prom6/packages/LpSolve/LpSolve_5.5.0.15_win64.zip. Note that if you include this variant in your software, then the software will run only on 64 bit Windows.

    Kind regards,
    Eric.
    Dear Eric,
    Do you know how to use pm4py? If yes, could you please help me?
    I get this process through DFvM on prom. How can I get the same number of cases as shown in the figure through pm4py by filtering activities and paths?

    Best Regards.
    e.png 46.9K
  • hverbeekhverbeek Posts: 782
    Hi,

    I have not really used pm4py yet.

    Perhaps better to contact the developers of pm4py on this, see https://pm4py.fit.fraunhofer.de/contact.

    Kind regards,
    Eric.
Sign In or Register to comment.