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.

Dev Videos and Package structure

Hey guys,

I hope this topic is in the right category. I have 2 Questions:

1) I am on my first steps in prom development. On the end of, I found some links to videos of the workshop - but the video files are not available. Any hint where I can find them?
This would be very helpful to understand the first steps into prom dev. The pptx -file are not so helpful without a live presentation :)

2) I still have problems to understand the following package categories (correct me please, if I am wrong):

plugin -  This is the entry point. The method declaired with @Plugin/@UITopiaVariant is called. From here, the program starts to other classes, methods etc. (similar to "main").

parameters - In my case, i want to calculate a language from an event log. The parameter which is given in the "main" method in the plugin folder receives the log. If I understand it right, I bring the xlog to a class in this parameters package and generate an object to work with it. This object - I named it "ConvertToLanguage" should be used in the next package algorithms.

algorithms - ConvertToLanguage should used here to calculate a language from it. So I implement a class and a function in this package. The code from ConvertToLanguage is an algorithm, too. When should code stay in this package? Where is the difference?

connections - seems for some connection like databases, I think - so I didnt need it.

dialogs - Package for all graphically implementations

help - a package for some Helper Classes?

models - Classes with Constructors for own generated models? What's about the object "ConvertToLanguage" - It's a model, too. Are only workflow models, petrinets and so on allowed here?

Thank you for help!

Best regards!


  • Hi,

    I've fixed the links to the workshop movies, they now link directly to the video files instead of to a page which embeds them.

    The idea for the packages is as follows:

    algorithms: This contains the algorithms that do the computing, like converting an event log to a language. This algorithm takes an event log, produces a language, and takes parameters that control any decision that need to be made by the converter. As a result, the converter can run from start to finish without any user-intervention.

    models: The models you need. In your case, a language jumps to mind.

    parameters: The parameters for the converter. Basically a parameters class contains field, getters, and setters. If the algorithm has a choice (a decision to make) somewhere, this choice is ideally controlled by such a field.

    plugins: Wrapper for the algorithms. This simply wraps the algorithm and adds the required plugin and pluginvariant tags. You could have multiple plugins for a single algorithm. My first plugin is almost always the headless plugin that runs the algorithm using the default parameters. If you have models, then importers and exporters for the model also go here.

    dialogs: In case you want the user to change the parameters, you can create a dialog (JPanel or such) that allows the user to do so. You could then create a default parameters object, create a corresponding dialog and put that on the screen. The user then changes the parameters, and when done, you start the wrapped algorithm with the updated parameters object. This is usually my second plugin.

    connections: ProM uses connections to keep track of relations between objects (models). This is not required, but if you converter takes lots of time, then you may want to prevent it from being executed over and over again while the language is already there. For this, you could create a connection, check whether a language for the given event log already exists, and if so, return that language instead of converting the event log again.

    help: Contains just some help texts for the plugins. Not exciting.

    I hope this helps you a bit, cheers,
  • Hello,

    I am also trying to access the workshop videos and they they do not direct me anywhere. any help making this videos work ?

  • Hi,

    This week, I fixed the links to these videos. For example the links on have been fixed. Instead of visiting a webpage that embeds the videos, you now can download the videos and play them yourself. You need to be able to play .flv files, though. I'm using VLC media player for this.

    Kind regards,

  • worked for me thanks !
Sign In or Register to comment.