지역(모델 검사)
Region (model checking)![]() | 이 글은 독자들에게 혼란스럽거나 불명확할 수 있다.특히 주제에 대해 잘 모르는 사람들에게 혼란을 준다.(2019년 4월) (이 를 과 시기 |
컴퓨터 과학 분야인 모델 검사에서 영역은 차원 의 볼록 폴리토프로서, 보다 정밀하게 한 구역으로, 일부 최소성 특성을 만족한다.영역 파티션
The set of zones depends on a set of constraints of the form , , and , with and 개의 변수 및 상수.영역은 두 x→ }} 및 x → {\이(가) 동일한 영역에 경우 K {\ K의 동일한 제약조건을 만족하도록 정의된다 나아가 이러한 벡터를 클럭의 튜플로 간주할 때 두 벡터는 동일한 세트가 동일하다.일어날 수 있는 미래직관적으로, 은 K 의 제약조건만을 사용하는 어떤 시간적 제안적 시간적 논리 형식 또는 시간적 자동 또는 신호 자동화가 두 벡터를 모두 구별할 수 없다는 것을 의미한다.
영역 세트를 통해 영역 자동화를 생성할 수 있으며, 이 그래프는 각 노드가 영역인 방향 그래프로서 각 에지 → r r'}이가) r의 미래 가능성을 보장한다 이 영역 자동화의 제품과 시간 지정 자동 언어 을(를) 받아들이는 디스플레이 은(는) 유한 또는 부치 자동화를 생성하며, 특히 의 비어 있는 문제를 유한 또는 부치 자동화에 대한 비어 있는 문제로 줄일 수 있다이 기술은 예를 들어 UPAAL 소프트웨어에 의해 사용된다.[1]
정의
C={ ,…, x } 시계의 집합.각 에 대해c N 에 대해 . 직관적으로 이 숫자는 시계 을(를) 비교할 수 있는 값의 상한을 나타낸다 시계 위의 영역 정의는 이러한 숫자 c s를 사용한다.현재 세 가지 동등한 정의가 주어진다.
시계 할당 [ 은(는) ν }이(가) 속한 지역을 나타낸다.영역 집합은 으)로 표시된다
시계 할당 동등성
첫 번째 정의는 두 개의 과제가 동일한 영역에 속하는지 여부를 쉽게 테스트할 수 있도록 한다.
영역은 일부 동등성 관계에 대한 동등성 등급으로 정의될 수 있다. 개의 시계 할당 1{\1}및 {2 {\{2}}개가 다음과 같은 제약을 충족하는 경우 동등하다.[2]: 202
- iff , for each and an integer, and ~ being one of the following relation =, < or ≤.
- iff , for each , , { {\\{은(는) r {\r}의 일부분이며 ~는 다음 관계 =, < 또는 ≤ 중 하나이다.
첫 번째 종류의 제약조건은 및 }가 동일한 제약조건을 만족하도록 보장한다.Indeed, if and , then only the second assignment satisfies . On the other hand, if and 이 정수만 사용하기 때문에 두 할당은 정확히 동일한 제한조건 집합을 만족한다
두 번째 종류의 제약조건은 두 과제의 미래가 동일한 제약조건을 충족하도록 보장한다.예를 들어, ν 1컵{)↦ 0.5, y↦ 0.6}{\displaystyle \nu_{1}=\{x\mapsto 0.5,y\mapsto 0.6\}}과 ν 2){)↦ 0.5, y↦ 0.4}{\displaystyle \nu_{2}=\{x\mapsto 0.5,y\mapsto 0.4\}}. 그리고 나서, 제약 조건은 y=1∧ x<1{\displaystyle y=1\land x< 1}결국 ν 1{\dis의 미래에 만족했다는 것입니다.연주한다클럭 리셋이 없는 경우 의 미래까지는 클럭 리셋이 없는 경우.
영역에 대한 명시적 정의
이전의 정의에서는 두 개의 과제가 동일한 영역에 속하는지 여부를 테스트할 수 있지만, 한 지역을 데이터 구조로 쉽게 나타낼 수는 없다.아래에 제시된 세 번째 정의는 지역의 표준 인코딩을 허용한다.
영역은 다음과 같은 제약을 충족하는 방정식과 의 S S을(를) 사용하여 구역으로 명시적으로 정의할 수 있다.
- 각 에 대해 에는 다음 중 하나가 포함되어 있다.
- = {\일부 정수 c {\의 경우
- ( , +) 의 일부 정수 0 c < < >
- >
- furthermore, for each pair of clocks , where contains constraints of the form and , then contains an (in) equality of the form ~{ ~ 은(는) =, < 또는 ≤입니다.
및 and {\ c을(를) 고정할 때 마지막 제약조건은 x ~ + - x y과와) 동일하다.
이 정의는 지역을 데이터 구조로 인코딩할 수 있다.각 시계에 대해 어느 구간이 속하는지를 명시하고 길이 1의 개방된 간격에 속하는 시계의 부분 부분 순서를 기억하기에 충분하다.이 구조의 크기는 log k)+ ) C 이며 시계 수는 C 이다.
시간차등분
이제 지역에 대한 세 번째 정의를 내리자.이 정의는 좀 더 추상적이지만 모델체크에 지역이 활용되는 이유이기도 하다.직관적으로, 이 정의는 두 개의 시계 할당이 동일한 영역에 속한다고 명시한다. 만약 그들 사이의 차이가 시간 제한 자동화가 그들을 알아차릴 수 없는 것이라면 말이다.동일한 지역의 다른 할당 에 대한 시계 \}부터 시작하는 r r이가) 실행 r r이(가) 동일한 위치를 통과하며, 여기서 유일한 차이점은 시간이 b를 기다렸다는 것이다.두 번의 연속적인 전환 사이에 차이가 있을 수 있고, 따라서 연속적인 시계 변화는 다를 수 있다.
형식적인 정의는 이제 주어졌다.시계 세트에서 두 개의 클럭 할당 1} 및 2{\ 각 시간 자동 계산 에 대해 동일한 영역에 속하며, 경비원은 시계 x를 결코 비교하지 않는다number greater than , given any location of , there is a timed bisimulation between the extended states and . More precisely, 이 이등분율은 글자와 위치를 보존하지만 정확한 시계 배정은 보존하지 않는다.[1]: 7
지역 운영
일부 작업은 현재 지역에 걸쳐 정의된다.시계의 일부를 리셋하고, 시간을 보내는 것.
시계 재설정
Given a region defined by a set of (in)equations , and a set of clocks , the region similar to in which the clocks of are restarted is now defined.이 영역은 [ 로 표시되며 다음과 같은 제약조건으로 정의된다.
- 시계 을(를) 포함하지 않는 의 각 제약 조건
- =의 제약 조건 x=
에 의해 정의된 할당 집합은 α 에 대한 할당 집합 [ 0 정확히이다
시간 처리기
지역 을를) 감안하여 시계를 재설정하지 않고도 얻을 수 있는 지역을 의 시간성공자라고 한다 이제 두 개의 동등한 정의가 주어진다.
정의
시계 지역 α′만약을 위해서 각 과제 ν∈ α{\displaystyle\nu\in \alpha}α{\displaystyle \alpha} 다른 시계 지역의{\displaystyle \alpha의}은 time-successor, 주는 긍정적인 진짜 tν, 존재하 α′>0{\displaystyle t_{\nu ,\alpha의}>. 0}일 경우가 ν+tν,α′∈ α′{년.displa
, 그것은 α+tν,α′)α′{\displaystyle \alpha +t_{\nu ,\alpha의}=\alpha'}예를 들어. 이 지역 α{\displaystyle \alpha}제약 조건({\displaystyle\와 같이{0<, x<, 1,0<, y<, 1,x<, y\}의 세트에 의해 정의되}이 time-successor α ′을 의미하지 않습니다.{\displaystyle \alpha의}제약 조건의 집합({\displaystyle\와 같이{0<, x<, 1,y=1\}}. 정의를 실제로, 각 ν에α{\displaystyle\nu\in \alpha}∈, 1−}tν,α ′)ν(y){\displaystyle t_{\nu ,\alpha의}=1-\nu(y) 받는 것으로 하지만, 그런은α+{\displaystyle지}은 진정한 t이 부족하다. t=α ′ \ α α α α + tαα \alpha\ α ααα α { 이 세그먼트를 정의한다.
계산 가능한 정의
이제 주어진 두 번째 정의는 그 제약조건 집합에 의해 주어진 지역의 시간-처리기 세트를 명시적으로 계산할 수 있다.
제한조건 의 집합으로 정의된 영역 을(를) 지정하면 시간 성공자 집합을 정의해 봅시다그러기 위해서는 다음과 같은 변수가 필요하다.T⊆ S형태의 S{S\displaystyle}의 제약 조건의 집합{\displaystyle T\subseteq S})나는 나는{\displaystyle x_{나는}=c_{나는}c정도}. Y⊆ Cy 시계를 세트{Y\subseteq C\displaystyle}자{이\displaystyle}은 S{S\displaystyle}제약 조건은 y>요리 y{\dis 포함한다.복수. Let the set of clocks such that there are no constraints of the form in .
이 (가) 비어 있으면 이(가) 자체적인 시간 후계자다.If , then is the only time-successor of . Otherwise, there is a least time-successor of not equal to . The least time-successor, if is non-empty, contains:
- 의 제약 조건
- >
- ={ x 및
- > 이( S {\ S 조건 i< < {\ x_에 속하지 않도록 y {\에 대해
이 (가) 비어 있는 경우 다음 제약 조건에 의해 최소 시간 소스가 정의된다.
- 의 클럭을 하지 않는 {\S}의 제약 조건
- 제약 z= + 1 z 의 각 제약 조건 < < >+ z Z Z.
특성.
!2 ! 2 C x ( 2 x+ ) C C}( {\이 () 시계 수입니다.[2]: 203
지역자동화
시간 제한 자동 {을(를) 감안할 때 해당 영역 자동화는 제한되지 않은 을(를) 수용하는 유한 자동 또는 Büchi 자동이며 이 자동화는 시계가 영역별로 대체되는A {\ {\ {과 유사하다.직관적으로 영역 자동화는 과 (와) 영역 그래프의 곱으로 구성된다.이 지역 그래프를 먼저 정의한다.
지역 그래프
지역 그래프는 시간 지정 오토암톤을 실행하는 동안 가능한 시계 평가 세트를 모형화하는 루트 방향 그래프다.다음과 같이 정의된다.
- 노드는 지역이고
- 그것의 근원은 초기 영역 0 이며 제한조건 집합에 의해 정의된다 {= C
- 가장자리 집합은,, , α, α, α α, α, α,,α, displaystyle \\ 의 타임-스프로세서 \alpha 에 대한){\ }).
지역자동화
= , , , , , 시간 자동.For each clock , let the greatest number such that there exists a guard of the form in . The region automaton of , denoted by ( ) R은 유한 또는 Büchi 자동이며, 기본적으로 과 (와) 위에 정의된 지역 그래프의 산물이다.즉, 지역 자동화의 각 상태는 의 위치와 지역을 포함하는 쌍이다.동일한 영역에 속하는 두 개의 시계 배정이 동일한 가드를 만족하기 때문에 각 영역에는 어떤 전환이 가능한지 결정할 수 있는 충분한 정보가 포함되어 있다.
공식적으로 지역 자동화는 다음과 같이 정의된다.
- 알파벳은 이고
- 상태 집합은
- 상태 집합은 0 { 0}{\\{\이며 초기 영역은 0{\이다.
- 수용 상태 집합은
- its transition relation contains , for , such that 과 () α 은 (는) 의 시간 값이다
Given any run of , the sequence 은는) [ R의 이며 만[2]: 207 수락하고 있다. 뒤에( (A)= ( ( 이 있다. 특히, A){\이) 단어를 수락할 경우에만 시간 지정 단어를 한다.또한 {의 수락 실행은 ( ) 의 수락 실행에서 계산할 수 있다
참조
- ^ a b Bengtsson, Johan; Yi, Wang L (2003). "Timed Automata: Semantics, Algorithms and Tools". Lectures on Concurrency and Petri Nets. Lecture Notes in Computer Science. 3098: 87–124. doi:10.1007/978-3-540-27755-2_3. ISBN 978-3-540-22261-3.
- ^ a b c Alur, Rajeev; Dill, David L (April 25, 1994). "A theory of timed automata" (PDF). Theoretical Computer Science. 126 (2): 183–235. doi:10.1016/0304-3975(94)90010-8.