ツールとツールグループの使い方

IBM Bob Premium Package for Z で利用可能なツールとツールグループについて学びます。

ツール

ツールは、スキャン、分析、変換、検証、リファクタリング、ドキュメントワークフローを動かす低レベルの機能固有の構成要素です。これらのツールはプログラムソースコード、分析データベース、変換アーティファクトと直接やり取りして、正確で繰り返し可能な結果を提供します。

以下の表は IBM® Bob Premium Package for Z に含まれるツールを示しています。

ソースコードスキャンと制御フロー分析

ツール説明
scan_programCOBOL または PL/I プログラムをスキャンして、変数使用状況、ステートメント参照、プログラム構造を含むメタデータデータベースを生成します。get_variables の前に呼び出す必要があります。後続の変数分析に必要なデータベースパスを返します。
get_control_flowデータベースのメタデータを使用して制御フローグラフを計算します。
get_paragraphsメタデータデータベースからパラグラフ情報をクエリーします。
execute_sql_queryメタデータデータベース上で AI 生成の SQL クエリーを実行します。

データディクショナリー管理

ツール説明
get_variablesscan_program でスキャンされたプログラムで使用されている変数のリストを返します。
edit_data_dictionaryデータディクショナリーファイル(DD.json)をユーザーレビューと変更のためにエディターで開きます。説明を生成する前にユーザーが変数にビジネス上の説明を追加できるようにします。
sync_data_dictionaryローカルデータディクショナリーを Z Understand サーバーに保存されている中央コピーのエントリーと同期します。

コード説明と拡張

ツール説明
persona_profileプログラム説明に対するユーザーの好む説明タイプ(アーキテクト、開発者、またはビジネス)を記述します。

リファクタリングとサービス抽出

ツール説明
refactorZ Understand リファクタリング操作を実行し、サービス抽出をガイドするインタラクティブツールです。
submit_refactor_findingsプログラム内でサービスコード抽出の候補となる場所を見つけます。

GraphQL によるプロジェクト全体のアセット探索

ツール説明
sign_in_to_z_understandZ Understand にサインインし、接続された分析プロジェクトの情報を返します。
get_project_programsプロジェクト内のすべてのプログラムを取得します(他のツールで必要な progId を返します)。
get_project_variables特定のプログラムで定義されたすべての変数を取得します(progId が必要です)。
get_project_tablesプロジェクトで定義されたすべてのテーブルを取得します。
get_project_statement_typesプロジェクトで利用可能なすべてのステートメントタイプを取得します。
get_project_paragraphプログラム内の特定のステートメント行を含むパラグラフを見つけます。
get_project_variable_usage_paragraphs特定の変数が使用されているプログラム内のすべてのパラグラフを見つけます。
get_project_resource_usageリソース(テーブル、変数、インクルード、スクリーン、データセット)の使用情報を取得します。
get_project_inventoryプロジェクト内の各タイプ(COBOL プログラム、PL/I プログラム、SQL テーブル、IMS テーブル)のアーティファクト数に関する全体情報を取得します。
get_project_unused_paragraphs (3.0.20+)1 つ以上のプログラムにわたるすべての未使用(デッドまたは到達不能)パラグラフを取得します。例えば、Bob チャットで 「X プログラムの未使用パラグラフを教えて」 と入力すると、指定されたプログラムに関連するすべての未使用パラグラフが表示されます。「'EDIX' を含む名前のプログラムの未使用パラグラフを教えて」 と入力すると、名前に「EDIX」を含むすべてのプログラムの未使用パラグラフが表示されます。
get_project_unused_programs (3.0.20+)プロジェクト内のすべての未使用(デッドまたは到達不能)プログラムを取得します。例えば、Bob チャットで 「プロジェクト内の未使用プログラムを教えて」 と入力すると、利用可能なデータベースレコードに基づいて選択したプロジェクトのすべての未使用プログラムが表示されます。
execute_project_sql_query (3.1.0+)プロジェクトメタデータデータベース全体(プログラム、パラグラフ、変数、ファイル、カーソル、SQL テーブル、コピーブック、トランザクション、JCL ジョブ、CA7 スケジューリングデータ)に対して生の SQL SELECT クエリーを実行します。

Z Open Editor と ZCodeScan ツール

ツール説明
zOpenEditor-architect
zopeneditor-cobol-get-program-control-flowCOBOL Language Server からパース済みの制御フローデータを取得し、プログラム構造と実行パスを分析します。
zopeneditor-cobol-get-data-flow特定の COBOL データ項目のデータフローをトレースし、プログラム内でそのアイテムがどのように変更されるかのグラフ表現を返します。
zopeneditor-pli-get-program-control-flowPL/I Language Server からパース済みの制御フローデータを取得し、プログラム構造と実行パスを分析します。
zopeneditor-get-embedded-languagesCOBOL または PL/I ファイル内の埋め込み言語を検出します。
zOpenEditor-code
zcodescan-check-current-programエディターで現在開いている COBOL または PL/I プログラムファイルに対して IBM ZCodeScan を実行します。スキャンはプログラムをパースし、プログラムの品質に関する linter スタイルの問題を返します。
zcodescan-check-list-of-local-programsローカルワークスペース内の COBOL または PL/I ファイルに対して IBM ZCodeScan を実行します。ファイルは、エディターワークスペースでスキャンするすべてのプログラムを定義する glob 検索パターンのリストで識別されます。
zopeneditor-cobol-format-fileCOBOL Language Server と Z Code Format ファイルを使用して COBOL ファイルをフォーマットします。
zopeneditor-cobol-format-multiple-filesCOBOL Language Server と Z Code Format ファイルを使用して複数の COBOL ファイルをフォーマットします。
zopeneditor-cobol-renumber-fileCOBOL Language Server を使用して COBOL ファイルの番号を振り直し、ファイル内のすべての行にシーケンス番号を追加します。
zopeneditor-cobol-renumber-multiple-filesCOBOL Language Server を使用してワークスペース内の複数の COBOL ファイルの番号を振り直します。
zopeneditor-cobol-unnumber-fileCOBOL Language Server を使用して COBOL ファイルのすべての行からシーケンス番号を削除します。
zopeneditor-cobol-unnumber-multiple-filesCOBOL Language Server を使用してワークスペース内の複数の COBOL ファイルのすべての行からシーケンス番号を削除します。

コード最適化ツール (3.1.0+)

ツール説明
submit_optimize_findings推奨レポートをパースし、各推奨事項を関連する COBOL ファイルの Bob Finding として送信します。

ツールグループ

ツールグループは、プラットフォーム全体での発見性、アクセス制御、使いやすさを向上させるために、機能を論理ドメインに分類します。各グループはコード分析や統合などの関連操作のセットを表し、ユーザーとシステムが意図に基づいて機能を効率的に整理して呼び出せるようにします。

カテゴリーツールグループ説明ID
CoreCoreプライマリ操作に必要な基本ツールセット。core
CoreHintユーザーを支援するための文脈的な提案、ガイダンス、またはインラインヒントを提供します。toolHint
Data & APIScanコードベース、リソース、または環境のスキャンに使用します。scan
Data & APIData Dictionaryメタデータ、スキーマ定義、構造化データの説明との対話を可能にします。dataDictionary
Data & APIGraphQLGraphQL クエリーの生成、実行、スキーマ操作を処理します。graphQl
Code IntelligenceAnalysisコード品質、依存関係、問題に関するインサイトのための静的/動的分析を実行します。analysis
Code IntelligenceExplainコードロジック、関数、ワークフローの説明を生成します。explain
Code ModificationRefactor機能を変えずにコードの再構造化をサポートします。refactor
IntegrationszOpenEditor ArchitectzOpenEditor ワークフロー向けのアーキテクチャー重視ツール。zOpenEditor-architect
IntegrationszOpenEditor CodezOpenEditor 内のコードレベルツール。zOpenEditor-code
IntegrationszOpenDebug Code (3.1.0+)zOpenDebug 内のコードレベルツール。zOpenDebug-code
このトピックはいかがですか?