2

あるプロセスのローカル変数の値に別のプロセスからアクセスすることは可能ですか? たとえば、以下のプログラムでは、マネージャーから my_id の値を読み取りたいとします。

proctype user (byte id){
    byte my_id = id;
}

proctype manager (){
     printf ("my_id : %d \n" , user:my_id);

}


init {
    run user (5);
    run manager();

}
4

2 に答える 2

1

これは、c_code{} および/または c_expr() 構文を使用して実現できます。SPIN マニュアルの例を次に示します。

active proctype ex1()
{   int x;

    do
    :: c_expr { Pex1->x < 10 } ->
        c_code { Pex1->x++; }
    :: x < 10 -> x++
    :: c_expr { fct() } -> x--
    :: else -> break
    od
}

「ex1」のローカル「x」には、c_expr{} 内から「Pex1->x」を使用してアクセスできます。

于 2013-03-06T01:08:21.503 に答える