규범 사양의 일치 검증을 위한 C‑O 다이어그램
초록
C‑O 다이어그램은 계약 당사자의 의무·허가·금지를 시각화하고, 위반 시 페널티와 절대·상대 시간 제약을 표현한다. 본 논문은 이러한 다이어그램에 타임드 오토마타 네트워크 기반의 형식 의미론을 부여하고, 계약의 실현 가능성 검증, 구현의 요구사항 충족 여부 판단, 실행된 허가를 기준으로 한 구현 비교 방법을 제시한다.
상세 분석
본 논문은 C‑O 다이어그램을 정형화하기 위해 타임드 오토마타(network of timed automata, NTA)를 활용한다. 각 다이어그램 요소—Obligation(O), Permission(P), Prohibition(F)—는 개별 오토마타로 모델링되며, 이들 사이의 선행·후속 관계와 조건부 트리거는 동기화 채널을 통해 연결된다. 절대 시간 제약은 오토마타의 전역 클럭에 대한 경계 조건으로, 상대 시간 제약은 두 클럭 간의 차이 제한으로 구현된다. 이러한 구조는 UPPAAL과 같은 검증 도구에 직접 입력 가능하도록 설계돼, 자동화된 모델 검증을 가능하게 한다.
논문은 세 가지 핵심 검증 관계를 정의한다. 첫째, 실현 가능성(realizability) 검증은 계약 자체가 모순 없이 실행 가능한지 확인한다. 이는 모든 의무가 일정 시간 내에 만족될 수 있는 경로가 존재하는지, 금지 조건이 동시에 충돌하지 않는지를 탐색함으로써 판단한다. 둘째, 구현 일치성(implementation conformance) 검증은 실제 시스템 모델(또는 코드)과 계약 모델을 동기화하여, 구현이 계약에서 정의한 모든 의무를 이행하고 금지를 위반하지 않으며, 허가된 행동만을 수행하는지를 검증한다. 여기서는 구현 모델을 또 다른 NTA로 변환하고, 계약 NTA와의 언어 포함 관계를 확인한다. 셋째, **허가 기반 비교(permission‑based comparison)**는 여러 구현 사이의 차이를 정량화한다. 각 구현이 실행한 허가(P) 이벤트의 집합을 수집하고, 이를 부분 순서(partial order) 혹은 집합 포함 관계로 비교함으로써, 어느 구현이 더 많은 허가를 활용했는지, 혹은 불필요한 제한을 가했는지를 평가한다.
이러한 검증 프레임워크는 계약 설계 단계에서 오류를 조기에 발견하고, 구현 단계에서 계약 위반을 자동으로 탐지할 수 있게 한다. 또한, 허가 기반 비교는 서비스 수준 협약(SLA)이나 정책 기반 라우팅 등에서 구현 선택을 지원하는 의사결정 도구로 활용될 수 있다. 논문은 사례 연구를 통해 복합적인 시간 제약과 다중 의무·금지 구조를 가진 계약을 모델링하고, UPPAAL을 이용해 실현 가능성 및 구현 일치성을 성공적으로 검증함을 보여준다.
댓글 및 학술 토론
Loading comments...
의견 남기기