스트리밍 적합성 검사

Streaming conformance checking

스트리밍 적합성 체크는 편차(존재하는 경우)가 발생했을 때 직접 보고되는 적합성 체크의 일종입니다.이벤트 로그 대신 스트리밍 적합성 검사 기술은 이벤트 스트림과 프로세스 모델을 입력으로 사용하며 스트림에서 수신된 각 이벤트에 대해 모델과 비교됩니다.

적합성 검사와의 차이점

기존의 적합성 검사 기법에서는 이벤트 로그를 입력으로 사용합니다.이벤트 로그는 일정 기간 동안의 비즈니스 활동을 기록하는 정적 데이터 소스입니다.이벤트 로그가 완전히 기록되면 적합성 검사 기법이 적용되어 편차가 있는 경우 표시됩니다.단, 이러한 종류의 준거에는 몇 가지 단점이 있습니다.

  • 리소스가 부족합니다.대규모 기업에서는 이벤트 로그의 크기가 어마어마합니다.기존의 적합성 검사 기법은 이렇게 큰 데이터 세트를 처리할 수 없었습니다. 즉, 데이터가 메인 메모리에 맞지 않습니다.
  • 실시간 모니터링 안 함:적합성 검사 알고리즘은 a-postiori 방식으로 실행되므로 편차는 일정 시간 동안 발생한 후에만 검출할 수 있습니다.환자, 재무 등의 건강 상태를 모니터링하는 등 시기적절한 시정 조치가 중요한 일부 상황에서는 늦은 발견이 심각한 결과를 초래할 수 있다.

한편 스트리밍 적합성 검사 기술에서는 이벤트 스트림을 입력으로 사용합니다.이벤트 스트림은 기본 비즈니스 [1]프로세스의 컨텍스트에서 실행되는 연속적인 이벤트 스트림입니다.이벤트 스트림으로부터의 각 이벤트는 (c, a)로 표시됩니다.여기서 c는 케이스 ID, a는 이 이벤트의 액티비티 이름입니다.

이러한 종류의 데이터를 사용하여 적합성 검사를 스트림을 따라 연속적으로 수행할 수 있습니다. 즉, 실행된 각 활동에 대해 해당 활동이 주어진 프로세스 모델을 기반으로 편차를 발생시키는 경우 분석이 직접 계산됩니다.따라서 이러한 적합성 검사를 통해 프로세스를 지속적으로 모니터링하고 실시간으로 편차를 탐지할 수 있습니다.

알고리즘

온라인과 오프라인 적합성 체크의 근본적인 차이는 입력의 완전성입니다.이벤트 로그의 각 이벤트에 대해 표시되는 동작은 완료되어 있습니다.즉, 해당하는 케이스가 아직 실행 중인지 정지 중인지 알 수 있습니다.이벤트 스트림은 그렇지 않습니다.현재, 케이스의 1개의 액티비티가 정상적으로 실행되면, 케이스가 정지하거나 이미 완료되었는지, 즉, 향후 새로운 이벤트가 이 케이스에 속하지 않게 됩니다.이 차이로 인해 기존의 적합성 검사 알고리즘은 온라인 컨텍스트에서는 (완전하게) 적용되지 않으므로 조정이 필요합니다.

발자국

입력: 이벤트 스트림 및 해당 프로세스 모델의 풋프린트 매트릭스.

알고리즘:

수신된 각 이벤트에 대해(c, a)

  • 케이스 c 의 개시 액티비티인 경우, 알고리즘은 의 기동이 허가되어 있는지 여부를 조사합니다.
  • 그 이외의 경우 가 케이스 c의 시작 액티비티가 아닌 경우 알고리즘은 가 케이스 c의 마지막으로 실행된 액티비티를 직접 따를 수 있는지 여부를 조사합니다.마지막으로 실행된 활동을 추적하기 위해 이 정보를 저장하는 사전이 있습니다.

토큰 기반 재생[3]

입력: 이벤트 스트림Petri 네트 모델.

알고리즘:

수신된 각 이벤트에 대해(c, a)

  • 알고리즘은 케이스 c에 관한 이전 실행에 근거하여 지정된 Petri 넷모델이 액티비티를 기동할 수 있는지 여부를 체크합니다.
  • 케이스별로 마지막으로 실행된 액티비티에 대한 정보와 누락된 토큰의 양을 카운트하기 위한 속성으로 케이스별로 Petri 넷의 상태를 저장합니다.

시간 프로파일

시간 프로파일은 두 활동 사이의 평균 시간과 이러한 활동을 가진 사건 간의 표준 편차를 측정합니다.

입력: 이벤트 스트림 및 임시 프로파일 모델.

알고리즘:

수신된 각 이벤트에 대해(c, a)

  • 알고리즘은 활동 a와 케이스 c에 관해 실행된 활동 사이의 기간을 계산하여 [4]모델에 의해 허용되는지 여부를 확인합니다.

로그 골격

로그 골격은 프로세스에서 [5]활동 간의 관계를 설명하는 제약 조건으로 구성됩니다.

입력: 이벤트 스트림 및 로그 스켈레톤 모델.

알고리즘:

수신된 각 이벤트에 대해(c, a)

  • 알고리즘은 액티비티a의 실행이 프로세스의 현재 상태에 관해 선언된 제약조건을 위반하는지 여부를 확인합니다.
  • 프로세스의 현재 상태를 액티비티 a의 새로운 실행으로 업데이트합니다.

레퍼런스

  1. ^ van Zelst, Sebastiaan J.; van Dongen, Boudewijn F.; van der Aalst, Wil M. P. (2017-05-15). "Event stream-based process discovery using abstract representations". Knowledge and Information Systems. 54 (2): 407–435. arXiv:1704.08101. doi:10.1007/s10115-017-1060-2. ISSN 0219-1377. S2CID 13301390.
  2. ^ van der Aalst, Wil (2016), "Data Science in Action", Process Mining, Berlin, Heidelberg: Springer Berlin Heidelberg, pp. 3–23, doi:10.1007/978-3-662-49851-4_1, ISBN 978-3-662-49850-7, retrieved 2021-09-30
  3. ^ Rozinat, A.; van der Aalst, W. M. P. (2008-03-01). "Conformance checking of processes based on monitoring real behavior". Information Systems. 33 (1): 64–95. doi:10.1016/j.is.2007.07.001. ISSN 0306-4379.
  4. ^ a b Stertz, Florian; Mangler, Juergen; Rinderle-Ma, Stefanie (2020-08-17). "Temporal Conformance Checking at Runtime based on Time-infused Process Models". arXiv:2008.07262 [cs.SE].
  5. ^ a b Verbeek, H. M. W.; de Carvalho, R. Medeiros (2018-06-21). "Log Skeletons: A Classification Approach to Process Discovery". arXiv:1806.08247 [cs.AI].