Jspin
とPromela
を初めて使用しています。 、家庭用警報システムは、個人のIDキーまたはパスワードを使用して活性化し、無効にすることができJspinでmtypeを使用するときの宣言されていない変数エラー
、システムは約30秒の待機期間に入る活性化した後、ユーザーが避難することを可能にする時間を:私は、次のシステムを実装してみました警報が発令された後の安全区域、侵入が検知されたときにも警報器には待機時間または15秒の遅延があり、侵入者がパスワードを入力するかカードキーをスワイプして割り当てられた15秒以内に識別が行われない場合、アラームはオフになり、IDカードまたはパスワードを使用して無効にするまでオンになります。
これはコードです:
mtype = {sigact, sigdeact};
chan signal = [0] of {mtype};
/*chan syntax for declaring and initializing message passing channels*/
int count;
bool alarm_off = true; /*The initial state of the alarm is off*/
active proctype alarm()
{
off:
if
:: count >= 30 -> atomic {signal!sigdeact; count = 0;alarm_off = false; goto on;}
:: else -> atomic {count++; alarm_off = true; goto off;}
fi;
on:
if
:: count >=15 -> atomic { signal!sigact; count = 0;
alarm_off = false; goto off;}
:: else -> atomic {signal!sigact; alarm_off = true; goto off;}
fi;
pending:
if
:: count >= 30 -> atomic {count = 0; alarm_off = false; goto on;}
:: count < 30 -> atomic {count++; alarm_off = false; goto pending;}
fi;
}
私はJspin
でコードを実行すると、私はこのメッセージを得る:
Error: undeclared variable: sigact
をしかし、私は、ヘッダーでこれを宣言しました。
どうすればこの問題を解決できますか?
感謝。私はあなたに答える2つの質問を持っています: 'どのように'与えられた 'proctype'関数に' alarm'と入力を渡すことができますか? (OPの質問によると)。さらに、 'key'または' passoword'を 'alarm'デバイスに渡す' proctype'関数を書いたとします。与えられた 'password'または' key'に基づいて 'alarm'関数をどのように適応させることができますか? stackoverflowの上のコメントは理由もなく、任意の時点で削除される場合があり、それはコメントの限られたスペースの中で、特定の問題を議論することは困難だとして、アレクサンドル・IonutMihai @ –
あなたは、必要な擬似コードなど、独自の質問を、開く必要があります。あなたが私を助けることができる場合 –
この答えで私はあなたのための賞金ボーナスを開始することができます。それが私がここにコメントを書いた理由です。質問を別の回答に投稿しますか?アレクサンドル・IonutMihai @ –