Fornece scripts para gerar árvores de processos aleatórios e simular essas árvores em logs de eventos.
Informações detalhadas sobre o funcionamento do gerador e do simulador podem ser encontradas no artigo: Jouck, Toon e Benoît Depaire. “PTandLogGenerator: um gerador para dados de eventos artificiais.” Em Anais do BPM Demo Track 2016 (BPMD 2016), 1789:23–27. Rio de Janeiro: Anais do workshop do CEUR, 2016. http://ceur-ws.org/Vol-1789/.
Entrada: arquivo de parâmetros para populações (exemplo de arquivo de parâmetros localizado na pasta '/data/parameter_files').
Cada linha do arquivo csv caracteriza uma população: mode;min;max;sequence;choice;parallel;loop;ou;silent;duplicate;lt_dependency;infrequent;no_models;unfold;max_repeat
se lt_dependency <= 0: deve ser sempre 0 (Falso)
se lt_dependency > 0: pode ser 1 ou 0 (Verdadeiro ou Falso)
modo: número mais frequente de atividades visíveis
min: número mínimo de atividades visíveis
max: número máximo de atividades visíveis
sequência: probabilidade de adicionar um operador de sequência à árvore
escolha: probabilidade de adicionar um operador de escolha à árvore
paralelo: probabilidade de adicionar um operador paralelo à árvore
loop: probabilidade de adicionar um operador de loop à árvore
ou: probabilidade de adicionar um operador ou à árvore
silencioso: probabilidade de adicionar atividade silenciosa a uma escolha ou operador de loop
duplicado: probabilidade de duplicar um rótulo de atividade
lt_dependency: probabilidade de adicionar uma dependência aleatória à árvore
infrequente: probabilidade de fazer uma escolha tem caminhos pouco frequentes
no_models: número de árvores a serem geradas a partir da população modelo
desdobrar: se deve ou não desdobrar loops para incluir opções abaixo nas dependências: 0=Falso, 1=Verdadeiro
max_repeat: número máximo de repetições de um loop (usado apenas quando o desdobramento é True)
Saída: coleção de árvores de processos na pasta 'data/trees':
formato de árvore newick (*.nw)
linguagem de marcação de árvore de processo (*.ptml)
(opcional) arquivo de imagem (*.png)
Uso: chamável na linha de comando:
$python generate_newick_trees.py [-h] [--t [tempo limite]] [--g [graphviz]] entrada
Gere árvores de processo a partir da população de entrada.
argumentos posicionais:
input: arquivo de entrada em formato csv no qual os parâmetros de população são especificados, exemplo: ../data/parameter_files/example_parameters.csv
argumentos opcionais:
-h, --help: mostra esta mensagem de ajuda e sai
--t aborta a geração da árvore após segundos de tempo limite, padrão = 10000
--g indica se deve renderizar a imagem graphviz da árvore, padrão = False
Entrada:
processar árvores em arquivos de árvore newick
tamanho: o número de rastreamentos no log de eventos
ruído: a probabilidade de inserir ruído
carimbos de data/hora: inclui carimbos de data/hora (início e fim de cada atividade?)
Saída: log de eventos no formato XES (padrão) ou formato de arquivo csv 'case_id', 'act_name'[,'start_time','end_time']
Uso: chamável na linha de comando
plugin de chamada: $python generate_logs.py [-h] [--i [input_folder]] [--t [timestamps]] [--f [format]] ruído de tamanho
Simule logs de eventos de árvores de processos.
argumentos posicionais:
tamanho: número de traços para simular
ruído: probabilidade de inserir ruído no traço
argumentos opcionais:
-h, --help: mostra esta mensagem de ajuda e sai
--i [input_folder]: especifique o endereço relativo à pasta de árvores, padrão=../data/trees/
--t [timestamps]: indica se deve incluir timestamps ou não, default=False
--f [formato]: indica qual formato usar para o log: xes ou csv, padrão = xes
Entrada:
uma amostra de árvores de processo (pasta padrão: ../data/trees/)
um nível de determinismo alvo
um número máximo de nós de entrada (de cada decisão)
um número máximo de intervalos (para discretizar o valor numérico)
um número de casos para gerar em cada log
*Saída: uma amostra de logs de eventos com atributos de caso
*Uso: execute generate_data_trees_and_logs.py e adapte os parâmetros