시계(모델 체크)
Clock (model checking)컴퓨터 과학의 하위 분야인 모델 검사에서 시계는 시간을 모델링하는 데 사용되는 수학적 객체입니다.보다 정확하게는 클럭은 특정 이벤트가 발생한 후 경과한 시간을 측정합니다.이런 의미에서 클럭은 스톱워치의 추상화입니다.특정 프로그램의 모델에서는 클럭의 값은 프로그램이 시작된 이후의 시간 또는 프로그램에서 특정 이벤트가 발생한 이후의 시간 중 하나가 될 수 있습니다.이 클럭들은 타임 오토마톤, 신호 오토마톤, 타임 명제 시간 논리 및 클럭 시간 논리의 정의에 사용됩니다.또한 UPPAAL과 같은 프로그램에서는 timed automata를 [1]구현합니다.
일반적으로 시스템 모델은 많은 클럭을 사용합니다.이러한 여러 클럭은 제한된 수의 이벤트를 추적하기 위해 필요합니다.그 시계들은 모두 동기화되어 있다.즉, 2개의 고정 클럭 간의 값의 차이는 어느 한쪽이 재기동될 때까지 일정합니다.전자제품의 언어로 말하면, 클럭의 지터는 무효라는 것을 의미합니다.
예
10층 건물의 엘리베이터를 모델화한다고 가정해 봅시다. 모델에는 c 9 가 될 수 있습니다. 의 값은 누군가가 에서 엘리베이터를 기다린 시간이 됩니다 시계는 누군가가에 있는 엘리베이터를 호출할 때 시작됩니다(또한 엘리베이터가 마지막으로 그 층을 방문한 이후 이 층에 아직 호출되지 않았습니다). 클럭은 엘리베이터가 에도착하면 끌 수 있습니다이 예에서는 10개의 독립된 이벤트를 추적해야 하기 때문에 실제로는 10개의 클럭이 필요합니다. 시계를 하여 엘리베이터가 특정 층에서 얼마나 많은 시간을 소비하는지 확인할 수 있습니다
이 엘리베이터의 모델은 이러한 시계를 사용하여 엘리베이터의 프로그램이 "엘리베이터가 15초 이상 바닥에 유지되지 않는다고 가정하면, 아무도 엘리베이터를 3분 이상 기다릴 필요가 없다"와 같은 특성을 충족하는지 여부를 주장할 수 있다. 스테이트먼트가 유지되는지 확인하려면 이 15초 미만인 모델을 실행할 때마다 각 3분이 되기 전에 꺼지는지 확인합니다
정의.
형식적으로 X X의 시계 세트는 단순히 유한[1]: 191 세트입니다.시계 세트의 각 요소는 시계라고 불립니다.직관적으로 클럭은 1차 로직의 변수와 유사하며 논리식에 사용될 수 있고 여러 가지 다른 값을 취할 수 있는 요소이다.
클럭 평가
A clock valuation or clock interpretation[1]: 193 over is usually defined as a function from to the set of non-negative real.마찬가지로, 는 R0 n \_{\n의 점으로 간주할 수 있다.
첫 번째 은 0 _입니다.각 클럭을 0으로 송신하는 상수 함수입니다.직관적으로 각 클럭이 동시에 초기화되는 프로그램의 초기 시간을 나타냅니다.
클럭 할당 과 t0t 0의 + C에서+ t로 전송되는 클럭 을 나타냅니다 후 tt 시간 단위가 지났습니다.
클럭의 {\ r가 주어졌을 때 [ {\nu r 0은r {\의 클럭이 리셋되는과 같은 할당을 나타냅니다.으로는[ 는 각 0 으로, 각 r \ \ r는x로
비활성 클럭
UPAAL 프로그램에는 비활성 [2]클럭의 개념이 도입되어 있습니다.클럭 값이 먼저 리셋되지 않고 체크될 가능성이 없는 경우 클럭은 비활성화됩니다.위의 예에서는 i})는 엘리베이터가 i(\i에 도착했을 때 비활성화된 것으로 간주되며 i(\ i에 있는 엘리베이터를 호출할 때까지 비활성 상태로 유지됩니다.
비활성 클럭을 허용하는 경우 x x를 특정 값 에 관련지어 비활성임을 나타낼 수 있습니다. ( ) \ ( x ) \ ( + t ) equals \( \ \ +t )도 같습니다
클럭 제약
원자 클럭 제약조건은 x~ {\x c 의 용어일 입니다. x는 클럭 ~ {\ \sim은 <, = or >, c> {\ c은 정수 등 비교 연산자입니다.위의 예에서는 원자시계 c i { c_}\180 을 하여 층i 에 있는 사람이 3 분 미만을 기다렸다는 것을 15 { s 를 사용하여 엘리베이터가 일부 층에 15 초 이상 머물렀다는 것을 나타낼 수 있습니다. 는 클럭의 x ~)\ c를 만족합니다.
클럭 제약은 원자 클럭 제약의 유한 결합이거나 상수 "true"(빈 결합으로 간주할 수 있음)입니다.밸류에이션 {\는 각 원자 클럭 x~ }{_}i를 만족하는 경우 클럭 제약 조건 를 충족한다
대각 구속조건
콘텍스트에 따라 원자 클럭 제약은 i ~j + { x_ 일 수도 있습니다. 1 x + {\}=는 R 2{\ _ 0에서 대각선을 정의하기 에 이러한 제약을 대각선 제약이라고 합니다.
대각 구속조건을 허용하면 시스템을 기술하는 데 사용되는 공식 또는 자동화의 크기를 줄일 수 있습니다.그러나 대각 구속조건이 허용되면 알고리즘의 복잡성이 증가할 수 있습니다.클럭을 사용하는 대부분의 시스템에서는 대각 구속을 허용해도 로직의 표현력은 향상되지 않습니다.이제 부울 변수와 비대각 구속조건을 사용하여 이러한 구속조건을 인코딩하는 방법을 설명합니다.
대각 i ~ j + {\ x_는 다음과 같이 비대각 구속을 사용하여 시뮬레이션할 수 있다.j(\가 리셋되면 i ~ {\ c가 유지되는지 합니다.부울 b 에서 이 정보를 호출하고 i ~j + { x_를 이 변수로 .})가 리셋되면 ~{{{를 true로 합니다displaystyle 이) < 또는 >, 0 { c
부울 변수를 인코딩하는 방법은 클럭을 사용하는 시스템에 따라 달라집니다.예를 들어 UPPAAL은 부울 변수를 직접 지원합니다.timed automata 및 signal automata는 각각의 위치에서 부울 값을 인코딩할 수 있습니다.클럭 시간 논리 over timed words에서는 새로운 i , , \ _ { , , } 를 사용하여 부울 변수를 부호화할 수 있습니다.이 값은 b , , \ _ { , , 가 false 인 입니다.즉, x { 는 x c {가 false인 한 리셋됩니다.시간 명제의 시간 논리에서는 i{입니다. 는 xi(\displaystyle를 하고 나서 i. ( i ~ + ) ) (xi ~j + ) ( \ {i } )로 대체할 수 있습니다 ( x_ \ _ (\}+ \bot는 \ _의 공식 복사입니다rue와 false constant가 각각 표시됩니다.
클럭 제약에 의해 정의된 세트
클럭 제약에 의해 평가 세트가 정의됩니다.문헌에는 두 가지 종류의 그러한 집합이 고려되고 있다.
구역은 클럭 제약 조건을 충족하는 비어 있지 않은 평가 세트입니다.구역 및 클럭 제약은 차분 경계 매트릭스를 사용하여 구현됩니다.
모델M {\ M에서는 클럭 제약에 한정된 수의 상수를 사용합니다.K K를 가장 큰 상수로 .영역은 K K보다 큰 제약조건이 사용되지 않는 비어 있지 않은 영역이며, 포함에 대해 최소값입니다.
「 」를 참조해 주세요.
메모들
- ^ 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.
- ^ Behrmann, Gerd; David, Alexandre; Larsen, Kim G (November 28, 2006). "A Tutorial on Uppaal 4.0" (PDF): 28.
{{cite journal}}:Cite 저널 요구 사항journal=(도움말)