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

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

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

始める前に

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

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

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

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

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

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

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

  1. [検出] をクリックします。

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

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

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

    McCabe の指標は、ソースコード内の実行パスまたは決定ポイントの数を表します。この定性的な値は、モダナイズが容易なアプリケーションと複雑なアプリケーションを特定するのに役立ちます。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ドメイン画像

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

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

  • グローバル Vertex AI エンドポイントの使用。
  • サポートされている 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. 新しい会話を開始するには、[ 新しいチャット] をクリックします。

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

  5. 会話を削除するには、 [その他] > [チャット履歴を表示] をクリックし、削除する会話の削除アイコンをクリックします。

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

次のステップ