JP7003749B2 - 生成プログラム、生成装置、および、生成方法 - Google Patents

生成プログラム、生成装置、および、生成方法 Download PDF

Info

Publication number
JP7003749B2
JP7003749B2 JP2018043492A JP2018043492A JP7003749B2 JP 7003749 B2 JP7003749 B2 JP 7003749B2 JP 2018043492 A JP2018043492 A JP 2018043492A JP 2018043492 A JP2018043492 A JP 2018043492A JP 7003749 B2 JP7003749 B2 JP 7003749B2
Authority
JP
Japan
Prior art keywords
program
input value
input
information
workflow
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018043492A
Other languages
English (en)
Other versions
JP2019159602A (ja
Inventor
直己 小島
康夫 瀬崎
明子 松本
佳弘 木村
祐司 青木
誠 池山
慎司 長谷尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2018043492A priority Critical patent/JP7003749B2/ja
Priority to US16/263,107 priority patent/US20190278568A1/en
Publication of JP2019159602A publication Critical patent/JP2019159602A/ja
Application granted granted Critical
Publication of JP7003749B2 publication Critical patent/JP7003749B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Evolutionary Computation (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Game Theory and Decision Science (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Tourism & Hospitality (AREA)
  • Medical Informatics (AREA)
  • Educational Administration (AREA)
  • Computing Systems (AREA)
  • Development Economics (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、生成プログラム、生成装置、および、生成方法に関する。
近年、業務システムの運用作業を自動化するRBA(Runbook Automation)技術が注目されている。RBA技術を適用すると、運用手順書に従ってオペレータが行っていた作業の多くが自動化されるため、運用負荷の軽減、ヒューマンエラーの削減、運用コストの低減といった様々な効果が期待できる。ここで、運用手順書を用いたオペレータによる運用からRBA技術を用いた運用に切り替える場合、RBA技術に対応したワークフロー定義ファイル(ワークフロー)を作成することになる。ワークフローの作成は、専用の開発環境(エディタ)を用いて行われる。この場合、オペレータは、エディタに予め設定された様々な運用操作部品を、運用手順書に記載されている運用手順に沿って配置することにより、ワークフローを作成する。
オペレータがワークフローを作成すると、ワークフローの作成のための人件費や工数等の作業コストが発生してしまう。そこで、ワークフローの作成を支援するために、運用作業に含まれる操作の操作名と部品名の比較結果に基づいて、操作と部品を対応付ける実行フロー作成支援装置が提案されている(例えば、特許文献1を参照)。
さらに、作業手順情報から抽出した操作情報毎に、入力テンプレートを用いて入力情報を抽出し、不明な入力情報が少なくなるように作業手順情報に対応する自動実行部品を選択する処理をコンピュータに実行させる方法も提案されている(例えば、特許文献2を参照)。
国際公開第2014/136210号 特開2017-33388号
ワークフローの作成の際には、運用手順に含まれている操作と運用操作部品が対応付けられるだけでなく、運用操作部品と運用操作部品に入力される入力値の対応付けも行われる。ここで、運用操作部品と入力値の対応付けは、自動化が困難であり、オペレータが運用手順書の内容を確認しながら手作業で行うことになる。入力テンプレートを用いる方法を用いても、運用手順書の書式が入力テンプレートの書式と異なる場合は、入力値の抽出に失敗してしまう。このため、運用手順書からワークフローを自動生成することは困難である。
本発明は、1つの側面として、本発明は、運用手順書から自動的にワークフローを生成することを目的とする。
1つの態様では、生成プログラムは、作成対象のワークフローに含まれる複数の処理にそれぞれ対応する複数のプログラムについてそれぞれの入力値が特定されているか否かを識別可能に記憶する記憶部を参照して、前記複数のプログラムのうち、入力値が特定された第1のプログラムと、入力値が特定されていない第2のプログラムとを特定し、特定した前記第1のプログラム及び前記第2のプログラム間の前記ワークフロー上での位置関係に基づき、前記第1のプログラムの入力値と前記第2のプログラムの入力値とが一致するか否かの判定を行い、判定結果が肯定的である場合、前記第1のプログラムの入力値を前記第2のプログラムの入力値とする、処理をコンピュータに実行させる。
1つの側面によれば、運用手順書から自動的にワークフローを生成できる。
生成装置の構成の例を説明する図である。 ワークフローの生成方法の例を説明するフローチャートである。 学習処理の例を説明するフローチャートである。 学習処理の例を説明する図である。 操作情報の抽出処理の例を説明する図である。 運用設計情報の生成方法の例を説明する図である。 入力値の抽出方法の例を説明するフローチャートである。 入力値テーブルの例を説明する図である。 運用設計情報の例を説明する図である。 運用設計情報の例を説明する図である。 判定処理の例を説明する図である。 運用設計情報の例を説明する図である。 運用設計情報の例を説明する図である。 入力値の設定方法の例を説明するフローチャートである。 入力値の設定方法の例を説明するフローチャートである。 生成装置のハードウェア構成の例を説明する図である。
以下、図面を参照して、実施形態について説明する。図1は、生成装置10の構成の例を説明する図である。生成装置10は、学習処理部20、作成処理部30、および、記憶部40を備える。記憶部40は、学習用ワークフローデータベース41、同義語辞書データベース42、操作部品情報データベース43、運用手順書データベース44を保持する。記憶部40は、データベースの他に、学習処理部20や作成処理部30での処理で得られたデータ等も記憶する。データベースは、DBと表記される。
学習用ワークフローデータベース41は、学習部21が使用する学習データを記録したデータベースである。ここで、学習データとして、既に生成されているワークフロー(過去のワークフロー等)が用いられる。なお、学習用ワークフローデータベース41は、ワークフローが運用されるシステムについての情報も含んでいても良い。例えば、処理対象の運用手順書の種類に応じて、学習データとなるワークフローが選択される場合、選択基準となる情報も学習用ワークフローデータベース41に含まれ得る。運用手順書データベース44は、処理対象となる運用手順書を記録する。運用手順書は、オペレータが読んで運用処理を実行できるように処理の内容が記載されたファイルである。運用手順書は、例えば、テキストファイルとして生成され得る。同義語辞書データベース42は、運用手順書に記載されている文言を正規化する際に使用する語句と、その語句に正規化される同義語を対応付ける。
操作部品情報データベース43は、運用操作部品の名称や運用操作部品に入力される入力値の種類を特定する情報などを記録する。ここで、運用操作部品(操作部品)は、ワークフロー中の処理を行うために使用されるプログラムである。
学習処理部20は、学習部21と判定部22を備える。学習部21は、学習用ワークフローデータベース41に記録されているワークフローを用いて、複数の運用操作部品の間の距離と、各運用操作部品に入力される入力値の関係性を機械学習する。以下、機械学習を単に学習と称することがある。
判定部22は、学習部21での学習結果を用いて、先行の運用操作部品に対する入力値と、後続の運用操作部品に対する入力値が一致する可能性が高いかを判定する。以下の説明では、運用操作部品に入力される入力値の種類を特定する情報のことを「入力情報」と記載することがある。例えば、運用操作部品がファイルを作成するプログラムであって、その運用操作部品に入力されたファイル名のファイルを作成するものとする。作成対象のファイル名としてtest.txtが入力される場合、入力値は「test.txt」であり、入力情報は、「作成対象のファイル名」となる。
作成処理部30は、操作情報抽出部31、入力情報抽出部32、選択部33、生成部34、出力部35、および、設定処理部50を備える。操作情報抽出部31は、運用手順書から、作業項目番号ごとに操作に関する語句を抽出する。入力情報抽出部32は、操作部品の入力値となり得る語句を、その語句が出現した作業項目番号とともに、運用手順書から抽出し、その語句の属性情報に対応付ける。選択部33は、抽出された操作に関する語句を、運用操作部品と対応付けて、運用設計情報に記録する。このとき、選択部33は、適宜、操作部品情報データベース43を参照できる。生成部34は、設定処理部50の処理結果を用いてワークフローを生成する。出力部35は、生成したワークフローを出力する。
設定処理部50は、特定部51と設定部52を備える。特定部51は、判定部22での判定処理の対象となる入力情報を特定する。設定部52は、運用操作部品への入力値を設定する。作成処理部30や設定処理部50で行われる処理の詳細は後述する。
図2は、ワークフローの生成方法の例を説明するフローチャートである。図2のフローチャートを参照しながらワークフローの生成方法の概略を説明するが、各ステップの処理の詳細は後述する。
学習部21は、過去のワークフローを学習することにより、判定部22が分類器として動作する際に使用するパラメータを生成する(ステップS1)。操作情報抽出部31は、処理対象とする運用手順書を運用手順書データベース44から読み込み、運用手順書に含まれている操作を表わす語句を操作情報として抽出する(ステップS2)。選択部33は、操作部品情報データベース43を参照しながら、抽出された操作情報の各々を運用操作部品に対応付け、得られた結果を運用設計情報に記録する(ステップS3)。このとき、選択部33は、操作情報に対応付けた運用操作部品の各々に入力される情報の種類も、入力情報として特定し、運用設計情報に記録する。入力情報抽出部32は、運用手順書に含まれている入力値を表わす記載を、入力値として抽出する(ステップS4)。設定部52は、運用設計情報に記録されている入力情報の各々に対して、入力値を設定する(ステップS5)。このとき、設定部52は、適宜、ある入力情報の入力値が他の入力情報の入力値と同じ値になる確率が高いかを判定部22が判定した結果を利用する。なお、判定部22は、ステップS1で生成されたパラメータを用いて判定処理を行う。設定部52による入力値の設定が終わると、生成部34はワークフローを生成し、出力部35は生成されたワークフローを出力する(ステップS6)。
図2において、ステップS1はステップS5の処理が行われる前のタイミングであれば、どのタイミングで行われても良い。例えば、ステップS1の処理は、ステップS2以降の処理が行われる前に前処理として行われても良いし、ステップS4の後で行われても良い。さらに、ステップS4の処理は、ステップS2、S3の前に行われても良い。
<学習処理>
図3は、学習処理の例を説明するフローチャートである。学習部21は、学習用ワークフローデータベース41から学習用のワークフローを読み込む(ステップS11)。このとき、学習部21は、学習用ワークフローデータベース41に記録されているワークフローのうちの一部を学習用に使用しても良く、学習用ワークフローデータベース41に記録されている全てのワークフローを学習用に使用しても良い。例えば、オペレータは、処理対象の運用手順書の内容に応じて、学習に使用するワークフローを選択し、選択したワークフローを学習部21に設定しても良い。学習部21は、学習用のワークフローを、学習データのフォーマットに整形する(ステップS12)。ステップS12において、学習部21は、学習用ワークフローから、運用操作部品の入力情報や運用操作部品間の距離など、学習処理に使用される情報を抽出することにより、学習データとする。学習部21は、得られた学習データを、分類器で機械学習する(ステップS13)。なお、学習部21が備える分類器は、機械学習が可能な任意の分類器である。学習部21は、分類器での機械学習により得られた情報を、学習結果として記憶部40に記録する(ステップS14)。なお、ステップS14はオプションであり、ステップS14が行われないように改変されても良い。例えば、ステップS14の処理の代わりに、学習結果を用いた判定を行う際に使用されるパラメータを、学習部21が判定部22に設定しても良い。
図4は、学習処理の例を説明する図である。図4を参照しながら、図3のステップS12、S13で行われる処理の例を詳しく説明する。図4の例では、ワークフロー6x~6zが学習に使用するワークフローとして学習部21に読み込まれているとする。ワークフロー6xには、make_file、make_dir、copy_file、move_fileの順に4つの運用操作部品が含まれている。さらに、ワークフロー6x中には、各運用操作部品が処理に使用する入力情報も含まれているとする。学習部21は、ワークフロー6xから、これらの運用操作部品の間の位置関係と、各運用操作部品に入力される入力情報を機械学習する。ここで、2つの運用操作部品の間の位置関係は、一方の運用操作部品から、他方の運用操作部品までにワークフロー6上に記録されている運用操作部品の数である。以下の記載では、運用操作部品の間の位置関係のことを「運用操作部品の間の距離」と記載することがある。例えば、ワークフロー6xでは、make_fileという運用操作部品の後の最初の運用操作部品がmake_dirであるので、make_fileとmake_dirの間の距離は1である。一方、make_fileという運用操作部品から2つ目の運用操作部品はcopy_fileである。このため、make_fileとcopy_fileの間の距離は2である。
図4の学習データ7に示されるように、1つの運用操作部品に複数の入力値が入力されることがあるため、個々の入力値はその入力値の種類を表わす入力情報に対応付けられる。入力情報として、運用操作部品と入力値の種類の組み合わせを一意に特定する識別情報(ID)が用いられる。
図4の学習データ7に示されるように、部品a、bの入力情報および入力値に、上述した距離が対応付けられて記録される。また、部品aの入力値と部品bの入力値とが等しい場合、部品a、bの入力情報および入力値に「一致」が対応付けられる。部品aの入力値と部品bの入力値とが等しくない場合、部品a、bの入力情報および入力値に「不一致」が対応付けられる。
学習部21は、学習データ7を入力として、機械学習を行い、分類器を生成する。該分類器は、学習済みモデルとも称される。
<操作情報の抽出>
図5は、操作情報の抽出処理の例を説明する図である。図5を参照しながら、図2のステップS2の処理の例を説明する。図5の運用手順書2は、テキストデータとして記載された運用手順書の例である。図5に示す運用手順書2には、項目番号と、各項目番号に対応した手順が記載されている。なお、項目番号は、各手順の順序を示す番号である。
操作情報抽出部31は、運用手順書2に記載されている各作業項目から、項目番号に対応付けて、運用操作に関する語句を抽出する。以下、運用手順書2中の運用操作に関する語句のことを「操作語句」と記載することがある。操作情報抽出部31は、抽出した操作語句を処理するために、同義語辞書データベース42を参照する。
同義語辞書データベース42には、正規化の際に使用する表現(正規表現)と、正規表現に置き換えられる同義語を対応付けている。図5の例では、「ファイルを作成」という文言と、「ファイルを生成」という文言は、いずれも「ファイル作成」という正規表現の同義語である。同様に、「ファイルをコピーする」という文言と、「複写する」という文言は、いずれも「ファイル複写」という正規表現の同義語である。さらに、「ディレクトリを圧縮する」という文言と、「かためる」という文言は、いずれも「ディレクトリ圧縮」という正規表現の同義語である。
操作情報抽出部31は、運用手順書2から抽出した操作語句を、同義語辞書データベース42に含まれている正規表現に置き換えることにより、操作語句を正規化する(ステップS21)。例えば、操作情報抽出部31は、項目=1から「ファイルを生成」という操作語句を抽出する。操作情報抽出部31は、同義語辞書データベース42を参照することにより、項目=1から抽出した操作語句を「ファイル作成」という正規表現に置き換える。同様の処理を他の項目にも行うことにより、操作情報抽出部31は、図5に示す項番別操作情報3を生成する。
<運用設計情報の生成>
図6は、運用設計情報5の生成方法の例を説明する図である。図6を参照しながら、図2のステップS3の処理の例を説明する。選択部33は、項番別操作情報3中の各操作に対応する運用操作部品を決定するために、操作部品情報データベース43を参照する。
操作部品情報データベース43には、運用操作部品に対応付けて、運用操作部品の名称、入力情報、属性が記録されている。運用操作部品の名称は、運用操作部品が行う処理を表わす正規表現に一意に対応付けられる。図6の例では、運用操作部品の名称として、運用操作部品が行う処理を表わす正規表現が使用されている。入力情報は、運用操作部品の処理の際に運用操作部品に入力される情報の種類を表わす識別情報である。例えば、操作部品情報データベース43の1番目のエントリは、make_fileという運用操作部品に対して、ID=61で識別される情報とID=62で識別される情報が入力されることを示している。ここで、ID=61はmake_fileに入力される実行ホスト名を識別する情報であり、ID=62はmake_fileに入力される生成対象のファイル名を識別する情報であるとする。属性は、入力情報ごとにその入力情報として受け付けられるデータタイプが記録される。例えば、操作部品情報データベース43の1番目のエントリでは、ID=61(実行ホスト)に対応する属性はIPアドレスであり、ID=62(生成対象のファイル名)に対応する属性はファイル名である。
選択部33は、項番別操作情報3の各項目に登録されている操作語句をキーとして操作部品情報データベース43を検索し、検索によって得られた運用操作部品と情報を、項目番号に対応付けて運用設計情報5に記録する(ステップS22)。例えば、図6中の項番別操作情報3には、項目番号=1の操作語句として「ファイル作成」が得られている。そこで、選択部33は、「ファイル作成」という文言をキーとして操作部品情報データベース43を検索し、得られた値と得られた運用操作部品を、項目番号=1に対応付けて運用設計情報5に記録する。その他の項目に対しても同様に処理を行うことにより、図6に示す運用設計情報5を生成する。なお、選択部33による操作が終わった段階では、運用設計情報5に含まれる入力情報のいずれに対しても適用される入力値が設定されていない。
<入力値の抽出方法>
図7は、入力値の抽出方法の例を説明するフローチャートである。図7を参照しながら、図2のステップS4の処理の例を説明する。入力情報抽出部32は、運用手順書2を読み込む(ステップS31)。入力情報抽出部32は、運用手順書2から入力値を抽出する(ステップS32)。入力情報抽出部32は、予め、正規表現テーブルを保持していてもよい。正規表現テーブルは、ファイルパスやメールアドレスのように、正規表現が特定できるような入力値の抽出に使用可能な任意のテーブルである。入力情報抽出部32は、正規表現テーブルを用いて、入力値を運用手順書2から抽出する。さらに、入力情報抽出部32は、自然言語処理技術の1つである固有表現抽出手法を用いて、運用手順書2のデータから入力値と属性情報を特定してもよい。その後、入力情報抽出部32は、抽出した入力値を、その入力値が出現した項目の番号とともに入力値テーブルに記録する(ステップS33)。このとき、入力情報抽出部32は、入力値と共に、その入力値の属性も入力値テーブルに記録する。
図8は、入力値テーブル4の例を説明する図である。図8は、図5に示す運用手順書2とは異なる運用手順書2が用いられた場合の入力値テーブル4の一例である。入力値テーブル4には、項目の番号、入力値、属性が対応付けられている。項目の番号は、運用手順書2中で各入力値が記載されていた項目の番号である。属性は、入力値のデータタイプを表わす。
<入力値の設定方法>
図9は、運用設計情報5の例を説明する図である。図9に示す運用設計情報5aは、図4~図6を参照しながら説明した処理と同様の処理によって生成される。以下、図8に示す入力値テーブル4と図9に示す運用設計情報5aが得られている場合を例として、入力値の設定方法の例を説明する。
設定部52は、以下の2つの判定基準を用いて、入力値テーブル4中の入力値を運用設計情報5中の運用操作部品への入力値として設定する。
基準1)入力値の属性と運用操作部品に入力される入力情報の属性が同じであり、かつ、運用操作部品に対応付けられた項目番号と入力値が出現した項目番号が一致する場合、運用操作部品の入力情報を、入力値に設定する。
基準2)ワークフローの学習によって得られた運用操作部品間の順序と各運用操作部品の入力情報の組み合わせの情報に基づいて、入力情報を推測できる場合、推測結果を用いて、運用操作部品に入力される値を設定する。
以下、基準1を用いた入力値の設定方法と、基準2を用いた入力値の設定方法に分けて、入力値の設定の例を説明する。
(1)基準1を用いた入力値の設定方法
基準1を用いた入力値の設定では、設定部52は、運用設計情報5a(図9)に記載されている運用操作部品から処理対象の運用操作部品を選択する。ここでは、move_fileが処理対象に選択されたとする。設定部52は、move_fileに入力される情報のうち、ID=11で識別される入力情報の属性がIPアドレスであることを認識する。次に、設定部52は、入力値テーブル4から、属性に「IPアドレス」が設定されている情報を検索する。図8の例では、設定部52は、属性がIPアドレスである入力値として、「192.168.144.72」を特定する。
設定部52は、処理対象の運用操作部品に対応付けられた項目番号と、入力値テーブル4から特定した入力値に対応付けられた項目番号が一致するかを判定する。この例では、move_fileに対応付けられた項目番号は1であり、入力値テーブル4から特定した入力値「192.168.144.72」に対応付けられた項目番号も1である。そこで、設定部52は、move_fileに入力される情報のうちのID=11で識別される入力情報の値として、入力値「192.168.144.72」を設定する。
同様に、設定部52は、move_fileへの入力情報のうちのID=12で識別される入力情報の属性がファイル名であることを認識する。設定部52は、属性がファイル名である入力値として、「C:¥test¥test.txt」を入力値テーブル4から抽出する。設定部52は、ID=12の入力先となる運用操作部品move_fileと、入力値「C:¥test¥test.txt」のいずれも、項目番号=1に対応付けられているので、ID=12の入力情報の値として、C:¥test¥test.txtを設定する。
次に、設定部52が項目番号=2の運用操作部品(compressed_directory)に対する処理を行う場合の例を説明する。設定部52は、compressed_directoryへの入力情報のうちのID=21で識別される入力情報の属性がIPアドレスであることを認識する。設定部52は、入力値テーブル4から属性がIPアドレスである入力値として、「192.168.144.72」を特定する。しかし、この例では、compressed_directoryに対応する項目番号は2であるのに対し、特定した入力値に対応付けられている項目番号は1である。設定部52は、入力先となる運用操作部品の項目番号と入力値が出現した項目番号が一致しないので、ID=21で識別される入力情報への入力値を設定しない。設定部52は、さらに、他の入力情報についても、基準1に従って、入力値を入力情報に対応付ける。
図10は、設定部52が基準1を用いた処理を行ったことにより得られる運用設計情報5の例を示す。図10中の運用設計情報5bのうちの太線で示す情報は、基準1を用いた処理によって設定された情報である。運用設計情報5bに示す段階では、項目番号=2の運用操作部品に入力される情報が設定されていない。
(2)基準2を用いた入力値の設定方法
基準1を用いた設定処理を行っても設定されない入力値については、基準2を用いた設定処理が行われる。基準2を用いた設定処理では、特定部51が判定処理の対象となる入力情報を特定する。特定部51は、設定対象となっている入力値を使用する運用操作部品(第2の運用操作部品)を特定する。さらに、特定部51は、既に入力値が設定されている運用操作部品(第1の運用操作部品)も特定する。以下の例では、第1の運用操作部品が第2の運用操作部品よりも前に処理が行われる運用操作部品から選択される場合を例として説明する。例えば、特定部51は、運用設計情報5b(図10)中のID=21で識別される入力情報を、入力値の設定対象に決定したとする。特定部51は、ID=21で識別される入力情報の入力先となるcompressed_directoryを第2の運用操作部品とする。特定部51は、第2の運用操作部品よりも前に処理される運用操作部品であって入力値が設定済みの入力情報を有する第1の運用操作部品として、move_fileを特定する。さらに、特定部51は、第1の運用操作部品となるmove_fileに、ID=11~13の各々で識別される3つの入力情報が対応付けられていることから、ID=11~13の入力情報を判定処理に使用する候補として特定する。特定部51は、さらに、特定した第1の運用操作部品と第2の運用操作部品の間の位置関係を特定する。ここで、第1の運用操作部品と第2の運用操作部品の間の位置関係(距離)は、第1の運用操作部品の後に、第2の運用操作部品までに使用される運用操作部品の数で表わされる。第1の運用操作部品と第2の運用操作部品の間の距離は、各運用操作部品に割り振られた項目番号の差分と同じ値である。運用設計情報5bの例では、第1の運用操作部品は項目番号=1のmove_fileであり、第2の運用操作部品は項目番号=2のcompressed_directoryである。このため、第1の運用操作部品と第2の運用操作部品の間の距離は1である。
図11は、判定処理の例を説明する図である。特定部51での特定処理が終わると、判定部22は、判定対象の2つの入力情報について、各々の入力情報が入力される運用操作部品間の位置関係、および、各運用操作部品の入力情報の組み合わせに基づいて入力値を推測できる関係にあるかを判定する。このとき、判定部22は、学習部21による機械学習の学習結果(分類器)を用いて判定処理を行う分類器F(X,X,Yab)として動作する。図11に示すように、分類器への入力データd1は、X、X、Yabである。Xは、第1の運用操作部品の入力情報を特定する識別情報である。第1の運用操作部品の入力情報が複数ある場合、Xは、第1の運用操作部品の入力情報のうちで、判定処理の対象となる入力情報を識別する識別情報である。Xは、第2の運用操作部品の入力情報のうちで入力値の設定対象となっている入力情報を識別する識別情報である。Yabは、第1の運用操作部品と第2の運用操作部品の間の距離である。
判定部22は、分類器Fに入力データd1を入力した場合に、入力データd1が、分類器Fが示す傾向と一致と分類されるか、不一致と分類されるかを判定する。ここで、学習済みモデルは、学習データd2(上述した学習データ7)を機械学習することにより生成される。従って、学習済みモデルは、第1の運用操作部品への入力情報を特定する識別情報、第2の運用操作部品への入力情報を特定する識別情報、および、第1の運用操作部品と第2の運用操作部品の間の距離を、判定結果に変換するための変換パラメータであるといえる。判定部22は、分類器を用いて、入力データd1を判定した結果を、判定結果d3として生成する。
ここでは、compressed_directoryへの入力情報のうち、ID=21で識別される入力情報が入力値の設定対象となっているので、XはID=21である。一方、第1の運用操作部品となっているmove_fileへの入力情報のうち、ID=11が判定処理の対象に選択されたとする。この場合、Yabは、move_fileからcompressed_directoryまでの距離であるため、1である。これらの値が判定部22に入力されると、判定部22は、学習済みモデルに基づいて、判定結果d3を出力する。この例では、判定部22による判定結果が「一致する」であったとする。すると、設定部52は、ID=21で識別される入力情報に設定する入力値を、ID=11で識別される入力情報に設定されている値と同じ値にする。
図12は、運用設計情報の例を説明する図である。図12の例では、設定部52は、compressed_directoryに入力される実行ホストの情報(ID=21)として、ID=11で識別される入力情報に設定されている値と同じ「192.168.144.72」を設定する。このため、運用設計情報5b(図10)は、図12に示す運用設計情報5cに更新されている。
次に、特定部51がcompressed_directoryへの入力情報のうち、ID=22で識別される入力情報を入力値の設定対象として特定したとする。さらに、判定処理に使用する第1の運用操作部品の入力情報として、特定部51が、move_fileへ入力されるID=13の入力情報を選択したとする。すると、分類器に入力される値は以下の通りになる。
:ID=13
:ID=22
ab:1
判定部22が分類器として、学習済みモデルを用いて判定を行った際の判定結果が「一致」であるとする。すると、設定部52は、ID=13で識別される入力情報に設定されている入力値「C:¥test」を、ID=22で識別される入力情報の設定値とする。このため、運用設計情報5c(図12)は、図13に示す運用設計情報5dのように更新される。図10~図13を参照しながら説明したように、生成装置10では、学習済みモデルを用いた判定を行うので、例えば、一部の項目での運用操作部品の入力値が運用手順書2中の記載からは抽出されない運用手順書2についても入力値を設定できる場合がある。例えば、以下のように、運用手順書2の一部の項目において入力値となるファイル名を指定しておらず、入力されるファイルが生成された項目番号を記載しているに過ぎない場合がある。
項番2:作業ディレクトリを圧縮する。圧縮ファイル:C:¥result.zip
項番3:2のファイルをバックアップサーバに転送
この場合、入力情報抽出部32は、項目番号=3の処理での転送対象のファイル名を運用手順書の記載からは入力値として抽出しない。このため、基準1を用いた処理では項目番号3の運用操作部品への入力情報は設定されない。ここで、学習部21において、過去のワークフローでは、ディレクトリの圧縮を行う運用操作部品(第1の部品)からの距離が1である後段の運用操作部品(第2の部品)が転送処理を行うことを学習しているとする。また、学習部21は、過去のワークフローでは、第1の部品に圧縮ファイル名として入力される入力値と、第2の部品に転送処理の対象として入力される入力値が一致していることも学習しているとする。この場合、学習済みモデルには、第1の部品に圧縮ファイル名として入力される入力値と、第2の部品に転送処理の対象として入力される入力値が一致することが、第1の部品と第2の部品との間の距離と共に登録されている。このため、判定部22は、学習済みモデルを用いて、項目番号3の処理を行う運用操作部品に対して転送処理の対象を指定する入力値が、項目番号2の処理を行う運用操作部品に入力される圧縮ファイル名と一致する可能性を肯定的に判定する。この判定に基づき、設定部52は、項目番号3の処理を行う運用操作部品での転送処理の対象を指定する入力情報として、項目番号2の処理を行う運用操作部品へ入力される圧縮ファイル名と同じ「C:¥result.zip」を設定できる。
図14Aおよび図14Bは、入力値の設定方法の例を説明するフローチャートである。なお、図14Aと図14Bの例では、学習部21は、生成した学習済みモデルをパラメータとして記憶部40に記憶し、判定部22が処理を行う際にパラメータを読み込む場合を例として説明している。しかし、図14Aと図14Bは処理の一例であって、学習済みモデルを利用するためのパラメータが判定部22に設定されるタイミングは、任意に変更され得る。さらに、ステップS42、S43の処理の前にステップS44、S45の処理が行われても良い。
入力値が設定されていない運用設計情報5が生成されると、ループ端L11とL12で挟まれたループ処理が行われる。以下、ループ端L11とL12で挟まれたループ処理のことを「入力値テーブル処理ループ」と記載することがある。設定部52は、全ての運用操作部品に対して処理を行ったかを判定する(ループ端L11)。全ての運用操作部品に対して処理を行っていない場合、設定部52は、入力値の設定処理の対象とする運用操作部品を決定する(ループ端L11でNo、ステップS41)。
次に、ループ端L21とL22で挟まれたループ処理が行われる。以下、ループ端L21とL22で挟まれたループ処理のことを「設定ループ」と記載することがある。設定部52は、処理対象とする運用操作部品について、全ての入力情報を処理したかを判定する(ループ端L21)。処理対象とする運用操作部品について全ての入力情報を処理していない場合、設定部52は、未処理の入力情報の属性と、入力値の属性を比較する(ループ端L21でNo、ステップS42)。なお、ステップS42での比較処理に用いられる入力値は、入力値テーブル4に抽出されている入力値である。設定部52は、未処理の入力情報の属性と入力値の属性が一致するかを判定する(ステップS43)。未処理の入力情報の属性と入力値の属性が一致しない場合、ループ端L21以降の処理が繰り返される(ステップS43でNo)。
一方、未処理の入力情報の属性と入力値の属性が一致する場合、設定部52は、未処理の入力情報の入力先となる運用操作部品に対応付けられた項目番号と、入力値に対応付けられた項目番号を比較する(ステップS43でYes、ステップS44)。入力情報の入力先となる運用操作部品に対応付けられた項目番号と、入力値に対応付けられた項目番号が一致する場合、設定部52は、処理対象の入力情報に入力値を設定し、ループ端L21に戻る(ステップS45でYes、ステップS46)。運用操作部品に対応付けられた項目番号と入力値に対応付けられた項目番号が一致しない場合、ループ端L21以降の処理が繰り返される(ステップS45でNo)。
ループ端L21において、処理対象とする運用操作部品について全ての入力情報を処理したと判定すると、設定部52は、ループ端L11に戻る。ループ端L11において、全ての運用操作部品に対して設定ループ中の処理を行ったと判定すると、設定部52は、入力値テーブル処理ループの処理を終了する。
入力値テーブル処理ループの処理が終了すると、判定部22は、分類器のパラメータを記憶部40から読み込む(ステップS46)。次に、ループ端L31とL32で挟まれたループ処理が行われる。以下、ループ端L31とL32で挟まれたループ処理のことを「対応付けループ」と記載することがある。特定部51は、入力値が未決定の入力情報を有する運用操作部品があるかを判定する(ループ端L31)。入力値が未決定の入力情報を有する運用操作部品がある場合、特定部51は、入力値の設定処理の対象とする運用操作部品を決定する(ループ端L31でYes、ステップS47)。
次に、ループ端L41とL42で挟まれたループ処理が行われる。以下、ループ端L41とL42で挟まれたループ処理のことを「判定ループ」と記載することがある。特定部51は、先行の運用操作部品の設定済みの入力情報の全てに注目したかを判定する(ループ端L41)。先行の運用操作部品の設定済みの入力情報のうちで、判定処理に使用していないものがある場合、特定部51は、判定処理に使用する入力情報を選択する(ループ端L41でNo、ステップS48)。なお、ステップS48で選択される入力情報は、先行の運用操作部品の設定済みの入力情報の中から選択されている。特定部51は、設定処理の対象の運用操作部品と、選択した入力情報の入力先となる先行の運用操作部品との間の距離を取得する(ステップS49)。判定部22は、分類器を用いて、距離に応じて、設定対象の入力情報に設定される入力値が、先行する運用操作部品の入力情報に設定されている入力値と一致するかを判定する(ステップS50)。判定部22が2つの入力値が一致しないと判定すると、特定部51は、ループ端L41に戻る(ステップS51でNo)。
一方、ステップS50での判定において、判定部22が2つの入力値が一致すると判定したとする(ステップS51でYes)。すると、設定部52は、先行する運用操作部品の入力情報として設定されている入力値を、設定対象の運用操作部品の入力情報に設定する(ステップS52)。ステップS52の処理を行うと、特定部51は、判定ループから抜けて、ループ端L31に戻る。
ループ端L41において、先行の運用操作部品の設定済みの入力情報の全てに注目したと判定すると、特定部51は、判定ループから抜けて、ループ端L31に戻る。ループ端L31において、入力値が未決定の入力情報を有する運用操作部品がないと判定すると、特定部51は処理を終了する。
以上説明したように、実施形態にかかる生成装置10は、運用手順書2から入力値を抽出すると共に、各入力値の属性も特定するので、入力値の属性を用いて、運用設計情報5中の入力情報に入力値を対応付けることができる。そして、入力値の属性からは入力値が決定されない入力情報(第2の入力情報)に対しては、学習済みモデルを用いて、距離に基づいて、他の入力情報(第1の入力情報)と入力値が一致する可能性が肯定的であるかを判定できる。分類器を用いた判定部22による判定結果が「一致」である場合、生成装置10は、第2の入力情報の値を第1の入力情報の入力値と一致させる。このため、生成装置10は、属性からは入力値が決定されない入力情報についても入力値を設定することができる。
なお、図10~図14Bを参照しながら、入力値が設定されている先行の運用操作部品の情報を用いて、後続の運用操作部品への入力値を設定する場合の例を説明したが、これは一例に過ぎない。例えば、図10~図14Bを参照しながら説明した処理と同様の処理により、生成装置10は、入力値が設定されている後続の運用操作部品の情報を用いて、先行の運用操作部品への入力値を設定しても良い。
<ワークフローの生成>
生成部34は、入力値の設定が終わった運用設計情報5を、ワークフローに変換する。生成部34が行う運用設計情報5からワークフローへの変換処理は、任意の既知の方法を用いることができる。出力部35は、生成部34が生成したワークフローを出力する。出力先は、他の装置であっても良く、生成装置10に備えられている表示装置(図示せず)などであっても良い。
以上説明したように、生成装置10では、運用設計情報5に登録された入力情報の各々について、自律的に入力値を設定することができる。このため、運用手順書2のテキストデータから、ワークフローを自動生成することができる。
<生成装置10のハードウェア構成の一例>
図15は、生成装置10のハードウェア構成の例を説明する図である。図15の例に示すように、バス100に対して、プロセッサ111とRandom Access Memory(RAM)112とRead Only Memory(ROM)113とが接続される。また、該バス100に対して、補助記憶装置114と媒体接続部115と通信インタフェース116とが接続される。
プロセッサ111はRAM112に展開されたプログラムを実行する。実行されるプログラムとしては、実施形態における処理を行うプログラムが適用されてもよい。
ROM113はRAM112に展開されるプログラムを記憶する不揮発性の記憶装置である。補助記憶装置114は、種々の情報を記憶する記憶装置であり、例えばハードディスクドライブや半導体メモリ等が適用されてもよい。媒体接続部115は、可搬型記録媒体115Mと接続可能に設けられている。
可搬型記録媒体115Mとしては、可搬型のメモリ(例えば、半導体メモリ)や光学式ディスク(例えば、Compact Disc(CD)やDigital Versatile Disc(DVD))等が適用されてもよい。この可搬型記録媒体115Mに実施形態の処理を行うプログラムが記録されていてもよい。
上述した学習処理部20と作成処理部30は、与えられたプログラムをプロセッサ111が実行することにより実現されてもよい。また、記憶部40は、RAM112や補助記憶装置114等により実現されてもよい。
RAM112、ROM113、補助記憶装置114および可搬型記録媒体115Mは、何れもコンピュータ読み取り可能な有形の記憶媒体の一例である。これらの有形な記憶媒体は、信号搬送波のような一時的な媒体ではない。
<その他>
本実施形態は、以上に述べた実施の形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
例えば、以上の説明では、記憶部40に運用手順書データベース44が記憶されているが、処理対象の運用手順書2が、適宜、生成装置10に読み込まれても良い。運用手順書2が生成装置10に読み込まれる場合、生成装置10は、通信インタフェース116を介して運用手順書2の読み込みを行っても良い。また、生成装置10は、入力装置(図示せず)をさらに備えていて、入力装置を介して運用手順書2を取得しても良い。
さらに、学習済みモデルについても変更が行われても良い。例えば、学習済みモデルは、先行する運用操作部品の識別情報、後続の運用操作部品の識別情報、および、運用操作部品の間の距離の組み合わせについて、先行する運用操作部品と後続の運用操作部品の間で入力値が一致するかを判定した情報であっても良い。例えば、各運用操作部品への入力値が1つずつである場合、このように変形すると、入力情報のIDの代わりに、各運用操作部品の識別情報を用いて、入力値が運用操作部品間で一致するかの判定や入力値の設定を行うことができる。
2 運用手順書
3 項番別操作情報
4 入力値テーブル
5 運用設計情報
6 ワークフロー
7 学習データ
10 生成装置
20 学習処理部
21 学習部
22 判定部
30 作成処理部
31 操作情報抽出部
32 入力情報抽出部
33 選択部
34 生成部
35 出力部
40 記憶部
41 学習用ワークフローデータベース
42 同義語辞書データベース
43 操作部品情報データベース
44 運用手順書データベース
50 設定処理部
51 特定部
52 設定部
111 プロセッサ
112 RAM
113 ROM

Claims (8)

  1. 作成対象のワークフローに含まれる複数の処理にそれぞれ対応する複数のプログラムについてそれぞれの入力値が特定されているか否かを識別可能に記憶する記憶部を参照して、前記複数のプログラムのうち、入力値が特定された第1のプログラムと、入力値が特定されていない第2のプログラムとを特定し、
    特定した前記第1のプログラム及び前記第2のプログラム間の前記ワークフロー上での位置関係に基づき、前記第1のプログラムの入力値と前記第2のプログラムの入力値とが一致するか否かの判定を行い、
    判定結果が肯定的である場合、前記第1のプログラムの入力値を前記第2のプログラムの入力値とする、
    処理をコンピュータに実行させることを特徴とする生成プログラム。
  2. 作成済のワークフローに関するデータから生成された、前記第1のプログラム及び前記第2のプログラム間の位置関係毎の前記第1のプログラムの入力値及び前記第2のプログラムの入力値が一致するか否かの傾向に基づき、前記第1のプログラムの入力値と前記第2のプログラムの入力値とが一致するか否かの判定を行う、
    ことを特徴とする請求項1に記載の生成プログラム。
  3. 作成済のワークフローに関するデータから生成された、前記第1のプログラム及び前記第2のプログラム間の位置関係を示す情報、前記第1のプログラムの識別情報、及び前記第2のプログラムの識別情報の組みを、前記第1のプログラムの入力値と前記第2のプログラムの入力値とが一致するか否かを示す情報に変換する変換パラメータに基づき、特定した前記第1のプログラムの入力値及び前記第2のプログラムの入力値が一致するか否かの判定を行う、
    ことを特徴とする請求項1に記載の生成プログラム。
  4. 前記変換パラメータは、前記作成済のワークフローに含まれる複数の処理に対応した複数のプログラムの位置関係、および前記複数のプログラムの間で入力値が一致するかの情報を機械学習することにより生成される
    ことを特徴とする請求項3に記載の生成プログラム。
  5. 前記第1のプログラム及び前記第2のプログラム間の前記ワークフロー上での位置関係は、前記第1のプログラムで行われる第1の処理から、前記第2のプログラムで行われる第2の処理までの間に、前記作成対象のワークフローに含まれる処理の数を表わす情報である
    ことを特徴とする請求項1乃至4のうち何れか1項に記載の生成プログラム。
  6. 前記作成対象のワークフローに含まれる複数の処理を記載した手順書から、前記手順書中の処理の順序、および、データの種類を表わすデータ種別と対応付けて入力値を抽出し、
    抽出された入力値のうち、前記第1のプログラムで行われる処理の前記作成対象のワークフロー中での順序と同じ順序に対応付けられ、かつ、前記第1のプログラムに対する入力値のデータ種別と同じデータ種別に分類される値を、前記第1のプログラムに対する入力値として設定する
    処理をさらにコンピュータに実行させることを特徴とする請求項1乃至5のうち何れか1項に記載の生成プログラム。
  7. 作成対象のワークフローに含まれる複数の処理にそれぞれ対応する複数のプログラムについてそれぞれの入力値が特定されているか否かを識別可能に記憶する記憶部と、
    前記記憶部を参照して、前記複数のプログラムのうち、入力値が特定された第1のプログラムと、入力値が特定されていない第2のプログラムとを特定する特定部と、
    特定した前記第1のプログラム及び前記第2のプログラム間の前記ワークフロー上での位置関係に基づき、前記第1のプログラムの入力値と前記第2のプログラムの入力値とが一致するか否かを判定する判定部と、
    判定結果が肯定的である場合、前記第1のプログラムの入力値を前記第2のプログラムの入力値に設定する設定部
    を備えることを特徴とする生成装置。
  8. 作成対象のワークフローに含まれる複数の処理にそれぞれ対応する複数のプログラムについてそれぞれの入力値が特定されているか否かを識別可能に記憶する記憶部を参照して、前記複数のプログラムのうち、入力値が特定された第1のプログラムと、入力値が特定されていない第2のプログラムとを特定し、
    特定した前記第1のプログラム及び前記第2のプログラム間の前記ワークフロー上での位置関係に基づき、前記第1のプログラムの入力値と前記第2のプログラムの入力値とが一致するか否かの判定を行い、
    判定結果が肯定的である場合、前記第1のプログラムの入力値を前記第2のプログラムの入力値とする、
    処理をコンピュータに実行させることを特徴とする生成方法。
JP2018043492A 2018-03-09 2018-03-09 生成プログラム、生成装置、および、生成方法 Active JP7003749B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018043492A JP7003749B2 (ja) 2018-03-09 2018-03-09 生成プログラム、生成装置、および、生成方法
US16/263,107 US20190278568A1 (en) 2018-03-09 2019-01-31 Recording medium recording generation program, information processing apparatus, and generation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018043492A JP7003749B2 (ja) 2018-03-09 2018-03-09 生成プログラム、生成装置、および、生成方法

Publications (2)

Publication Number Publication Date
JP2019159602A JP2019159602A (ja) 2019-09-19
JP7003749B2 true JP7003749B2 (ja) 2022-01-21

Family

ID=67843885

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018043492A Active JP7003749B2 (ja) 2018-03-09 2018-03-09 生成プログラム、生成装置、および、生成方法

Country Status (2)

Country Link
US (1) US20190278568A1 (ja)
JP (1) JP7003749B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11789771B2 (en) * 2019-09-28 2023-10-17 Tencent America LLC Method and apparatus for a step-enabled workflow
US20210096904A1 (en) * 2019-09-28 2021-04-01 Tencent America LLC Method and apparatus for a step-enabled workflow

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007519073A (ja) 2003-10-24 2007-07-12 マイクロソフト コーポレーション 管理用ツール環境
US20140130012A1 (en) 2012-11-06 2014-05-08 Rockwell Automation Technologies, Inc. Object design
JP2014164724A (ja) 2013-02-27 2014-09-08 Fujitsu Ltd 自動運用プロセス生成方法、プログラム、および装置
JP2017033388A (ja) 2015-08-04 2017-02-09 富士通株式会社 実行フロー作成支援プログラム及び実行フロー作成支援方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007519073A (ja) 2003-10-24 2007-07-12 マイクロソフト コーポレーション 管理用ツール環境
US20140130012A1 (en) 2012-11-06 2014-05-08 Rockwell Automation Technologies, Inc. Object design
JP2014164724A (ja) 2013-02-27 2014-09-08 Fujitsu Ltd 自動運用プロセス生成方法、プログラム、および装置
JP2017033388A (ja) 2015-08-04 2017-02-09 富士通株式会社 実行フロー作成支援プログラム及び実行フロー作成支援方法

Also Published As

Publication number Publication date
US20190278568A1 (en) 2019-09-12
JP2019159602A (ja) 2019-09-19

Similar Documents

Publication Publication Date Title
JP5124885B2 (ja) 文書保存システム
US10628467B2 (en) Log-aided automatic query expansion approach based on topic modeling
JP7003749B2 (ja) 生成プログラム、生成装置、および、生成方法
JP6092686B2 (ja) 運用作業フロー作成支援方法および運用作業フロー作成支援システム
JP4855080B2 (ja) スキーマ統合支援装置、スキーマ統合支援装置のスキーマ統合支援方法およびスキーマ統合支援プログラム
JP4603988B2 (ja) 情報処理装置および方法
WO2020080375A1 (ja) 報告書作成装置、方法、および記録媒体
JPH10162008A (ja) 情報検索方法及び装置
JP6365070B2 (ja) 検索プログラム、装置、及び方法
JP6588988B2 (ja) 業務プログラム生成支援システムおよび業務プログラム生成支援方法
WO2020116044A1 (ja) システム配備装置およびシステム配備方法
JP6993573B2 (ja) プログラム解析方法、プログラム解析装置およびプログラム解析プログラム
JPH1153383A (ja) 複数データベースの検索方法及びその検索プログラム等を記録した記録媒体
WO2022180815A1 (ja) 情報処理プログラム、情報処理方法及び情報処理装置
JP2006268545A (ja) ファイル結合装置及びファイル結合方法及びプログラム
JP7163845B2 (ja) 情報処理装置、およびプログラム
JP2010218459A (ja) 情報処理装置、情報処理方法及びプログラム
JP2006004099A (ja) プログラム再利用方法、装置及びプログラム
CN110390101B (zh) 实体合同备注的非标设计判断方法、装置及计算机设备
JP2009151727A (ja) 文書処理システム
JP2005234800A (ja) 用例機械翻訳装置及び用例翻訳コンピュータプログラム、並びに用例検索装置及び用例検索コンピュータプログラム
JP2005309917A (ja) レビュー支援装置
JP3335851B2 (ja) ソフトウェアコーディングシステム
JPH056291A (ja) テスト資源の作成・管理方法
CN115495071A (zh) 工艺排布信息确定方法、装置、设备及介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211110

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211130

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211213

R150 Certificate of patent or registration of utility model

Ref document number: 7003749

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150