불리언 프로세스 모델의 모델체크 기법
초록
본 논문은 비즈니스 프로세스 관리에서 사용되는 제어 흐름 모델을 검증하기 위해, 컬러드 페트리넷의 단순한 하위 클래스인 불리언 시스템을 기준 언어로 채택한다. 불리언 시스템의 안전성(safeness)과 활발성(liveness)을 검증하기 위해, 시스템의 전개(prefix)를 유한 완전 프리픽스로 구성하고, 이를 기반으로 정의된 기본 프로세스(base process)를 명제 논리식으로 변환한다. 변환된 논리식의 만족 가능성을 SAT 솔버로 판단함으로써 모델체크를 수행한다. 알고리즘은 자바로 구현되었으며, 초기 토큰 수에 따라 검증 시간에 큰 차이가 발생한다는 실험 결과를 제시한다.
상세 분석
이 논문은 비즈니스 프로세스 모델링 분야에서 오랫동안 사용되어 온 EPC, BPMN, YAWL 등 다양한 표기법이 갖는 의미론적 모호성을 해소하기 위해, 의미가 명확히 정의된 형식 언어인 불리언 시스템(Boolean system)을 ‘레퍼런스 언어’로 제시한다. 불리언 시스템은 컬러드 페트리넷의 한 종류로, 토큰 수가 0 또는 1로 제한돼 상태를 명시적으로 표현하고, AND, OR, XOR 등 논리 연산자를 이용해 분기와 결합을 기술한다. 이러한 구조적 단순성은 두 가지 검증 목표—안전성(safeness)과 활발성(liveness)—을 명제 논리 수준에서 다룰 수 있게 만든다.
안전성 검증은 시스템의 스켈레톤(skeleton)인 T‑system(모든 장소가 정확히 하나의 전·후 사전조건을 갖는 순환 구조)의 안전성 검증과 동등하므로, 기존의 Petri‑net 이론을 그대로 적용한다. 활발성 검증은 보다 복잡한데, 저자는 T‑system의 유한 완전 프리픽스(complete prefix)를 구성한 뒤, 색을 입혀 불리언 시스템으로 확장한다. 이 프리픽스는 모든 가능한 실행 경로를 포함하지만, 무한히 확장되는 상태공간을 피하기 위해 ‘기본 마킹(base marking)’ 집합만을 고려한다. 각 기본 마킹에 대해 파생되는 ‘기본 프로세스(base process)’는 길이가 제한된 유한 시퀀스로 정의되며, 이 시퀀스의 실행 가능성은 논리식으로 변환된다.
변환된 논리식은 전형적인 SAT 문제이며, 논문에서는 자체 구현한 단순 해석기(Resolution‑based SAT solver)를 사용해 만족 여부를 판단한다. 여기서 중요한 점은, 모달 연산자 없이 순수 명제 논리만으로 활발성을 표현할 수 있다는 점이다. 이는 모델체크의 복잡도를 기존의 CTL·LTL 기반 방법보다 낮출 가능성을 시사한다. 그러나 SAT 자체가 NP‑complete 문제이므로, 초기 토큰 수가 많아질수록 생성되는 논리식의 규모가 급증하고, 검증 시간도 비선형적으로 증가한다.
실험 부분에서는 약 25개의 불리언 전이와 30개의 장소를 가진 모델을 대상으로 자바 구현을 테스트했으며, 몇 초 내에 검증이 완료되는 것을 확인했다. 하지만 최신 SAT 솔버와 연계했을 경우 밀리초 수준의 성능 향상이 기대된다는 점을 인정한다. 또한, EPC 기반 대출 요청 프로세스를 사례로 들어, 모델링 단계에서 발생할 수 있는 논리적 오류(예: 서로 배타적인 최종 이벤트 조합)를 SAT 기반 검증으로 정확히 탐지함을 보여준다.
마지막으로, 기존 연구와의 비교에서 저자는 van der Aalst 팀이 제시한 EPC‑to‑workflow‑net 변환 후 CTL 기반 검증, 그리고 구조적 축소·SESE 분해 기법과 대비해, 불리언 시스템 기반 접근법이 의미론적 일관성을 유지하면서도 구현이 비교적 단순하다는 장점을 강조한다. 다만, 현재 구현의 성능 한계와 SAT 솔버 의존성을 극복하기 위한 향후 연구 과제가 남아 있다.
댓글 및 학술 토론
Loading comments...
의견 남기기