Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

Polyspace Access Web インターフェイスのグローバル変数

このトピックでは、Polyspace® Access Web インターフェイスに注目します。Polyspace デスクトップ ユーザー インターフェイスでの同等のペインについては、Polyspace デスクトップ ユーザー インターフェイスの [変数アクセス] (Polyspace Code Prover)を参照してください。

[グローバル変数の使用] ペインにはグローバル変数 (およびローカルの静的変数) が表示されます。このペインには、各グローバル変数ごとにこの変数に対して読み取り/書き込みアクセスを実行するすべての関数およびタスクが一覧で表示され、これらの属性値である値、読み取り/書き込みアクセス、共有での使用状況なども表示されます。

[結果の詳細] ペインの アイコンを使用するか、または [ウィンドウ][グローバル変数の使用] に移動して、[グローバル変数の使用] ペインを開きます。

The Global Variables pane lists all global variables along with attributes such as possible range of values, number of read and write operations, and so on.

各変数とそれぞれの読み取り/書き込みアクセスについては、[グローバル変数の使用] ペインに関連する属性があります。変数について、さまざまな属性がこの表に一覧表示されます。

属性説明
変数

変数名

変数の値 (または値の範囲)

ポインター変数の場合、この列は空です。

読み取り数変数が読み取られる回数
書き込み数変数が書き込まれる回数
読み取り元タスク変数を読み取るタスクの名前
書き込み元タスク変数に書き込むタスクの名前
保護

共有変数が同時アクセスから保護されるかどうか

([使用法] 列にエントリ [共有] がある場合にのみ設定されます)

この列の可能なエントリは次のとおりです。

  • クリティカル セクション: コードのクリティカル セクションで変数へのアクセスがある場合

  • 時間的に排他: 相互に排他的なタスクで変数へのアクセスがある場合

これらのエントリについての詳細は、Polyspace Code Prover™ または Polyspace Code Prover Server™ のドキュメンテーションを参照してください。

使用法タスク間で変数が共有されている場合は Shared。そうでなければ空白
ファイル変数宣言を含むソース ファイル
データ型変数のデータ型 (C/C++ データ型または構造体/クラス)

変数名をダブル クリックして、[結果の詳細] ペインで変数に対する読み取り/書き込みアクセス操作を表示します。[結果の詳細] ペインの矢印のシンボル および は、グローバル変数に対して読み取りおよび書き込みアクセスをそれぞれ実行している関数を示します。タスクの詳細は、Polyspace Code Prover または Polyspace Code Prover Server のドキュメンテーションで、解析オプション Tasks (-entry points) を参照してください。

変数へのアクセス操作について、[グローバル変数の使用] ペインに表示されるさまざまな属性をこの一覧表に示します。

属性説明

読み取り/書き込みアクセスを実行する関数またはタスク内の変数の値または値の範囲

ポインター変数の場合、この列は空です。

書き込み元タスクタスクの場合のみ: 変数への書き込みアクセスを実行するタスクの名前
読み取り元タスクタスクの場合のみ: 変数への読み取りアクセスを実行するタスクの名前
ファイル変数へのアクセス操作を含むソース ファイル

[結果の詳細] ペインには、変数に対するアクセス操作の [スコープ] もリストされます。

たとえば、グローバル変数 SHR2 を考えます。

The Result Details pane shows that the variable SHR2 is shared among several tasks and some of the operations on SHR2 are not protected against concurrent access. The Result Details pane also shows the possibly conflicting operations.

ファイル tasks1.c 内の関数 Tserver は、SHR2 に対して 2 つの操作を実行します。これは、[結果の詳細] ペインにある表において でマークされている、Tserver() の 2 つのインスタンスによって示されています。同様に、タスク initregulate による読み込みアクセスも表にリストされ、 でマークされます。

[グローバル変数の使用] ペインの変数の配色は以下のとおりです。

  • 黒: グローバル変数。

  • オレンジ: タスク間で共有されている、同時アクセスに対して保護されていないグローバル変数。

  • オレンジ: タスク間で共有されている、同時アクセスに対して保護されたグローバル変数。

  • グレー: 宣言されているが、到達可能コードで使用されないグローバル変数。

タスクで特定の操作がグローバル変数で実行されても、当該操作が到達不能コードにある場合、そのタスクの色はグレーになります。

[グローバル変数の使用] ペインから取得したグローバル変数および読み取り/書き込みアクセス操作の情報は、データ ディクショナリと呼ばれます。

また [グローバル変数の使用] ペインから次のアクションを実行することもできます。

  •  構造化された変数の表示

  •  呼び出し元および呼び出し先の表示/非表示

  •  到達不能コードでのアクセスの非表示

  •  制限