2
Promela 및 특히 SPIN에서 일하는 것이 처음입니다. 나는 문제를 해결하기 위해 SPIN의 출력을 이해할 수없는 모델을 가지고 있습니다. 여기Error : VECTORSZ가 너무 작습니다.
내가 무슨 짓을 :
pan:1: VECTORSZ is too small, edit pan.h (at depth 0)
pan: wrote untitled.pml.trail
(Spin Version 6.4.5 -- 1 January 2016)
Warning: Search not completed
+ Partial Order Reduction
Full statespace search for:
never claim - (none specified)
assertion violations +
acceptance cycles - (not selected)
invalid end states +
State-vector 8172 byte, depth reached 0, errors: 1
0 states, stored
0 states, matched
0 transitions (= stored+matched)
0 atomic steps
hash conflicts: 0 (resolved)
내가 다음 추적 파일을 검사하여 문제의 원인을 확인하려고 다시 SPIN 실행 다음과 같이
spin -a untitled.pml
gcc -o pan pan.c
./pan
출력했다. (제가 이해), 검증은 "초기화"절차를 수행하는 동안 실패이 출력에 따르면
using statement merging
spin: trail ends after -4 steps
#processes: 1
(global variable dump omitted)
-4: proc 0 (:init::1) untitled.pml:173 (state 1)
1 process created
:
spin -t -v -p untitled.pml
이
이 결과였다 :이 명령을 사용했다. untitled.pml 내에서 관련 코드는 이것이다 : 나는 나에게 있기 때문에 문제의 원인이 무엇 아무 생각이 시점에서init {
int count = 0;
int ordinal = N;
do // This is line 173
:: (count < 2 * N + 1) ->
은 "할"문은 잘 실행한다.
누구든지 SPIN 출력을 이해하는 데 도움을 줄 수 있습니까? 그렇다면 확인 과정에서이 오류를 제거 할 수 있습니까? 모델은 참조 용으로 올바른 출력을 생성합니다.
정말 고마워요! 이것은 완벽하게 작동합니다! 나는 그것의 몇 배를 증가시켜야했다. 그러나 결국, 그것은 성공했다 :) – blackfireize