以下に、図面を参照して本実施形態について説明する。図1は、本実施形態のプログラム構成を説明する図である。
本実施形態の実行フロー作成支援プログラム1は、操作情報抽出処理2、入力情報抽出処理3、自動実行部品選択処理4、実行フロー出力処理5をコンピュータに実行させる。
本実施形態の実行フロー作成支援プログラム1は、手順書情報6を読み取って、操作情報抽出処理2、入力情報抽出処理3、自動実行部品選択処理4、実行フロー出力処理5を実行する。そして、実行フロー作成支援プログラム1は、処理の実行結果として、自動実行フロー7と入力値未設定箇所リスト8と、を出力する。
手順書情報6は、所定の作業を実現するための処理項目(以下、単に項目と呼ぶ。)が順序立てて記述された情報である。より具体的には、手順書情報6は、例えば情報システムに対する操作手順が項目毎に記述されたテキストデータである。本実施形態では、手順書情報6は、自然言語で記述されたドキュメントデータであれば良い。
実行フロー作成支援プログラム1は、操作情報抽出処理2において、操作情報を抽出する。操作情報は、手順書情報6に記述された各項目で実施する操作を示す情報である。続いて実行フロー作成支援プログラム1は、入力情報抽出処理3において、操作情報と、操作に必要な入力情報とが対応付けられた入力テンプレートを参照し、項目毎に、操作情報と対応する入力情報を抽出する。
続いて、実行フロー作成支援プログラム1は、自動実行部品選択処理4において、自動実行部品リストデータベースを参照し、項目毎に、操作情報と対応する自動実行部品を選択する。入力テンプレートと自動実行部品リストデータベースの詳細は後述する。
続いて、実行フロー作成支援プログラム1は、実行フロー出力処理5において、選択された項目毎の自動実行部品と、抽出された項目毎の入力情報とを対応付ける。そして、実行フロー作成支援プログラム1は、実行フロー出力処理5において、入力情報に含まれる入力変数のうち、値が設定されていない入力変数の数が最も少なくなる自動実行部品の組み合わせを求め、この組み合わせを自動実行フロー7として出力する。
言い換えれば、本実施形態の実行フロー作成支援プログラム1は、自動実行部品において、不明となる入力情報が最も少なくなるような自動実行部品の組み合わせを自動実行フロー7として出力する。
尚、実行フロー出力処理5において出力される実行フローは、入力情報が設定されていない自動実行部品を含む可能性がある。そこで、実行フロー出力処理5では、入力情報の値が未設定の自動実行部品が含まれる場合、値が未設定の入力情報と、この入力情報と対応する自動実行部品と、をリストにした入力値未設定箇所リスト8を出力する。
本実施形態では、以上のように、手順書情報6に含まれる各項目を示す操作情報から、操作情報に対応する自動実行部品と、入力情報とを取得し、自動実行部品と入力情報との対応付けを行う。そして、本実施形態では、その結果、値が未設定の入力情報が最も少なくなる自動実行部品の組み合わせを、自動実行フロー7として出力する。また、本実施形態では、値が未設定の入力情報を特定した入力値未設定箇所リスト8を出力する。
よって、本実施形態では、手順書情報6に記述された所定の作業を実現するにあたり、適切に自動実行部品を選択することができる。すなわち、本実施形態によれば、修正が少なくなるように自動実行部品を選択できる。
また、本実施形態では、出力された自動実行フロー7において、値が設定されていない入力変数を含む入力情報を容易に特定できるため、自動実行フローの作成にかかる手間を削減できる。
以下の説明では、本実施形態の実行フロー作成支援プログラム1が実装されたコンピュータを「実行フロー作成支援装置」と呼ぶ。
図2は、実行フロー作成支援装置のハードウェア構成の一例を示す図である。本実施形態の実行フロー作成支援100は、それぞれバスBで相互に接続されている入力装置11、出力装置12、ドライブ装置13、補助記憶装置14、メモリ装置15、演算処理装置16及びインターフェース装置17を有する。
入力装置11は、各種情報を入力するために用いられる。出力装置12は、例えばディスプレイ等であり、各種の情報を出力するために用いられる。
インターフェース装置17は、モデム、LANカード等を含み、ネットワークに接続する為に用いられる。
実行フロー作成支援プログラム1は、実行フロー作成支援装置100を制御する各種プログラムの少なくとも一部である。実行フロー作成支援プログラム1は例えば記録媒体18の配布やネットワークからのダウンロードなどによって提供される。実行フロー作成支援プログラム1を記録した記録媒体18は、CD−ROM、フレキシブルディスク、光磁気ディスク等の様に情報を光学的,電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
また、実行フロー作成支援プログラム1を記録した記録媒体18がドライブ装置13にセットされると、実行フロー作成支援プログラム1は記録媒体18からドライブ装置13を介して補助記憶装置14にインストールされる。ネットワークからダウンロードされた実行フロー作成支援プログラム1は、インターフェース装置17を介して補助記憶装置14にインストールされる。
補助記憶装置14は、実行フロー作成支援プログラム1を格納すると共に、必要なファイル,データ等を格納する。メモリ装置15は、コンピュータの起動時に補助記憶装置14から実行フロー作成支援プログラム1を読み出して格納する。そして、演算処理装置16はメモリ装置15に格納された実行フロー作成支援プログラム1に従って、後述するような各種処理を実現している。
図3は、実行フロー作成支援装置の機能を説明する図である。
本実施形態の実行フロー作成支援装置100は、実行フロー作成支援処理部200と、記憶部300とを有する。本実施形態の実行フロー作成支援処理部200は、演算処理装置16が補助記憶装置14やメモリ装置15に格納された実行フロー作成支援プログラム1を実行することで実現される。本実施形態の記憶部300は、補助記憶装置14やメモリ装置15等の記憶装置により実現される。
本実施形態の実行フロー作成支援処理部200は、操作情報抽出部210、入力情報抽出部220、部品選択部230、入力情報対応付け部240、部品組み合わせ部250、実行フロー生成部260、出力部270を有する。
操作情報抽出部210は、操作情報抽出処理2を実現する。入力情報抽出部220は、入力情報抽出処理3を実現する。部品選択部230は、自動実行部品選択処理4を実現する。入力情報対応付け部240、部品組み合わせ部250、実行フロー生成部260、出力部270は、実行フロー出力処理5を実現する。
本実施形態の記憶部300は、自動実行部品リストデータベース310、入力テンプレートデータベース320、同義語辞書データベース330、自動実行部品データデータベース340を格納する。本実施形態において、各データベースは、予め記憶部300に格納されている。
また、本実施形態の記憶部300は、項番別操作情報350、項番別入力情報360、項番別部品リスト370、対応付け結果情報380、部品候補リスト390、自動実行フロー400、入力値未設定箇所リスト410、手順書情報6を格納する。これらの各情報と、各リスト及び自動実行フロー400は、実行フロー作成支援処理部200の各部の処理により生成され、記憶部300に格納される。
以下に、実行フロー作成支援処理部200の有する各部について説明する。本実施形態の操作情報抽出部210は、実行フロー作成支援装置100に入力された手順書情報6から、所定の作業の項目毎に操作情報を抽出した結果を、項番別操作情報350として記憶部300に格納する。
入力情報抽出部220は、入力テンプレートデータベース320と、項番別操作情報350とを参照して項目毎の入力情報を抽出した結果を、項番別入力情報360として記憶部300に格納する。
部品選択部230は、自動実行部品リストデータベース310と、項番別操作情報350と、を参照し、自動実行部品リストデータベース310から項目毎に自動実行部品を選択して割り当てた結果を、項番別部品リスト370として記憶部300に格納する。
入力情報対応付け部240は、自動実行部品リストデータベース310と、項番別入力情報360と、項番別部品リスト370と、に基づき、項目毎に、自動実行部品と入力情報の対応付けを行った結果を、対応付け結果情報380として記憶部300に格納する。
部品組み合わせ部250は、自動実行部品リストデータベース310と、項番別部品リスト370と、対応付け結果情報380と、に基づき、入力情報に値が対応付けられていない部品について、再度割り当ての際の候補となる自動実行部品を抽出する。そして、部品組み合わせ部250は、抽出した自動実行部品を割り当てた項番別部品リスト370を、部品候補リスト390として記憶部300に格納する。また、部品組み合わせ部250は、部品候補リスト390を参照し、値が設定されていない入力変数の数が最小となるように、項目毎の自動実行部品の割り当てを再度行う。
実行フロー生成部260は、部品組み合わせ部250により求められた組み合わせに従った実行フローを生成し、その結果を自動実行フロー400として記憶部300に格納する。また、実行フロー生成部260は、入力情報に値が設定されていない入力変数が含まれる自動実行部品が存在する場合に、該当する自動実行部品と、値が設定されていない入力変数とを対応付けた入力値未設定箇所リスト410を記憶部300に格納する。
出力部270は、記憶部300に格納された自動実行フロー400と、入力値未設定箇所リスト410とを出力する。本実施形態の出力部270は、例えば自動実行フロー400と、入力値未設定箇所リスト410とを、実行フロー作成支援装置100の有するディスプレイや、実行フロー作成支援装置100とネットワークを介して接続された端末装置へ出力しても良い。
次に、図4を参照して手順書情報6について説明する。図4は、手順書情報の一例を示す図である。図4に示す手順書情報6は、項目1〜3を実施するための操作手順が記述されている。
図4の手順書情報6において、項目1は、アプリログファイルをコピーする操作の記述であり、項目2は、作業ディレクトリを圧縮する操作の記述であり、項目3は、圧縮したファイルを転送する操作の記述である。
本実施形態の手順書情報6において、各項目は、作業の順序を示す項番であり、項目と対応する記述には、操作内容を示す具体的なコマンドと、コマンドの引数となる値が含まれる。コマンドの引数となる値は、例えばサーバ名、ファイル名、パス等である。
次に、図5乃至図12を参照して、記憶部300に格納されたデータベースと各情報について説明する。
図5は、自動実行部品リストデータベースの一例を示す図である。本実施形態の自動実行部品リストデータベース310は、情報の項目として、名前、入力情報、出力情報を有し、項目「名前」と、項目「入力情報」及び「出力情報」とが対応付けられている。
項目「名前」の値は、自動実行部品の名称を示す。本実施形態の自動実行部品リストデータベース310は、自動実行フローを実行する情報システムの種類に応じて、予め設けられている。
項目「入力情報」の値は、自動実行部品の入力情報として値が設定される入力変数と、入力変数の型を示す型情報とを示す。図5の例では、《》で括られた単語が型を示す型情報であり、《》に続く記述が入力変数の値である。具体的には、例えば《server》 hostnameの場合には、入力変数の型は、server型であり、値はhostnameとなる。
項目「出力情報」の値は、自動実行部品が実行された際の戻り値である。
尚、図5で、入力情報に含まれる値を、入力情報として値が設定される入力変数と、入力変数の型を示す型情報としたが、本実施形態における入力情報は、例えば入力変数の型と値のパターンや、手順書情報6から抽出した入力変数の型と対応した記述も含む。
図6は、入力テンプレートデータベースの一例を示す図である。本実施形態の入力テンプレートデータベース320は、操作情報と入力情報とが対応付けられている。
具体的には、本実施形態の入力テンプレートデータベース320は、情報の項目として、操作情報と、入力変数の型と値のパターンと、を有し、これらの項目が対応付けられている。
項目「操作情報」の値は、操作内容を示しており、項目「入力変数の型と値のパターン」の値は、操作情報に対応する入力変数の型情報と、入力変数の値との関係を示している。
図6では、例えば操作情報「ファイルをコピーする」と対応する入力変数の型は、《file》、《server》、《directory》である。
また、操作情報「ファイルをコピーする」という記述において、「《file》○を」という記述があった場合に、「○」が型《file》の入力変数の値となる。同様に、「《directory》△に」という記述があった場合、「△」が型《directory》の入力変数の値となる。
尚、本実施形態の入力テンプレートデータベース320は、予め設けられており、編集が可能なものとした。
図7は、同義語辞書データベースの一例を示す図である。本実施形態の同義語辞書データベース330は、予め実行フロー作成支援装置100に設けられている。本実施形態の同義語辞書データベース330は、1つの単語と、その単語と同義の表現とが対応付けられている。
図7の例では、「複写」と対応付けられた同義の表現は、「コピーする」、「複写する」、「コピー」等である。
図8は、項番別操作情報の一例を示す図である。本実施形態の項番別操作情報350は、操作情報抽出部210により抽出され、記憶部300に格納されるものである。項番別操作情報350の抽出の詳細は後述する。
本実施形態の項番別操作情報350は、情報の項目として、項番と、操作情報とを有し、項目「項番」と項目「操作情報」とが対応付けられている。
項目「項番」の値は、項目の値を示す。項目「操作情報」の値は、手順書情報6から取得した操作情報である。
図8の例では、項番「1」と対応する操作情報は、「ファイルをコピーする」であり、項番「2」と対応する操作情報は、「ディレクトリを圧縮する」である。
図9は、項番別入力情報の一例を示す図である。本実施形態の項番別入力情報360は、入力情報抽出部220により抽出され、記憶部300に格納されるものである。項番別入力情報360の抽出の詳細は後述する。
本実施形態の項番別入力情報360は、情報の項目として、項番と、入力情報とを有し、項目「項番」と項目「入力情報」とが対応付けられている。
項目「入力情報」の値は、項番が示す操作情報と対応する入力情報が含む、入力変数の値と、入力変数の型情報とを示す。また、項目「入力情報」の値は、手順書情報6において、入力変数の型と対応する記述を含む。
図9の例では、項番「1」と対応する入力情報は、「《file》アプリログファイル:」と、「《server》サーバ:aplserver1」と、「《directory》作業ディレクトリ:c:\tmp」である。
入力情報「《file》アプリログファイル:」において、入力変数の型を示す型情報は、《file》である。また、手順書情報6における型と対応する記述は、「アプリログファイル」である。入力情報「《file》アプリログファイル:」では、入力変数の値は設定されていない。
入力変数「《server》サーバ:aplserver1」では、入力変数の型を示す型情報は、《server》である。また、手順書情報6における型と対応する記述は、「サーバ」である。また、入力情報「《server》サーバ:aplserver1」では、入力変数の値は、aplserver1である。
図10は、項番別部品リストの一例を示す図である。本実施形態の項番別部品リスト370は、部品選択部230により選択された自動実行部品のリストであり、部品選択部230により記憶部300に格納される。項番別部品リスト370の生成の詳細は後述する。
本実施形態の項番別部品リスト370は、情報の項目として、項番と、自動実行部品名とを有し、項目「項番」と項目「自動実行部品名」とが対応付けられている。項目「自動実行部品名」の値は、自動実行部品の名前を示す。以下の説明では、項番別部品リスト370において、項目「項番」の値と、項目「項番」の値と対応付けられた項目「自動実行部品名」の値とを含む情報を部品リスト情報と呼ぶ。
図10の例では、例えば項番「1」と対応する自動実行部品名は、「ファイルを複写A」である。
図11は、対応付け結果情報の一例を示す第一の図である。本実施形態の対応付け結果情報380は、入力情報対応付け部240により生成され、記憶部300に格納される。対応付け結果情報380の生成の詳細は後述する。
本実施形態の対応付け結果情報380は、情報の項目として、項番と、入力変数と、入力変数の値と、出力対応とを有し、項目「項番」と、その他の項目とが対応付けられている。
以下の説明では、項目「項番」の値と、項目「項番」の値と対応付けられたその他の項目の値とを含む情報を、対応付け結果レコードと呼ぶ。つまり、本実施形態の対応付け結果情報380は、対応付け結果レコードの集合と言える。
項目「入力変数」の値は、項番と対応する入力情報に含まれる入力変数を示す。項目「入力変数の値」の値は、対応する入力変数に設定される値である。項目「出力対応」の値は、対応する入力変数を出力する自動実行部品の項番を示す。
図11の例では、対応付け結果レコード381では、項番「1」の入力変数「《server》 hostname」について、入力変数の値として「サーバ:aplserver1」が設定されることがわかる。
また、図11の対応付け結果レコード382では、入力変数「《file》sourcefil」について、入力変数の値が「アプリログファイル:」となっており、入力変数の値が設定されていないことがわかる。
図11では、対応付け結果レコード383についても、入力変数「《directory》dirname:」について、入力変数の値が「作業ディレクトリ:」となっており、入力変数の値が設定されていないことがわかる。同様に、対応付け結果レコード384についても、入力変数「《file》sourcefil」について、入力変数の値が「圧縮したファイル:」となっており、入力変数の値が設定されていないことがわかる。
図12は、部品候補リストの一例を示す図である。本実施形態の部品候補リスト390は、部品組み合わせ部260により抽出され、記憶部300に格納される。部品候補リスト390の抽出の詳細は後述する。
本実施形態の部品候補リスト390は、情報の項目として、項番と、自動実行部品名とを有し、これらが対応付けられている。
本実施形態の部品候補リスト390における項目「自動実行部品名」の値は、対応する項番を実現する自動実行部品の候補の名前である。以下の説明では、部品候補リスト390において、項目「項番」の値と、項目「項番」の値と対応付けられた項目「自動実行部品名」の値と、を含む情報を、部品候補情報と呼ぶ。
図12では、例えば項番「2」を実現する自動実行部品の候補として、「ディレクトリを圧縮B」という名前の自動実行部品と、「ディレクトリを圧縮C」という名前の自動実行部品と、が挙げられたことがわかる。
次に、図13を参照して本実施形態の実行フロー作成支援装置100の動作について説明する。図13は、実行フロー作成支援装置の動作を説明するフローチャートである。
本実施形態の実行フロー作成支援装置100は、実行フロー作成支援処理部200の操作情報抽出部210により、入力された手順書情報6から項目毎の操作情報を抽出し、項番別操作情報350を記憶部300に格納する(ステップS1301)。
続いて、実行フロー作成支援処理部200は、入力情報抽出部220により、入力テンプレートデータベース320と、項番別操作情報350とを参照して、項番毎の入力情報を抽出し、項番別入力情報360を記憶部300へ格納する(ステップS1302)。
続いて実行フロー作成支援処理部200は、部品選択部230により、自動実行部品リストデータベース310と、同義語辞書データベース330と、項番別操作情報350と、を参照し、項番別部品リスト370を生成して記憶部300へ格納する(ステップS1303)。
続いて実行フロー作成支援処理部200は、入力情報対応付け部240により、自動実行部品リストデータベース310と、項番別入力情報360と、項番別部品リスト370とを参照し、項番毎の自動実行部品と入力情報との対応付けを行う。そして、入力情報対応付け部240は、その結果である対応付け結果情報380を記憶部300へ格納する(ステップS1304)。
続いて実行フロー作成支援処理部200は、部品組み合わせ部250により、自動実行部品リストデータベー310と、項番別部品リスト370と、対応付け結果情報380とを参照し、出力情報が、値が設定されていない入力変数に対応する自動実行部品のリストを抽出する。そして、部品組み合わせ部250は、抽出した自動実行部品を項番別部品リスト370に割り当てた部品候補リスト390を記憶部300に格納する。さらに、部品組み合わせ部250は、部品候補リスト390を参照し、値が設定されていない入力変数を含む入力情報の数が最も少なくなるような自動実行部品の組み合わせを求める(ステップS1305)。
続いて実行フロー作成支援処理部200は、実行フロー生成部260により、ステップS1305で求めた組み合わせに基づく自動実行フロー400を生成し、出力部270により自動実行フロー400を出力する(ステップS1306)。尚、実行フロー生成部260は、ステップS1305で求めた組み合わせにおいて、値が設定されていない入力変数が存在する場合、この入力変数と、この入力変数を含む入力情報と対応する自動実行部品の名前と、項番と、を対応付けた入力値未設定箇所リスト410を生成する。そして、出力部270により、入力値未設定箇所リスト410出力する。
次に、図13に示した各ステップの処理についてさらに説明する。図14は、操作情報抽出部による処理を説明する図である。図14は、図13のステップS1301の処理を示している。
本実施形態の操作情報抽出部210は、手順書情報6が入力されると、手順書情報6に対して形態素解析、係受け解析等の自然言語処理技術により、手順書情報6から目的語と、動詞の情報を抽出する。
具体的には、操作情報抽出部210は、手順書情報6に含まれる各項目の記述から、「○を△する」という形式の情報を操作情報として抽出する。そして、操作情報抽出部210は、項目を特定する番号である項番と、「○を△する」という形式の操作情報とを対応付けて、項番別操作情報350とする(図8参照)。
図15は、入力情報抽出部の処理を説明する図である。図15は、図13のステップS1302の処理を示している。
本実施形態の入力情報抽出部220は、手順書情報6から入力情報を抽出する。より具体的には、入力情報抽出部220は、手順書情報6から、入力情報に含まれる入力変数と、入力変数の値を抽出する。
本実施形態の入力情報抽出部220は、例えば、項番別操作情報350から、項番「1」と対応する操作情報「ファイルをコピーする」を取得する。
次に、入力情報抽出部220は、入力テンプレートデータベース320において、操作情報「ファイルをコピーする」と対応する入力変数の型と値のパターンを取得する。ここで入力情報抽出部220が取得するパターンは、「《file》○を」、「《server》□の《directory》△に」等である。
続いて入力情報抽出部220は、取得したパターンと手順書情報6の項目1の記述とを参照し、出力したパターンに合致する情報を項目毎の入力情報として抽出する。
手順書情報6の項目1の記述から抽出される入力情報は、「《file》アプリログファイル:」、「《server》サーバ:aplserver1」、「《directory》作業ディレクトリ:c:\tmp」となる。
本実施形態の入力情報抽出部220は、以上の処理を手順書情報6の項目毎に行った結果を、項番別入力情報360とする(図9参照)。
図16は、部品選択部の処理を説明する図である。図16は、図13のステップS1303の処理を示している。
本実施形態の部品選択部230は、自動実行部品リストデータベース310と、同義語辞書データベース330と、項番別操作情報350とを参照し、項番毎の操作情報と対応する自動実行部品を選択する。
例えば部品選択部230は、項番「1」と対応する操作情報「ファイルをコピーする」であるため、同義語辞書データベース330を参照し、例えば「コピー」と同義の単語である「複写」を抽出する。
次に、部品選択部230は、自動実行部品リストデータベース310を参照し、名前に「複写」が含まれる自動実行部品を、項番「1」の自動実行部品として抽出する。
ここで、名前に「複写」が含まれる自動実行部品が複数存在した場合、部品選択部230は、対応する入力情報に含まれる入力変数の数が少ない方の自動実行部品を優先して選択しても良い。
例えば、本実施形態の自動実行部品リストデータベース310において、名前に「複写」が含まれる自動実行部品は、「ファイルを複写A」、「ファイルを複写B」の二つである(図5参照)。
この場合、「ファイルを複写A」に対応する入力情報に含まれる入力変数の数は3つであり、「ファイルを複写B」に対応する入力情報に含まれる入力変数の数は4つである。よって、部品選択部230は、項番「1」に対応する自動実行部品として、「ファイルを複写A」を選択する。
尚、本実施形態では、項番に対応する自動実行部品が複数存在する場合に、入力変数の数が少ない自動実行部品を優先的に選択するものとしたが、これに限定されない。項番に対応する自動実行部品が複数存在した場合には、例えば入力情報に含まれる入力変数のうち、値が取得された入力変数の数が多い自動実行部品を優先的に選択しても良い。本実施形態の部品選択部230は、項番に対応する自動実行部品が複数存在した場合には、予め決められた指針に沿って、項番と対応付ける自動実行部品を選択すれば良い。
本実施形態の部品選択部230は、上記の処理を項番別操作情報350に含まれる全ての項番と対応する操作情報に対して実行し、その結果を項番別部品リスト370(図10参照)とする。
図17は、入力情報対応付け部の処理を説明する第一の図である。図17は、図13のステップS1304の処理を示す。
本実施形態の入力情報対応付け部240は、自動実行部品リストデータベース310と、項番別入力情報360と、項番別部品リスト370と、を参照し、項番毎の自動実行部品に対して入力変数の対応付けを行い、その結果を対応付け結果情報380とする。
以下に、図18乃至図22を参照し、本実施形態の入力情報対応付け部240の処理について説明する。図18は、入力情報対応付け部の処理を説明するフローチャートである。
本実施形態の入力情報対応付け部240は、項番別部品リスト370の項番「1」から最後の項番まで、各項番に対応する自動実行部品の入力情報について、ステップS1802以降の処理を実行させる(ステップS1801)。
入力情報対応付け部240は、項番別部品リスト370に項番「1」と対応する自動実行部品の入力情報に含まれる型情報と、項番別入力情報360の項番「1」に対応する入力情報に含まれる型情報とに基づき、入力変数の対応付けを行う(ステップS1802)。
より具体的には、入力情報対応付け部240は、自動実行部品リストデータベース310を参照し、項番別部品リスト370の項番「1」の自動実行部品の入力情報を取得する。また、入力情報対応付け部240は、項番別入力情報360の項番「1」に対応する入力情報を取得する。そして、入力情報対応付け部240は、それぞれの入力情報に含まれる、入力変数の型を示す型情報を照合し、一致する型情報同士を対応付ける。
続いて入力情報対応付け部240は、対応付けた入力情報に値が設定されているか否かを判定する(ステップS1803)。具体的には、入力情報対応付け部240は、項番別入力情報360において、型情報が対応付けられた入力変数に値が設定されているか否かを判定している。
ステップS1803において、値が設定されていた場合、入力情報対応付け部240は、ステップS1801に戻る。
ステップS1803において、値が設定されていない場合、入力情報対応付け部240は、項番別入力情報360において、値が設定されていない入力変数と対応する記述から、作用を示す用語を抽出する(ステップS1804)。つまり、入力情報対応付け部240は、値が設定されていない入力変数を含む入力情報から、作用を示す用語を抽出する。作用を示す用語とは、操作の内容を示す用語である。
ステップS1804において、作用を示す用語が存在しない場合、入力情報対応付け部240は、後述するステップS1809へ進む。
ステップS1804において、作用を示す用語が存在する場合、入力情報対応付け部240は、項番別操作情報350を参照し、先行する項番の操作情報を、ステップS1804で抽出した用語で検索する(ステップS1806)。
検索した結果、抽出した用語と一致する用語が存在する場合(ステップS1807)、入力情報対応付け部240は、項番別操作情報350において、操作情報に一致する用語が存在する項番を、対応付け結果情報380の出力対応に格納する(ステップS1808)。
ステップS1807において、一致する用語が存在しない場合、入力情報対応付け部240は、項番別入力情報360において、先行する項番の入力情報に、型が一致し、且つ値が設定された入力変数が存在するか否かを判定する(ステップS1809)。ステップS1809において、該当する入力変数が存在する場合、該当する入力変数の値を、自動実行部品の入力情報において値が設定されていない入力変数を対応付ける(ステップS1810)。
ステップS1809において、該当する入力変数が存在しない場合、後述するステップS1811へ進む。
入力情報対応付け部240は、ステップS1801からステップS1810までの処理を項番別部品リスト370に含まれる全ての項番について実行する(ステップS1811)。
本実施形態の対応付け結果情報380は、図18の処理を実行した結果の情報である。
以下に、図19乃至図22を参照して入力情報対応付け部240の処理を具体的に説明する。
図19は、入力情報対応付け部の処理を説明する第二の図である。図19において、入力情報191a〜191cは、項番別入力情報360における項番「1」と対応する入力情報を示す。入力情報192は、項番別入力情報360における項番「2」と対応する入力情報を示す。入力情報193a〜193cは、項番別入力情報360における項番「3」と対応する入力情報を示す。
図19において、自動実行部品194は、項番別部品リスト370における項番「1」と対応する自動実行部品である。自動実行部品195は、項番別部品リスト370における項番「2」と対応する自動実行部品である。自動実行部品196は、項番別部品リスト370における項番「3」と対応する自動実行部品である。
まず、項番「1」の自動実行部品194の入力情報と、項番別入力情報360の項番「1」と対応する入力情報191a〜191cとの対応付けについて説明する。自動実行部品194の入力情報は、入力情報対応付け部240により、自動実行部品リストデータベース310から抽出される。
入力情報191aは、「《server》サーバ:aplserver1」である。よって、入力情報対応付け部240は、自動実行部品194の《server》型の入力変数hostnameに、値「aplserver1」を対応付ける。
また、入力情報191bは、「《file》アプリログファイル:」である。よって、自動実行部品194の《file》型の入力変数sourcefileに対応付けられる値は存在しない。また、入力情報191bと対応する項番「1」より先行する項番は存在しない。
このため、入力情報対応付け部240は、入力情報191bに含まれる型と対応する記述に、作用を示す用語が含まれるか否かを判定する。入力情報191bに含まれる型と対応する記述は、「アプリログファイル」であるから、該当する用語は存在しない。よって、自動実行部品194の《file》型の入力変数sourcefileの値は未設定となる。
入力情報191cは、「《directory》作業ディレクトリ:c:\tmp」である。よって、入力情報対応付け部240は、自動実行部品194の《directory》型の入力変数destinationに、値「c:\tmp」を対応付ける。
次に、項番「2」の自動実行部品195の入力情報と、項番別入力情報360の項番「2」と対応する入力情報192との対応付けについて説明する。自動実行部品195の入力情報は、入力情報対応付け部240により、自動実行部品リストデータベース310から抽出される。
入力情報192は、「《directory》作業ディレクトリ:」である。よって、自動実行部品195の《server》型の入力変数hostnameに対応付けられる値は、入力情報192には存在しない。また、入力情報192には、自動実行部品195の《directory》型の入力変数dirnameに対応付けられる値も存在しない。
そこで、入力情報対応付け部240は、項番「2」より先行する項番「1」の入力情報191a〜191cのうち、《server》型の入力変数の値「aplserver1」を、自動実行部品195の《server》型の入力変数hostnameの値に対応付ける。
同様に、入力情報対応付け部240は、項番「2」より先行する項番「1」の入力情報191a〜191cのうち、《directory》型の入力変数の値「c:\tmp」を、自動実行部品195の《directory》型の入力変数dirnameの値に対応付ける。
次に、項番「3」の自動実行部品196の入力情報と、項番別入力情報360の項番「3」と対応する入力情報193a〜193cとの対応付けについて説明する。自動実行部品196の入力情報は、入力情報対応付け部240により、自動実行部品リストデータベース310から抽出される。
入力情報193aは、「《file》圧縮したファイル:」である。入力情報193bは、「《transserver》転送先サーバ:bkserver」である。入力情報193cは、「《transfile》転送先:c:\log\bk.log」である。
よって、自動実行部品196の《server》型の入力変数hostnameの値に対応付けられる値は、入力情報193a〜193cには存在しない。そこで、入力情報対応付け部240は、項番「3」より先行する項番「1」の入力情報191a〜191cのうち、《server》型の入力変数の値「aplserver1」を、自動実行部品196の《server》型の入力変数hostnameの値に対応付ける。
入力情報対応付け部240は、自動実行部品196の《transserver》型の入力変数transhostnameに、入力情報193bにおける入力変数の値「bkserver」を対応付ける。
また、自動実行部品196の《file》型の入力変数sourcefileの値に対応付けられる値は、入力情報193aに《file》型の入力変数の値が設定されていないため、存在しない。
また、項番別入力情報360において、項番「3」に先行する項番「1」の入力情報191a〜191cと、項番「2」の入力情報192と、に、入力情報193aと型が一致し、且つ値が設定された入力情報は存在しない。すなわち、入力情報191a〜191c及び入力情報192には、《file》型で且つ入力変数に値が設定された入力情報は存在しない。
よって、入力情報対応付け部240は、入力情報193aに含まれる型と対応する記述に、作用を示す用語が含まれるか否かを判定する。入力情報193aに含まれる型と対応する記述は、「圧縮したファイル」であり、「圧縮」が作用を示す用語に該当する。
したがって、入力情報対応付け部240は、項番別操作情報350を参照し、項番別操作情報350において、先行する項番と対応する操作情報に、「圧縮」という用語を含む操作情報が存在するか否かを判定する。
この場合、項番別操作情報350の項番「2」と対応する操作情報は、「ディレクトリを圧縮する」であるため、項番「2」の操作情報が該当する操作情報である。
したがって、入力情報対応付け部240は、自動実行部品196の《file》型の入力変数sourcefileに、項番「2」の出力を対応付ける。
次に、入力情報対応付け部240は、自動実行部品196の《transfile》型の入力変数destinationfileに、入力情報193cにおける入力変数の値「c:\log\bk.log」を対応付ける。
以上のようにして、入力情報対応付け部240は、入力情報の対応付けを行う。
図20は、対応付け結果情報の一例を示す第二の図である。図20に示す対応付け結果情報380Aは、入力情報対応付け部240が図19で説明した対応付けの処理を行った結果の対応付け結果情報である。
図20に示す対応付け結果情報380Aでは、対応付け結果レコード382と、対応付け結果レコード384において、入力変数の値が対応付けられていない。また、対応付けレコード384には、項目「出力対応」の値として、項番「2」が格納されている。この対応付けは、項番「2」の操作により出力される値が、自動実行部品196の《file》型の入力変数sourcefileに対応することを示している。
次に、図21を参照して本実施形態の部品組み合わせ部250の処理について説明する。図21は、部品組み合わせ部の処理を説明する図である。図21は、図13のステップS1305の処理を示す。
本実施形態の部品組み合わせ部250は、自動実行部品リストデータベース310と、項番別部品リスト370と、対応付け結果情報380と、を参照し、自動実行部品の組み合わせを決定する。
以下に、図22乃至図26を参照し、本実施形態の入力情報対応付け部240の処理について説明する。図22は、部品組み合わせ部の処理を説明するフローチャートである。
本実施形態の部品組み合わせ部250は、対応付け結果情報380の項目「出力対応」に値が設定されている全ての対応付けレコードについて、後述するステップS2202の処理を行う(ステップS2201)。
部品組み合わせ部250は、対応付け結果情報380の項目「出力対応」に設定されている項番の自動実行部品の名前と、名前が一致する自動実行部品を自動実行部品リストデータベース310から自動実行部品を抽出する。そして、部品組み合わせ部250は、抽出した自動実行部品から、項目「出力対応」に値が設定された項番の自動実行部品の入力変数と対応する変数を出力する自動実行部品を取得し、部品候補リスト390に追加する(ステップS2202)。
部品組み合わせ部250は、ステップS2202の処理を、項目「出力対応」に値が設定されている全ての対応付けレコードについて行う。
続いて部品組み合わせ部250は、各組み合わせについて、評価値、候補部品の組み合わせを初期化する(ステップS2204)。尚、本実施形態の評価値とは、値が設定されていない入力変数の数を示す。
部品組み合わせ部250は、対応付け結果情報380において、項目「出力対応」の値が設定された項番の自動実行部品の入力情報に、項目「出力対応」の値として設定された項番の自動実行部品の出力を対応付ける(ステップS2205)。続いて部品組み合わせ部250は、値が未設定の入力変数の数を評価値として求める(ステップS2206)。
続いて部品組み合わせ部250は、評価値が保持されている最小評価値よりも小さいか否かを判定する(ステップS2207)。 尚、最小評価値は、例えば実行フロー作成支援装置100の有するメモリ装置15等に保持される。
ステップS2207において、ステップS2206で求めた評価値が最小評価値以上である場合、部品組み合わせ部250は、ステップS2204へ戻る。
ステップS2207において、ステップS2206で求めた評価値が最小評価値より小さい場合、部品組み合わせ部250は、この評価値を最小評価値として保持し、このときの自動実行部品の組み合わせを記憶する(ステップS2208)。
本実施形態の部品組み合わせ部250は、ステップS2204からステップS2208までの処理を、部品候補リスト390に含まれる全ての自動実行部品を用いた組み合わせについて行う(ステップS2209)。
続いて、実行フロー生成部260は、記憶された自動実行部品の組み合わせに応じた自動実行フロー400と、値が設定されていない入力変数を示す入力値未設定箇所リスト410とを生成し、出力部270により自動実行フロー400と入力値未設定箇所リスト410とを出力する(ステップS2210)。
以下に、図23、24を参照し、図22のステップS2201からステップS2203までの処理について説明する。
図23は、部品候補リストの生成を説明する第一の図である。対応付け結果情報380Aにおいて、項目「出力対応」の値として設定されている項番は、項番「2」である。また、項番別部品リスト370において、項番「2」を含む部品リスト情報は、部品リスト情報371である。部品リスト情報371において、項番「2」と対応付けられている自動実行部品の名前は、「ディレクトリを圧縮A」である。
そこで、部品組み合わせ部250は、自動実行部品リストデータベース310から、自動実行部品の名前に「ディレクトリを圧縮」を含む自動実行部品を抽出する。図23の例では、自動実行部品リストデータベース310から、名前が「ディレクトリを圧縮A」「ディレクトリを圧縮B」「ディレクトリを圧縮C」の自動実行部品195、195A、195Bが抽出される。つまり、部品組み合わせ部250は、同じ操作を行う複数の自動実行部品を抽出する。
図24は、部品候補リストの生成を説明する第二の図である。部品組み合わせ部250は、自動実行部品195、195A、195Bが抽出されると、抽出された自動実行部品から、項番「3」の自動実行部品の入力変数となる変数と型情報が一致する値を出力する自動実行部品を取得する。
項番「3」の自動実行部品の入力変数は、「《file》sourcefil」である。よって、部品組み合わせ部250は、自動実行部品195、195A、195Bの中から、出力情報に《file》型の値が含まれる自動実行部品195A、195Bを取得する。
そして、部品組み合わせ部250は、項番別部品リスト370の項番「2」と対応する自動実行部品名の値に、自動実行部品195A、195Bの名前を格納し、部品候補リスト390として記憶部300に格納する。
図24の部品候補リスト390では、部品候補情報391における自動実行部品名は、「ディレクトリを圧縮B」「ディレクトリを圧縮C」である。
次に、図25、26を参照し、図22のステップS2204からステップS2209までの処理について説明する。
図25は、部品組み合わせ部の処理を説明する第二の図である。図25では、項番「2」の自動実行部品を、自動実行部品名「ディレクトリを圧縮B」の自動実行部品195Aとした場合を示している。
図25(A)は、部品候補リスト390に基づく自動実行部品の入力情報の対応付けを説明する図である。図25(B)は、部品候補リスト390に基づく自動実行部品の入力情報の対応付けの結果である対応付け結果情報380Bを示す図である。
自動実行部品195Aの出力情報には、「《file》 compressedfilename」が含まれており、圧縮された《file》型の変数が出力される。したがって、自動実行部品195Aから出力される変数「《file》 compressedfilename」は、項番「2」の入力情報193aの「《file》圧縮したファイル:」と値として対応付けられる。
よって、この場合、自動実行部品196の《file》型の入力変数sourcefileには、自動実行部品195Aの出力情報には、「《file》 compressedfilename」の値が対応付けられる。
図25(B)に示す対応付け結果情報380Bでは、対応付け結果レコード384において、入力変数「《file》sourcefile」について、《file》型の入力変数sourcefileの値に、「compressedfilename」が対応付けられていることがわかる。
したがって、対応付け結果情報380Bでは、値が設定されてない入力変数を含む入力情報は、対応付けレコード382のみとなる。したがって、対応付け結果情報380Bにおける評価値は、1となる。
図26は、部品組み合わせ部の処理を説明する第三の図である。図26では、項番「2」の自動実行部品を、自動実行部品名「ディレクトリを圧縮C」の自動実行部品195Bとした場合を示している。
図26(A)は、部品候補リスト390に基づく自動実行部品の入力情報の対応付けを説明する図である。図26(B)は、部品候補リスト390に基づく自動実行部品の入力情報の対応付けの結果である対応付け結果情報380Cを示す図である。
自動実行部品195Bの出力情報には、「《file》 compressedfilename」が含まれており、圧縮された《file》型の変数が出力される。したがって、自動実行部品195Bから出力される変数「《file》 compressedfilename」は、項番「2」の入力情報193aの「《file》圧縮したファイル:」と値として対応付けられる。
よって、この場合、自動実行部品196の《file》型の入力変数sourcefileには、自動実行部品195Bの出力情報には、「《file》 compressedfilename」の値が対応付けられる。
また、自動実行部品195Bの入力情報は、入力変数「《server》 hostname」、入力変数「《directory》 dirname」に加えて、入力変数「《type》compresstype」を含む。
この場合、項番「2」に先行する項番「1」の入力情報191a〜191cに、《type》型の入力変数が存在しないため、自動実行部品195Bの入力変数「《type》compresstype」に対応付ける値は存在しない。
したがって、図26(B)に示す対応付け結果情報380Cでは、対応付け結果レコード384の《file》型の入力変数sourcefileの値に「compressedfilename」が対応付けられているが、項番2と対応する対応付け結果レコード385では、入力変数「《type》compresstype」は値が設定されないままとなる。
したがって、対応付け結果情報380Cでは、値が設定されてない入力変数を含む入力情報は、対応付け結果レコード382、385となる。したがって、対応付け結果情報380Bにおける評価値は、2となる。
よって、本実施形態の部品組み合わせ部250は、評価値が1となる自動実行部品194、195A、196の組み合わせを記憶する。
尚、部品組み合わせ部250は、自動実行部品の組み合わせが決定した後に、項番別部品リスト370が決定した自動実行部品の組み合わせとなるように更新することで、自動実行部品の組み合わせを記憶しても良い。
次に、図27を参照して本実施形態の実行フロー生成部260の処理について説明する。図27は、実行フロー生成部の処理を説明する図である。図27は、図13のステップS1306の処理を示す。
本実施形態の実行フロー生成部260は、自動実行部品データデータベース340と、項番別部品リスト370と、対応付け結果情報380と、を参照し、自動実行フロー400を作成する。尚、ここで参照される項番別部品リスト370は、項番毎の自動実行部品が、部品組み合わせ部250により結果された組み合わせとなるように更新されたものとした。
また、本実施形態の自動実行部品データデータベース340は、自動実行部品毎に、自動実行部品が実行する処理が記述されたデータが格納されたデータベースである。
また、本実施形態の実行フロー生成部260は、対応付け結果情報380において、値が設定されていない入力変数が存在する場合に、入力値未設定箇所リスト410を生成する。そして、実行フロー生成部260は、出力部270により、自動実行フロー400と、入力値未設定箇所リスト410とを出力する。
図28は、実行フローと入力値未設定箇所リストの一例を示す図である。図28では、対応付け結果情報380C(図26参照)に基づき自動実行フロー400と、入力値未設定箇所リスト410とが生成された場合の例である。
図28(A)は、自動実行フロー400の一例を示しており、図28(B)は入力値未設定箇所リスト410の一例を示している。
図28(A)に示す自動実行フロー400は、項番「1」を自動実行部品194により実行するステップS31、項番「2」を自動実行部品195Bにより実行するステップS32、項番「3」を自動実行部品196により実行するステップS33を含む。
また、図28(B)に示す入力値未設定箇所リスト410は、情報の項目として、項番と、自動実行部品名と、入力変数と、を有する。
図28(B)の例では、項番「1」の自動実行部品名「ファイルを複写A」という自動実行部品の入力変数sourcefileの値が未設定であることがわかる。
以上のように、本実施形態では、入力情報に未知の値を含む処理よりも前に実行された処理のうち、処理結果が未知の値と対応する処理を実現する自動実行部品を、処理結果の出力まで行う自動実行部品へ変更することで、入力と出力とを関連付ける。
したがって、本実施形態によれば、手順書情報6に記述された作業項目を実行する自動実行部品の選択において、入力情報に含まれる未知の値が少なくなるように自動実行部品を選択できる。また、本実施形態は、自動実行フロー400と共に、入力値未設定箇所リスト410を出力するため、自動実行フロー400を作成する上で不足している情報を容易に把握することができる。
尚、本実施形態の実行フロー作成支援装置100は、手順書情報6を各種の方法により取得することができる。具体的には、例えば実行フロー作成支援装置100は、ネットワークを介して実行フロー作成支援装置100と通信が可能な端末装置から手順書情報6を取得しても良い。この場合、実行フロー作成支援装置100は、自動実行フロー400と入力値未設定箇所リスト410とを端末装置のディスプレイ等に表示させても良い。
また、本実施形態の実行フロー作成支援装置100は、例えば手順書情報6が格納された記録媒体から手順書情報6を取得しても良い。この場合、実行フロー作成支援装置100は、自動実行フロー400と入力値未設定箇所リスト410とを実行フロー作成支援装置100のディスプレイ等に表示させても良い。
開示の技術では、以下に記載する付記のような形態が考えられる。
(付記1)
所定の作業を実現するために複数の処理項目が順序立てて記述された作業手順情報から、前記複数の処理項目の記述より目的語と動詞を含む複数の操作情報をそれぞれ抽出し、
操作情報毎に入力情報を複数定義した入力テンプレートを参照し、前記複数の処理項目毎に対応する入力情報を抽出し、
前記操作情報、前記入力情報、及び出力情報を有する複数の自動実行部品を参照し、処理項目毎に抽出した操作情報から、処理項目毎の自動実行部品を選択し、
選択した処理項目毎の自動実行部品について、不明となる入力情報が少なくなるように作業手順情報に対応する自動実行部品群を選択する、処理をコンピュータに実行させる実行フロー作成支援プログラム。
(付記2)
前記自動実行部品群を選択する処理は、
前記処理項目毎に選択された第一の自動実行部品が含む第一の入力情報と、前記処理項目毎に抽出された第二の入力情報と、を対応付け、
前記対応付けの結果に応じて、前記第一の自動実行部品よりも前に実行される第二の自動実行部品を変更する、付記1記載の実行フロー作成支援プログラム。
(付記3)
前記対応付ける処理は、
前記第二の入力情報に、前記第一の入力情報と対応する情報が存在しない場合に、
前記第一の入力情報から、操作の内容を示す用語を抽出し、
複数の前記第二の自動実行部品のそれぞれが有する複数の操作情報のうち、前記用語が含まれる操作情報を有する第二の自動実行部品と対応する前記処理項目を、前記第一の入力情報と対応付ける、付記2記載の実行フロー作成支援プログラム。
(付記4)
前記変更する処理は、
前記第一の入力情報と対応付けられた前記処理項目に対応して選択された前記第二の自動実行部品を、
前記第二の自動実行部品と同じ操作を行い、且つ操作を行った結果を出力する第三の自動実行部品に変更する、付記3記載の実行フロー作成支援プログラム。
(付記5)
前記変更する処理は、
前記第二の入力情報が対応付けられていない前記第一の入力情報の数が最も小さくなるように、前記第三の自動実行部品を選択する、付記4記載の実行フロー作成支援プログラム。
(付記6)
選択された前記自動実行部品群に応じた自動実行フローを生成する、処理を前記コンピュータに実行させる付記1乃至4の何れか一項に記載の実行フロー作成支援プログラム。
(付記7)
選択された前記自動実行部品群において、
前記第二の入力情報が対応付けられていない前記第一の入力情報を特定するリストを生成する処理を、前記コンピュータに実行させる付記5又は6記載の実行フロー作成支援プログラム。
(付記8)
コンピュータによる実行フロー作成支援方法であって、該コンピュータが、
所定の作業を実現するために複数の処理項目が順序立てて記述された作業手順情報から、前記複数の処理項目の記述より目的語と動詞を含む複数の操作情報をそれぞれ抽出し、
操作情報毎に入力情報を複数定義した入力テンプレートを参照し、前記複数の処理項目毎に対応する入力情報を抽出し、
前記操作情報、前記入力情報、及び出力情報を有する複数の自動実行部品を参照し、処理項目毎に抽出した操作情報から、処理項目毎の自動実行部品を選択し、
選択した処理項目毎の自動実行部品について、不明となる入力情報が少なくなるように作業手順情報に対応する自動実行部品群を選択する、実行フロー作成支援方法。
尚、上記実施形態に挙げた構成等に、その他の要素との組み合わせ等、ここで示した構成に本発明が限定されるものではない。これらの点に関しては、本発明の趣旨を逸脱しない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。