Processes and Logs Generator
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
OldReleases Create Mar 12, 2015
PLG - Added representation of processes as Petri net into the exploration… Aug 27, 2011
PLGLib - Minor fixes to the libraries Aug 21, 2012 Create Mar 10, 2015 Create Mar 11, 2015

Processes and Logs Generator

22 jul 2011 -- University of Padova, Italy

Process Log Generator is a application capable to generate random business processes, starting from some general "complexity paramenters". PLG is also able to "execute" a given process model in order to generate a process log.

This software is designed to help researchers in the construction of a large set of processes and corresponding execution logs. This software is released with a small library which could help in the programmatical creation of processes.

Attention: this software is not maintained anymore. A complete rewriting of PLG is ongoing.


Package Requirement

In order to run this software, some used libraries need Graphviz Dot to be installed in the computer.

How to Run the Software

To run the ProcessLogGenerator, there are two options:

  • open a terminal and cd where the ProcessLogGenerator.jar file is located, then run
$ java -jar ProcessLogGenerator.jar
  • right click the ProcessLogGenerator.jar file and click on "Open with Sun/Oracle Java X Runtime" (where X is your Java distribution number).

Library Usage Example

Downloading the package, you will find also the small library to build your own process generator in a simple way. The following example illustate a way to construct a process and log:

import org.deckfour.xes.model.XLog;
import org.deckfour.xes.out.XesXmlSerializer;
import it.unipd.math.plg.models.PlgProcess;

public class PlgTest {
    public static void main(String[] args) throws IOException {
        // define the new process and create some random activities
        // with, at most, 3 nested split 
        PlgProcess p = new PlgProcess("test process");

        // generate 10 process instances
        XLog log = p.generateXESLog(10, 100, 0);

        // serialize the log to the standard output
        XesXmlSerializer serializer = new XesXmlSerializer();
        serializer.serialize(log, System.out);


Please, cite this work as:


The releases section of this repository contains the entire project history and evolution. Each release provides both a source and a binary package. Please consider as accurate only the binary package.