728x90

 Directly Follows Graph(DFG)는 많은 상용화 툴이 채택하고 있는 프로세스 모델로, 가장 직관적이고 쉽게 프로세스를 표현한다. 하지만 그렇게 직관적이고 쉬운 모델인 만큼, 프로세스를 정확하게 표현할 수 없는 여러 한계점을 지닌다. 그래서 이번 포스팅에서는, PM4Py를 활용하여 Directly Follows Graph를 해당 Directly Follows Graph의 움직임을 정확하게 표현하는 Petri net으로 변환하는 방법에 대해 알아보겠다. 

 

1. 우선, 분석할 XES 파일을 import하여 이를 log에 저장한다.

from pm4py.objects.log.importer.xes import factory as xes_importer

log = xes_importer.apply("C:\\running-example.xes")

 

2. Directly Follows Graph를 도출한다.

from pm4py.algo.discovery.dfg import factory as dfg_factory

dfg = dfg_factory.apply(log)

 

3. DFG를 Petri net으로 변환한다.

from pm4py.objects.conversion.dfg import factory as dfg_mining_factory

net, im, fm = dfg_mining_factory.apply(dfg)

 

4. 해당 Petri net을 눈으로 확인하기 위해 다음 코드를 입력한다.

from pm4py.visualization.petrinet import factory as vis_factory

gviz = vis_factory.apply(net, im, fm)
vis_factory.view(gviz)

 

5. 다음과 같은 결과가 도출되면 성공이다.

도출된 페트리 넷

 

이번 포스팅에서는 PM4Py를 활용하여 DFG를 페트리 넷으로 변환하는 방법에 대해 알아보았다. 

300x250
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기