The latest version of ProM, ProM 6 has been released and is available on the ProM SourceForge pages (see http://prom.sf.net) and also through the Process Mining website (see http://www.processmining.org).
ProM 6 is the successor of earlier ProM toolkits. Compared to ProM 5.2, major changes to the architecture, user interface, and functionality have been made to address requirements related to distribution and embedding functionality. In the end, the ProM6 toolkit is a generic plug-able toolkit that can be used in many contexts, of which the process mining context is just an example. Any context in which objects and algorithms on these objects are first-class citizens can be handled by ProM 6. Note that in the process mining context objects would typically be event logs and process models, and algorithms would typically be mining algorithms. However, the architecture of ProM 6 is highly generic also allowing for other objects (like data models and social networks) and other types of algorithms (like data mining, state-space analysis, and simulation).
The ProM toolkit has been around for about six years. During this period, the ProM framework has matured to a professional level, which has allowed dozens of developers in different countries to contribute their research in the form of plug-ins. In the end, this resulted in ProM 5.2, which contains 286 plug-ins. ProM is widely used all over the globe. We have applied ProM in more than one hundred organizations. Some example domains include:
- Municipalities (e.g., Alkmaar, Heusden, Harderwijk, etc.)
- Government agencies (e.g., Rijkswaterstaat, Centraal Justitieel Incasso Bureau, Justice department)
- Insurance related agencies (e.g., UWV)
- Banks (e.g., ING Bank)
- Hospitals (e.g., AMC hospital, Catharina hospital)
- Multinationals (e.g., DSM, Deloitte)
- High-tech system manufacturers and their customers (e.g., Philips Healthcare, ASML, Ricoh, Thales)
- Media companies (e.g. Winkwaves)
ProM 6 is a complete new version of ProM using a new architecture. Unfortunately, ProM 6 is not downward compatible with earlier versions like ProM 5.2, in the sense that ProM 5.2 plug-ins cannot be run using ProM 6. However, this drawback is motivated by the fact that the plug-in structure in earlier versions of ProM turned out to have some drawbacks that surfaced as process mining becomes more mature and the applications become more challenging. For example, plug-ins in earlier versions of ProM could not be run on remote computers (as they required a GUI), and the framework did not know which kind of objects were required and which kinds of objects were produced by a given plug-in. As such, we concluded that we needed to change the plug-in structure in the successor of ProM 5.2.
In contrast to earlier versions, ProM 6 can be used to distribute the execution of plug-ins over a number of computers, which clearly enhances the scalability of the ProM toolkit. Furthermore, the framework can now link objects to actions, as it is able to inform the user about the inputs required and outputs produced. For example, this allows the user to simply search for a plug-in that can convert an existing object to the kind of object the user is aiming for. As such, the ease-of-use of the toolkit has improved, which allows non-experts to use the toolkit.
Of course, as earlier plug-ins cannot be used in ProM 6, we have to migrate the many plug-ins to ProM 6, which takes time. By now, we have migrated the plug-ins most relevant for process mining, and we have implemented new plug-ins as a result of recent research. This has resulted in the following list of plug-ins:
- Miners: Alpha, Fuzzy, Genetic, Heuristic, ILP, Social Network, Transition System
- Convertors: Petrify, Genet, TS to Petri net
- Analyzers: Behavioral analysis, Structural analysis, LoLA, Uma, Wendy, Woflan, CTL* model checker, Coverability graph
- Importers/Exporters: COSA, EPML, Fuzzy model, Heuristic net, MXML, PNML, Social network, TPN, Transition system, XES
The figures show an overview of the ProM 6 toolkit. Fig. 1 shows the workspace, which contains the object pool. In the workspace, four different object pools are available, containing (a) all objects, (b) favorite objects, (c) imported objects, and (d) selected objects (like parent and child objects). The right-hand area corresponds to the selected object, and shows some details on this object and offers the possible actions (toggle favorite, view, action, delete) through buttons.
Fig. 2 shows the action view with the Alpha-algorithm (the Alpha-miner) selected. The view shows that the selected action requires an event log as input and that it produces a Petri net and a marking (its initial marking) as output. The colors of the actions indicate the state of the required inputs: all present (green), some present (yellow), or none present (red). In contrast, Fig. 3 shows the action view when searching for a specific plug-in. In this mode, the actions view allows to add any object as a required input, and any known class as an expected output. Based on these required inputs and the expected outputs, the action view shows the list of plug-ins that can take these inputs and produce these outputs. This way, the user can easily check whether some given objects can be converted to a collection of objects of given types. For example, Fig. 3 shows that there are two plug-ins that can take an event log and directly produce a Petri net: “ILP Miner 2” and “Alpha-algorithm”.
Fig. 4 shows a view on the “SampeLog.xes” event log, which is initially the Dashboard view on this event log. Note that this view resembles the Dashboard view which was used in earlier versions of ProM. Apart from the Dashboard view, the user can also select an Inspector view (where the user can select and view one trace at a time) and the Summary view (where the user can view a summary on the log, which includes the list of event classes, the list of start event classes, and the list of end event classes). The upper right corner in this view contains possible actions (refresh, print, toggle favorite, action, workspace, tile) through buttons. Fig. 5 shows a possible result of selecting the tile button: All open views are nicely laid out in a tiled fashion, and the user can select to maximize or delete a tiled view. Note that deleting a tiled view only deletes the view on the object, but not the object itself. To delete the object itself, the user can go to the workspace, select the object, and select the delete button.
Please note that the ProM 6 framework is unaware of the process mining context. As far as the framework is concerned, there exist objects, actions, views, and classes. In Fig. 1, objects include “SampleLog.xes” and “Petri net mined from SampleLog.xes”, actions include “Alpha-algorithm” and “ILP Miner 2”, views include the views on event logs and Petri nets, and classes include “Event log” and “Petri net”. However, detailed knowledge on a class is hidden from the framework, and only known inside the plug-ins that either implement an action or a view on objects of this class. As such, ProM 6 offers a very generic framework.
Detailed information on ProM 6 can be obtained from http://www.processmining.org. Here one can also download the latest nightly build of ProM 6.