評価結果を確認して理解する

このページでは、検出されたアセットの評価を確認し、生成 AI を使用してアプリケーションのソースファイルを分析する方法について説明します。

評価結果には、アプリケーションで見つかったコード行数や呼び出し回数などの詳細が表示されるため、移行の計画に役立ちます。また、分析結果にはプログラムの概要が表示されるため、プログラムのセマンティクスを理解するのに役立ちます。

始める前に

アプリケーションの評価結果を確認する

評価を開いて結果を確認する手順は次のとおりです。

  1. ウェブブラウザで Mainframe Assessment Tool を開きます。
  2. ナビゲーション メニューで [評価] をクリックします。
  3. [評価] ページで、特定の評価を開くには、 展開矢印をクリックします。

評価ダッシュボードが表示され、次のページが含まれます。

ソースコードを検出して分析する

[調査] ページには、評価のためにアップロードしたアプリケーションのソースコードの分析の概要が表示されます。

ソースコードを検出して分析する手順は次のとおりです。

  1. [調査] をクリックします。

  2. レポートタイプを選択するには、[レポートタイプ] リストで、表示するレポートタイプを選択します。

    次の表に、さまざまなレポートタイプとその説明を示します。

    レポートタイプ 説明 詳細
    在庫 スケジューラ構成ファイル(BMC Control-M)など、ファイル数、コード行数、プログラムタイプに関する詳細情報を提供します。
    • ファイルタイプ別のカウント: 言語ごとのファイル数。
    • ファイルタイプ別のコード行数: ファイルタイプ別のコード行数。
    • 実際のコード行数とコメント行数: コード行数とコメント行数の比較。
    • カテゴリ - バッチ/オンライン: バッチ プログラムとオンライン プログラムの比較。
    • コード行数の合計: 評価に含まれるすべてのファイルのコード行数の合計。このデータを使用して、コードベースの全体的なサイズを把握します。
    モジュールタイプ 特に COBOL と JCL の場合、呼び出し関係に基づいてモジュールを分類します。
    • COBOL プログラムから呼び出されるモジュール: COBOL ソースコード内から直接呼び出されるモジュールの数。
    • JCL から呼び出されるモジュール: JCL ファイルで直接呼び出されるモジュールの数。
    • 上位 5 つの COBOL モジュール ユーティリティ: COBOL プログラムで頻繁に使用される ユーティリティのリスト。
    • 上位 5 つの JCL モジュール ユーティリティ: JCL ジョブで頻繁に使用される ユーティリティのリスト。
    複雑さ COBOL プログラムの場合、 サイクロマティック複雑度(McCabe の指標)を使用してソースコードの複雑さを示します。

    McCabe の指標は、ソースコード内の実行パスまたは決定ポイントの数を示します。 この定性的な値は、モダナイゼーションが簡単か複雑かを判断するのに役立ちます。

    • 複雑さの表: 複雑さのカウントなど、 計算された複雑さの指標をファイルごとに分類したものです。複雑さのカウントが多いほど、プログラムが複雑であることを示します。
      • 単純: 複雑さ < 100
      • 中: 100 <= 複雑さ < 500
      • 複雑: 500 <= 複雑さ < 1000
      • 非常に複雑: 1000 <= 複雑さ
    • 複雑さのマッピング: コードベースの複雑さの概要を示す複雑さの表の視覚的な表現。
    呼び出しの依存関係 解決済みの 動的 COBOL 呼び出しや、他の サポートされている言語から抽出された呼び出しなど、アップロードされたすべてのエンティティの呼び出しグラフを表示します。 PL/I の呼び出し解決は静的呼び出しのみをサポートしています。 アイコンのサイズは、受信呼び出しと 送信呼び出しの数に関連しています。
    ドライバ モジュール 他の多くのモジュールを呼び出すモジュールを示します。 アイコンのサイズは、受信呼び出しと送信呼び出しの数に関連しています。
    データセット 評価に関わるすべてのデータセットの詳細ビューを提供します。
    • データセットの系統: 各データセットが さまざまなジョブ、ステップ、プログラムでどのように使用されているかを示します。
    • データセット フィールド: 各データセット内のすべてのフィールドを、 データ型、開始位置、サイズ、キー指標、 その他のプロパティとともに一覧表示します。
    データベース 評価で使用される DB2 テーブルと IMS セグメントを一覧表示します。 各セグメントとテーブルのデータの系統、列、プロパティの詳細を示します。
    孤立したプログラム 別のエンティティを呼び出さず、別のエンティティから呼び出されないすべてのプログラムを一覧表示します。
    • プログラム名: アップロードされたソースコード内で見つかったプログラム モジュールを識別します。このモジュールは、アプリケーションの他の部分から呼び出されたり実行されたりしないようです。
    • 元のソースファイル: 対応するプログラム名のソースコードを含むファイルの名前。
    見つからないモジュール コードで使用されているが、入力分析中に見つからなかったモジュールを示します。
    • ファイルから見つからない: アップロードされた評価ファイル内で見つからなかったモジュールまたはコンポーネントへの参照を含む特定のソースファイル。
    • 見つからないモジュール名: アップロードされたファイル内にないモジュールまたは コンポーネントの名前。
    • 見つからないモジュールタイプ: 見つからないコンポーネントのタイプ。 依存関係の性質を理解するのに役立ちます。例: DATASET_SCHEMACOPYBOOKPROC

    このタブを使用して、不足しているものを把握し、評価を再実行する前にこれらの モジュールを追加することを検討してください。

    解析の問題 ソースコードの解析中に発生したすべてのエラーを示します。
    • ソースファイル: アップロードしたソースコードから、パーサーが問題を見つけた特定のファイルの名前。
    • 重大度: 解析の問題の重大度を示します。例: Warning
    • 問題: コード パーサーによって検出された問題の説明を提供します。
    CICS 呼び出し 各プログラムから行われた CICS 呼び出しとそのパラメータを示します。 コマンド、プログラム、パラメータで結果をフィルタできます。
    JCL ジョブ接続 共有データセット、 DB2 テーブル、IMS セグメントに基づく JCL ジョブ間の依存関係を表示します。
    • 共有データソースに基づく接続ジョブ: 1 つのジョブが共有データソースにデータを書き込み、別のジョブが同じデータソースから読み取る場合、2 つのジョブ間の接続を示します。同じデータソースから読み取るだけのジョブは相互に接続されません。
    • 共有データソースに基づく接続ジョブ(表形式): ジョブ間の接続の詳細を示します。
    • ライターからリーダーへのジョブの依存関係: ライター ジョブ、ライター プログラム、データソース、リーダー プログラム、リーダー ジョブを示します。
    JCL 置換パラメータ 解決済みの JCL パラメータの値を示します。
    • ジョブ名: 特定の JCL ジョブを一意に識別します。これは、バッチ処理を実行するメインフレームの一連の命令です。
    • ステップ名: JCL ジョブ内の単一の実行ステップを識別します。ジョブは 1 つ以上のステップで構成されます。各ステップは通常、特定のプログラムまたはプロシージャを実行します。
    • データ定義名: JCL プロシージャのデータ 定義ステートメントの名前を示します。
    • データセット名: メインフレームのストレージ ボリュームに存在するファイルまたは データセットの名前を識別します。
    • パラメータ名: JCL プロシージャ内の変数として機能するシンボリック パラメータを参照します。
    • パラメータ値: JCL プロシージャ内のシンボリック パラメータに割り当てられた値を参照します。
    トランザクション IMS と CICS のプログラム、トランザクション、 画面間の抽出された関係を表示します。
    • プログラム: オンライン IMS または CICS プログラムの名前。
    • トランザクション: プログラムの実行をスケジュールするために使用できる IMS または CICS トランザクション コード。
    • 画面: プログラムまたはトランザクションで使用される画面またはマップの名前。
    重複するエンティティ 同じプログラム ID を持つプログラムを一覧表示します。
    • 名前: 同じプログラム ID を持つプログラムのセット内のプログラムの 1 つの名前。
    • タイプ: プログラムのタイプ( COBOLJCL など)。
    • ソースファイル: このプログラムを含むソースファイル。
    • 追加のソースファイル: 同じプログラム ID を持つプログラムを含む他のソースファイルを一覧表示します。
    移行可能なユニット アセットを移行ユニットに分割して、予備の移行計画を生成します。
    • 移行可能なユニットのグラフ: 依存関係グラフ(DAG)で移行ユニットが相互にどのように依存しているかを示します。
    • 移行可能なユニットのリスト: 移行可能なユニットの名前、アセット数、ソース行数を含む、移行可能なユニットのリスト。
    • 移行可能なユニットに関連付けられたアセットグラフ、アセットのリスト、アセット タイプも確認できます。

    • アセットグラフ: 移行可能なユニット内のアセット間の依存関係を表示します。
    • アセットリスト: 移行可能なユニット内のアセットを、移行可能なユニット名、アセット名、アセットタイプ、コード行数(ソース行)の列で一覧表示します。

ビジネス ドメインに関する AI 生成の分析情報を確認する

[ドメイン] ページには、この評価に関連付けられたビジネス ドメインに関する AI 生成の分析情報が表示されます。評価には、評価の作成時に指定した数だけ複数のドメインを含めることができます。各ドメインには、独自のステータス、概要、ビジネス ロジック、データフロー、関連アセットがあります。ドメインを使用すると、コードベースの一部を特定のビジネス機能に属するものとして分割できます。

この機能を使用するには、評価の作成時に AI 分析情報を有効にして、ビジネス ドメインを追加する必要があります。このページが表示されない場合は、新しい評価を作成して AI 分析情報を有効にしてください。

アプリケーションのビジネス ドメインに関する AI 生成の説明を取得する手順は次のとおりです。

  1. [ドメイン] をクリックします。

    ドメインのリストと各ドメインのステータスが表示されます。

  2. 特定のドメインの概要、ビジネス ロジック、データフローを表示するには、[詳細を表示] をクリックします。

    アプリケーションのビジネス ドメインに関する AI 生成の詳細な説明が表示されます。これらの説明には、目的、ロジック、処理データ、データフロー、データの依存関係が含まれます。

  3. 特定のドメインを検索するには、[検索] フィールドにドメイン名を入力します。

  4. 省略可: このドメインに関連付けられたアセットのリストを表示するには、[アセットを表示] をクリックします。

ドメイン画像

[ドメイン] ページには、ビジネス ドメインを表す AI 生成の画像も表示されます。 各ドメイン画像は、ドメイン仕様に基づいて生成され、ドメインで説明されている機能とシステムを視覚的に表現します。

ドメイン画像の生成には次の要件があります。

  • グローバル Agent Platform エンドポイントを使用する。
  • サポートされている AI モデル: Gemini 3.5 Flash、 Gemini 3.1 Pro (プレビュー)、 Gemini 3 Flash (プレビュー)。 Mainframe Assessment Tool は、ドメイン画像の生成に Gemini 3 Pro Image (プレビュー)を使用します。

アセットに関する AI 生成の分析情報を確認する

[アセット] ページには、メインフレーム アプリケーションのプログラムまたはジョブの概要、詳細なロジック、コード候補が表示されます。また、各アセットのステータス、タイプ、言語、実行モード(バッチまたはオンライン)も確認できます。

BMC Control-M などのスケジューラ構成アセットの場合、Mainframe Assessment Tool は、スケジュールされたジョブのリスト、日次、週次、月次のスケジュールのタイムライン、ジョブの関係を示す依存関係グラフなど、スケジューラのワークフローを可視化するのに役立つ AI 生成の分析情報を提供します。このデータは、エクスポートされた HTML レポートと JSON レポートでも確認できます。

[アセット] ページには、検出されたアセットごとに新しいエントリがテーブルに表示され、評価ステータスが表示されます。

  • 保留中: アセットは分析の順番を待っています。
  • 処理中: アセットの評価が進行中です。
  • 完了: アセットの分析が完了しました。
  • 警告: コード生成中にブロックされない警告が発生しましたが、評価は完了しています。

アセットの選択範囲を絞り込むには、Filter フィールドでフィルタを適用します。 フィルタするプロパティ名を選択して、プロパティ値を入力します。たとえば、評価ステータスでアセットをフィルタするには、プロパティ名を Status に設定し、WarningCompleted などの値を選択します。

アセットの詳細を表示する手順は次のとおりです。

  1. [すべてのアセット] テーブルで、アセットの名前をクリックします。

    [概要] ページが表示されます。このページには、アセットの AI 生成の概要、ビジネス ケース、ユーザー操作の分析が表示されます。

  2. アセットの詳細なロジックを表示するには、[詳細なロジック] をクリックします。

    COBOL プログラムと JCL ジョブの場合、[詳細なロジック] ページには、アセットに関する詳細な情報(段落レベル、メソッドレベル)とテストケースが表示されます。評価でスケジューラ構成によって JCL ジョブが参照されている場合、このページには、スケジューラ ジョブの前提条件、依存ジョブ、実行スケジュールに関する情報も含まれます。

  3. 出力フィールドを表示するには、[出力フィールド] をクリックします。

    COBOL プログラムの場合、[出力フィールド] ページには、プログラムが生成する特定のデータフィールドの概要とその説明が表示されます。

  4. コード候補を表示するには、[コード候補] をクリックします。

    COBOL プログラムの場合、[コード候補] ページには、評価の作成時に選択したプログラミング言語で AI 生成のコード候補が表示されます。

  5. BMS 画面を表示するには、[BMS マップ] をクリックします。

    BMS アセットの場合、[BMS マップ] ページにインターフェース画面が表示されます。

Gemini に相談

[Gemini に相談] チャット ペインでは、自然言語を使用して評価を調べることができます。ソースコードやビジネス ロジックに関する質問をしたり、行数や複雑さの指標などの評価データをクエリしたり、グラフなどの可視化を生成したりできます。

Gemini に相談 を使用する手順は次のとおりです。

  1. Gemini に相談アイコン [Gemini に相談] アイコンをクリックします。

  2. 質問を入力して Enter キーを押します。回答はリアルタイムでストリーミングされます。

  3. 新しい会話を開始するには、 [New chat] をクリックします。

  4. 以前の会話を表示または再開するには、 [その他] > [チャット履歴を表示] をクリックします。

  5. 会話を削除するには、 [More] > [Show chat history] をクリックし、 削除する会話の delete をクリックします。

  6. 従来のチャット エクスペリエンスに切り替えるには、 [その他] > [従来のチャットを使用] をクリックします。 元に戻すには、 [ その他] > [拡張チャットを使用] をクリックします。

次のステップ