Skip to content

Simulation with PLG

Dependency

To use these algorithms in your Java Maven project it is necessary to include, in the pom.xml file, the dependency:

<dependency>
    <groupId>com.github.beamline</groupId>
    <artifactId>simulation-plg</artifactId>
    <version>master-SNAPSHOT</version>
</dependency>
See the introduction page for further instructions.

Usage

This wrapper of the PLG library allows the generation of random processes as well as their simulation. Processes can also be imported and exported. The following snipped of code generates a random process and streams it:

Process p = new Process("");
ProcessGenerator.randomizeProcess(p, RandomizationConfiguration.BASIC_VALUES);

LogGenerator logGenerator = new LogGenerator(p, new SimulationConfiguration(100), new ProgressAdapter());
XLog log = logGenerator.generateLog();

StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
env
    .addSource(new XesLogSource(log))
    .keyBy(BEvent::getProcessName)
    .print();
env.execute();

Scientific literature

The technique implemented in this package is described in:

Other relevant publications:

Further information are also availalbe at the Wiki of the PLG project.