JP2021076951A - 機能モデル生成装置、機能モデル生成プログラム、および、機能モデル生成方法 - Google Patents
機能モデル生成装置、機能モデル生成プログラム、および、機能モデル生成方法 Download PDFInfo
- Publication number
- JP2021076951A JP2021076951A JP2019201279A JP2019201279A JP2021076951A JP 2021076951 A JP2021076951 A JP 2021076951A JP 2019201279 A JP2019201279 A JP 2019201279A JP 2019201279 A JP2019201279 A JP 2019201279A JP 2021076951 A JP2021076951 A JP 2021076951A
- Authority
- JP
- Japan
- Prior art keywords
- event
- information
- resource
- function
- unit
- 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.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
【課題】自然言語で記述された文書の不備または不整合を早期に発見可能な機能モデルを生成することができる機能モデル生成装置を提供する。【解決手段】文書に記述されている自然言語を解析し、因果関係付機能情報を生成する自然言語解析部と、因果関係付機能情報に基づき、リソース情報、イベント情報、および、関係情報を生成する機能要素抽出部と、リソース情報および関係情報に基づき、機能間でどのリソースの受け渡しが行われているかを解析し、リソース解析結果情報を生成するリソース解析部と、リソース解析結果情報、リソース情報、および、イベント情報に基づき、機能で実行されるイベントを解析し、イベント解析結果情報を生成するイベント解析部と、リソース解析結果情報、または、イベント解析結果情報に基づき、機能モデルを生成するモデル構築部を備えた。【選択図】図1
Description
この発明は、システムで用いられる、自然言語で記述された文書に基づき、文書で記述された仕様の不備等を検出するための機能モデルを生成する機能モデル生成装置、機能モデル生成プログラム、および、機能モデル生成方法に関する。
システム開発では、仕様を記述した仕様書を基にシステムが構築されている。このようなシステムの仕様書の多くは自然言語で記述されており、このような、自然言語で記述された仕様書の不備または不整合を検出する仕組みの構築が望まれている。
そこで、例えば、自然言語で記述された仕様書の不備または不整合を検出する仕組みとして、当該仕様書に基づいて生成された機能モデルを使用し、当該機能モデルの妥当性を確認することで、仕様書の不備または不整合を検出する仕組みが知られている。
自然言語で記述された文書から機能モデルを生成する技術は、例えば、特許文献1に開示されている。
そこで、例えば、自然言語で記述された仕様書の不備または不整合を検出する仕組みとして、当該仕様書に基づいて生成された機能モデルを使用し、当該機能モデルの妥当性を確認することで、仕様書の不備または不整合を検出する仕組みが知られている。
自然言語で記述された文書から機能モデルを生成する技術は、例えば、特許文献1に開示されている。
特許文献1に開示されているような技術に代表される、従来の機能モデル生成技術では、自然言語で記述された文書で定義されている、例えば、機能間のデータの受け渡し、および、各機能で実行される処理、を解析した結果を含む、一つの機能モデルを生成する。
そのため、例えば、システム開発において、従来の機能モデル生成技術で生成された機能モデルを使用して、仕様書の不備または不整合を確認しようとした場合、開発担当者等は、仕様書の不備または不整合が発生している箇所の特定に時間を要し、仕様書の不備または不整合が早期に発見されない可能性があるという課題があった。
そのため、例えば、システム開発において、従来の機能モデル生成技術で生成された機能モデルを使用して、仕様書の不備または不整合を確認しようとした場合、開発担当者等は、仕様書の不備または不整合が発生している箇所の特定に時間を要し、仕様書の不備または不整合が早期に発見されない可能性があるという課題があった。
この発明は上記のような課題を解決するためになされたもので、自然言語で記述された文書の不備または不整合を早期に発見可能な機能モデルを生成することができる機能モデル生成装置を提供することを目的とする。
この発明に係る機能モデル生成装置は、文書に記述されている自然言語を解析し、文書で定義されている機能が他の機能と受け渡しするリソース、および、当該文書で定義されている機能が実行するイベントを対応付けた因果関係付機能情報を生成する自然言語解析部と、自然言語解析部が生成した因果関係付機能情報に基づき、機能毎に、他の機能との間で受け渡しされるリソースに関する情報が定義されたリソース情報、機能毎に、実行されるイベント、および、イベントの実行に用いられる手段に関する情報が定義されたイベント情報、ならびに、機能間の関係を示す関係情報を生成する機能要素抽出部と、機能要素抽出部が生成したリソース情報および関係情報に基づき、機能間でどのリソースの受け渡しが行われているかを解析し、機能間で受け渡しされるリソースを定義したリソース解析結果情報を生成するリソース解析部と、リソース解析部が生成したリソース解析結果情報、ならびに、機能要素抽出部が生成したリソース情報およびイベント情報に基づき、機能で実行されるイベントを解析し、機能で実行されるイベントに関するイベント解析結果情報を生成するイベント解析部と、リソース解析部が生成したリソース解析結果情報、または、イベント解析部が生成したイベント解析結果情報に基づき、機能モデルを生成するモデル構築部を備えたものである。
この発明によれば、自然言語で記述された文書の不備または不整合を早期に発見可能な機能モデルを生成することができる。
以下、この発明の実施の形態について、図面を参照しながら詳細に説明する。
実施の形態1.
図1は、実施の形態1に係る機能モデル生成装置1の構成例を示す図である。
機能モデル生成装置1は、システム開発において、開発担当者等が、自然言語で記述された文書の不備または不整合を検出するための機能モデルを生成する。
機能モデル生成装置1は、機能仕様105を取得し、当該機能仕様105に基づき、機能モデルを生成する。機能仕様105は、システム開発において、開発担当者等が、システムの仕様を自然言語で記述した文書である。実施の形態1において、機能仕様105には、システムの仕様として、システムが有する「機能」、複数の「機能」間でのデータの受け渡し、および、「機能」が実行する処理等が定義されているものとする。システムが有する「機能」とは、CPU(Central Processing Unit)、Memory、Cryption、Ethernt(登録商標。以下記載を省略する)、または、Bus Interface unit等、システムを構成する構成部をいう。
図2は、実施の形態1において、機能モデル生成装置1が取得する機能仕様105の一例を示す図である。以下の説明では、一例として、機能モデル生成装置1は、図2に示す機能仕様105を取得するものとする。
実施の形態1.
図1は、実施の形態1に係る機能モデル生成装置1の構成例を示す図である。
機能モデル生成装置1は、システム開発において、開発担当者等が、自然言語で記述された文書の不備または不整合を検出するための機能モデルを生成する。
機能モデル生成装置1は、機能仕様105を取得し、当該機能仕様105に基づき、機能モデルを生成する。機能仕様105は、システム開発において、開発担当者等が、システムの仕様を自然言語で記述した文書である。実施の形態1において、機能仕様105には、システムの仕様として、システムが有する「機能」、複数の「機能」間でのデータの受け渡し、および、「機能」が実行する処理等が定義されているものとする。システムが有する「機能」とは、CPU(Central Processing Unit)、Memory、Cryption、Ethernt(登録商標。以下記載を省略する)、または、Bus Interface unit等、システムを構成する構成部をいう。
図2は、実施の形態1において、機能モデル生成装置1が取得する機能仕様105の一例を示す図である。以下の説明では、一例として、機能モデル生成装置1は、図2に示す機能仕様105を取得するものとする。
機能モデル生成装置1は、データフローモデル805、I/Fイベントモデル806、基本イベントモデル807、および、形式仕様記述言語モデル808を、段階的に生成する。なお、図1では、データフローモデル805、I/Fイベントモデル806、基本イベントモデル807、および、形式仕様記述言語モデル808の図示は省略している。
データフローモデル805、I/Fイベントモデル806、基本イベントモデル807、および、形式仕様記述言語モデル808は、いずれも、機能仕様105の不備を検出するための機能モデルである。実施の形態1において、機能仕様105の「不備」とは、記述の不備のみならず、機能仕様105に記述されている内容の不整合、または、他の機能仕様105との間の不整合等も含む。
データフローモデル805、I/Fイベントモデル806、基本イベントモデル807、および、形式仕様記述言語モデル808の詳細については後述する。以下の説明において、データフローモデル805、I/Fイベントモデル806、基本イベントモデル807、および、形式仕様記述言語モデル808を、まとめて、単に「機能モデル」ともいう。
データフローモデル805、I/Fイベントモデル806、基本イベントモデル807、および、形式仕様記述言語モデル808は、いずれも、機能仕様105の不備を検出するための機能モデルである。実施の形態1において、機能仕様105の「不備」とは、記述の不備のみならず、機能仕様105に記述されている内容の不整合、または、他の機能仕様105との間の不整合等も含む。
データフローモデル805、I/Fイベントモデル806、基本イベントモデル807、および、形式仕様記述言語モデル808の詳細については後述する。以下の説明において、データフローモデル805、I/Fイベントモデル806、基本イベントモデル807、および、形式仕様記述言語モデル808を、まとめて、単に「機能モデル」ともいう。
機能モデル生成装置1は、データフローモデル805、I/Fイベントモデル806、基本イベントモデル807、または、形式仕様記述言語モデル808を生成する過程で、機能モデルの妥当性を確認し、妥当性を確認した結果に関する情報(以下「妥当性確認結果情報」という。)を出力する。開発担当者等は、出力された妥当性確認結果情報を確認し、機能モデルが妥当でない場合は、確認結果を機能仕様105にフィードバックする。具体的には、開発担当者等は、確認結果に基づいて、機能仕様105の修正等を行う。
また、機能モデル生成装置1は、機能モデルを生成する段階で、機能仕様105に不備があると判断した場合、エラー情報を出力する。
図1に示すように、機能モデル生成装置1は、機能要素解析部11、機能モデル生成部12、および、確認部13を備える。
機能要素解析部11は、機能要素解析ルール203に従い、機能仕様105について、自然言語解析処理および機能要素抽出処理を行う。機能要素解析部11は、機能仕様105について、自然言語解析処理および機能要素抽出処理を行った結果、生成した情報(以下「機能要素解析結果情報」という。)を、機能モデル生成部12に出力する。自然言語解析処理および機能要素抽出処理の詳細については、後述する。
機能要素解析ルール203は、予め生成され、機能モデル生成装置1が参照可能な場所に記憶されている。機能要素解析ルール203には、後述の、自然言語解析ルール303および機能分類ルール305が含まれる。
機能要素解析部11は、機能要素解析ルール203に従い、機能仕様105について、自然言語解析処理および機能要素抽出処理を行う。機能要素解析部11は、機能仕様105について、自然言語解析処理および機能要素抽出処理を行った結果、生成した情報(以下「機能要素解析結果情報」という。)を、機能モデル生成部12に出力する。自然言語解析処理および機能要素抽出処理の詳細については、後述する。
機能要素解析ルール203は、予め生成され、機能モデル生成装置1が参照可能な場所に記憶されている。機能要素解析ルール203には、後述の、自然言語解析ルール303および機能分類ルール305が含まれる。
図3は、実施の形態1に係る機能モデル生成装置1が備える機能要素解析部11の詳細な構成例を示す図である。
図3に示すように、機能要素解析部11は、自然言語解析部111および機能要素抽出部112を備える。
自然言語解析部111は、自然言語解析ルール303に従い、機能仕様105に記述されている自然言語を解析し、自然言語解析結果情報を生成する。自然言語解析結果情報には、意味解析情報、機能情報、および、因果関係付機能情報が含まれる。意味解析情報、機能情報、および、因果関係付機能情報の詳細については、後述する。
自然言語解析ルール303には、後述の、機能説明文抽出規則405、辞書406、および、文法407が含まれる。
図3に示すように、機能要素解析部11は、自然言語解析部111および機能要素抽出部112を備える。
自然言語解析部111は、自然言語解析ルール303に従い、機能仕様105に記述されている自然言語を解析し、自然言語解析結果情報を生成する。自然言語解析結果情報には、意味解析情報、機能情報、および、因果関係付機能情報が含まれる。意味解析情報、機能情報、および、因果関係付機能情報の詳細については、後述する。
自然言語解析ルール303には、後述の、機能説明文抽出規則405、辞書406、および、文法407が含まれる。
ここで、図4は、実施の形態1において、より詳細に、自然言語解析部111の構成例を示す図である。
図4に示すように、自然言語解析部111は、機能説明文抽出部1111、意味解析部1112、構文解析部1113、および、関係情報解析部1114を備える。
機能説明文抽出部1111は、機能説明文抽出規則405に従って、機能仕様105から、機能説明文を抽出する。実施の形態1において、機能説明文とは、機能仕様105に記載されている各機能に対する説明文である。
例えば、実施の形態1では、機能説明文抽出規則405は、「機能仕様105から、句点で区切られている文を1文ごとに抽出する」ことであるとする。
実施の形態1では、機能モデル生成装置1は、図2に示す機能仕様105を取得することとしているので、機能説明文抽出部1111は、機能説明文抽出規則405に従い、図5に示すような機能説明文を抽出する。ここでは、機能説明文抽出部1111は、図2に示す機能仕様105から、10個の機能説明文を抽出したことになる。なお、図5に示すように、機能説明文抽出部1111は、抽出した機能説明文に、機能説明文を特定するための説明文番号を付与するようにしてもよい。
機能説明文抽出部1111は、抽出した機能説明文を、意味解析部1112、構文解析部1113、および、関係情報解析部1114に出力する。
図4に示すように、自然言語解析部111は、機能説明文抽出部1111、意味解析部1112、構文解析部1113、および、関係情報解析部1114を備える。
機能説明文抽出部1111は、機能説明文抽出規則405に従って、機能仕様105から、機能説明文を抽出する。実施の形態1において、機能説明文とは、機能仕様105に記載されている各機能に対する説明文である。
例えば、実施の形態1では、機能説明文抽出規則405は、「機能仕様105から、句点で区切られている文を1文ごとに抽出する」ことであるとする。
実施の形態1では、機能モデル生成装置1は、図2に示す機能仕様105を取得することとしているので、機能説明文抽出部1111は、機能説明文抽出規則405に従い、図5に示すような機能説明文を抽出する。ここでは、機能説明文抽出部1111は、図2に示す機能仕様105から、10個の機能説明文を抽出したことになる。なお、図5に示すように、機能説明文抽出部1111は、抽出した機能説明文に、機能説明文を特定するための説明文番号を付与するようにしてもよい。
機能説明文抽出部1111は、抽出した機能説明文を、意味解析部1112、構文解析部1113、および、関係情報解析部1114に出力する。
意味解析部1112は、辞書406に基づき、機能説明文抽出部1111から出力された各機能説明文の意味を解析する。具体的には、意味解析部1112は、各機能説明文を、名詞、動詞、形容詞、または、副詞等の品詞に分解する。辞書406には、全ての品詞の意味解釈に関連する情報が収録されている。
意味解析部1112は、品詞に分解した各機能説明文、に関する情報(以下「意味解析情報」という。)を、構文解析部1113および関係情報解析部1114に出力する。また、意味解析部1112は、意味解析情報を、記憶部(図示省略)に記憶させる。
意味解析部1112は、辞書406に基づき、機能説明文の意味を解析できなかった場合、言い換えれば、辞書406に収録されている情報では機能説明文の意味を解析できなかった場合、当該機能説明文には不備があると解析する。そして、意味解析部1112は、説明文不備とするエラー情報を生成し、当該エラー情報を、出力する。なお、意味解析部1112は、エラー情報に、どの機能説明文について不備があるかを特定可能な情報を含めるようにする。
機能モデル生成装置1の制御部(図示省略)は、エラー情報が出力されると、当該エラー情報の出力制御を行う。具体的には、制御部は、例えば、エラー情報を、表示装置に表示させる。開発担当者等は、表示されたエラー情報を確認し、機能仕様105に何等かの不備があることを検知する。そして、開発担当者等は、機能仕様105の修正等を行う。
意味解析部1112は、品詞に分解した各機能説明文、に関する情報(以下「意味解析情報」という。)を、構文解析部1113および関係情報解析部1114に出力する。また、意味解析部1112は、意味解析情報を、記憶部(図示省略)に記憶させる。
意味解析部1112は、辞書406に基づき、機能説明文の意味を解析できなかった場合、言い換えれば、辞書406に収録されている情報では機能説明文の意味を解析できなかった場合、当該機能説明文には不備があると解析する。そして、意味解析部1112は、説明文不備とするエラー情報を生成し、当該エラー情報を、出力する。なお、意味解析部1112は、エラー情報に、どの機能説明文について不備があるかを特定可能な情報を含めるようにする。
機能モデル生成装置1の制御部(図示省略)は、エラー情報が出力されると、当該エラー情報の出力制御を行う。具体的には、制御部は、例えば、エラー情報を、表示装置に表示させる。開発担当者等は、表示されたエラー情報を確認し、機能仕様105に何等かの不備があることを検知する。そして、開発担当者等は、機能仕様105の修正等を行う。
図6は、実施の形態1において、意味解析部1112が生成した意味解析情報のイメージの一例を説明するための図である。
例えば、機能説明文が、「Memoryは、CPUやCryptionからの書き込み要求に応じてデータを格納したり、CPU、Cryption、Ethernetからの読み出し要求に応じてデータを出力したりします。」(図5の説明文番号「5」参照)であった場合、意味解析部1112は、図6に示すような意味解析情報を出力する。なお、図6では、一例として、図5の説明文番号「5」の機能説明文に基づく意味解析情報のみ図示しているが、意味解析部1112は、機能説明文抽出部1111から出力された全ての機能説明文の意味を解析し、意味解析情報を出力する。
例えば、機能説明文が、「Memoryは、CPUやCryptionからの書き込み要求に応じてデータを格納したり、CPU、Cryption、Ethernetからの読み出し要求に応じてデータを出力したりします。」(図5の説明文番号「5」参照)であった場合、意味解析部1112は、図6に示すような意味解析情報を出力する。なお、図6では、一例として、図5の説明文番号「5」の機能説明文に基づく意味解析情報のみ図示しているが、意味解析部1112は、機能説明文抽出部1111から出力された全ての機能説明文の意味を解析し、意味解析情報を出力する。
構文解析部1113は、文法407、および、意味解析部1112から出力された意味解析情報に基づき、機能説明文抽出部1111から出力された各機能説明文の文法を解析する。具体的には、構文解析部1113は、各機能説明文について、主語、述語、修飾語、または、接続語等の判定を行い、「いつ」、「誰が」、「誰に/誰と/誰から/誰を」、「何を」、「どうする」、および、「手段」等、機能間のデータ等の受け渡しの流れ、または、各機能で実行される処理の流れを解析する。「どうする」とは、ある機能にて実行される処理を示す。実施の形態1では、ある機能にて実行される処理を、「イベント」ともいう。「いつ」とは、イベントが実行されるトリガを示す。「誰が」とは、イベントを実行する主体となる機能を示す。「何を」とは、イベントの実行に必要なデータ等を示す。実施の形態1では、イベントの実行に必要なデータ等を、「リソース」ともいう。「誰に/誰と/誰から/誰を」とは、イベントを実行する主体となる機能が、リソースを受け渡しする対象となる機能を示す。「手段」とは、イベントが実行される際に用いられる手段を示す。当該手段には、機能間でリソースの受け渡しをする際の、リソース受け渡し手段も含む。文法407には、ある処理の開始者および受容者を識別し、かつ、当該処理の対象または結果を識別することができるように、諸処理を解析するための諸規則が定義されている。
そして、構文解析部1113は、機能毎に、受け渡しされるリソース、および、実行されるイベント等を対応付けした情報(以下「機能情報」という。)を生成する。
そして、構文解析部1113は、機能毎に、受け渡しされるリソース、および、実行されるイベント等を対応付けした情報(以下「機能情報」という。)を生成する。
図7は、実施の形態1において、構文解析部1113が生成した機能情報のイメージの一例を説明するための図である。
例えば、機能説明文が「Memoryは、CPUやCryptionからの書き込み要求に応じてデータを格納したり、CPU、Cryption、Ethernetからの読み出し要求に応じてデータを出力したりします。」(図5の説明文番号「5」参照)であった場合、構文解析部1113は、図7に示すような機能情報を生成する。
図7に示すように、機能情報において、機能説明文毎に、リソースの受け渡し、および、受け渡しされたリソースに基づいて実行されるイベントを示す情報が対応付けられている。1つの機能説明文中には、リソースを受け渡し、受け渡されたリソースに基づいてイベントが実行されるまでの流れが複数記載され得る。そのため、図7に示すように、1つの機能説明文に対して、リソースの受け渡し、および、受け渡しされたリソースに基づいて実行されるイベントを示す情報が複数対応付けられ得る。実施の形態1において、構文解析部1113が機能説明文毎に解析した、リソースの受け渡し、および、受け渡しされたリソースに基づいて実行されるイベントを示す情報を、「構文解析結果情報」ともいう。構文解析結果情報には、図7に示すように、例えば、「いつ」、「誰が」、「誰に/誰と/誰から/誰を」、「何を(リソース)」、「どうする(イベント)」、または、「手段」の情報が、含まれる。図7は、構文解析部1113が、説明文番号「5」の機能説明文の文法を解析した結果、当該機能説明文について、5通りの構文解析結果情報、を含む機能情報を生成したことを示している。
例えば、機能説明文が「Memoryは、CPUやCryptionからの書き込み要求に応じてデータを格納したり、CPU、Cryption、Ethernetからの読み出し要求に応じてデータを出力したりします。」(図5の説明文番号「5」参照)であった場合、構文解析部1113は、図7に示すような機能情報を生成する。
図7に示すように、機能情報において、機能説明文毎に、リソースの受け渡し、および、受け渡しされたリソースに基づいて実行されるイベントを示す情報が対応付けられている。1つの機能説明文中には、リソースを受け渡し、受け渡されたリソースに基づいてイベントが実行されるまでの流れが複数記載され得る。そのため、図7に示すように、1つの機能説明文に対して、リソースの受け渡し、および、受け渡しされたリソースに基づいて実行されるイベントを示す情報が複数対応付けられ得る。実施の形態1において、構文解析部1113が機能説明文毎に解析した、リソースの受け渡し、および、受け渡しされたリソースに基づいて実行されるイベントを示す情報を、「構文解析結果情報」ともいう。構文解析結果情報には、図7に示すように、例えば、「いつ」、「誰が」、「誰に/誰と/誰から/誰を」、「何を(リソース)」、「どうする(イベント)」、または、「手段」の情報が、含まれる。図7は、構文解析部1113が、説明文番号「5」の機能説明文の文法を解析した結果、当該機能説明文について、5通りの構文解析結果情報、を含む機能情報を生成したことを示している。
構文解析部1113は、生成した機能情報を、関係情報解析部1114に出力する。また、構文解析部1113は、生成した機能情報を、記憶部に記憶させる。
関係情報解析部1114は、意味解析部1112から出力された意味解析情報と、構文解析部1113から出力された機能情報に基づき、機能情報に含まれる各構文解析結果情報に対して、因果関係情報を付与した、因果関係付機能情報を生成する。因果関係情報は、機能情報における、リソースとイベントとの因果関係を示す情報である。因果関係情報は、リソースタグおよびイベントタグを含む。リソースタグは、機能情報においてリソースの内容を特定可能な情報であり、イベントタグは、機能情報においてイベントの内容を特定可能な情報である。具体的には、関係情報解析部1114は、意味解析情報と機能情報に基づき、機能情報に含まれる各構文解析結果情報で定義されているリソースについて、同じ内容のリソースであれば同じリソースタグを付与し、各構文解析結果情報で定義されているイベントについて、同じ内容のイベントであれば同じイベントタグを付与する。
因果関係付機能情報は、機能仕様105で定義されている機能が他の機能と受け渡しするリソース、および、当該機能仕様105で定義されている機能が実行するイベントを対応付けた情報である。
因果関係付機能情報は、機能仕様105で定義されている機能が他の機能と受け渡しするリソース、および、当該機能仕様105で定義されている機能が実行するイベントを対応付けた情報である。
図8は、実施の形態1において、関係情報解析部1114が、機能情報に因果関係情報を付与した結果である、因果関係付機能情報のイメージの一例を説明するための図である。
例えば、機能説明文が「Memoryは、CPUやCryptionからの書き込み要求に応じてデータを格納したり、CPU、Cryption、Ethernetからの読み出し要求に応じてデータを出力したりします。」(図5の説明文番号「5」参照)であった場合、関係情報解析部1114は、図8に示すような因果関係付機能情報を生成する。なお、図8では、一例として、図5の説明文番号「5」の機能説明文に基づく因果関係付機能情報のみ図示しているが、関係情報解析部1114は、機能説明文抽出部1111から出力された全ての機能説明文に基づく関係情報に含まれる各構文解析結果情報に対して、因果関係情報を付与する。
例えば、機能説明文が「Memoryは、CPUやCryptionからの書き込み要求に応じてデータを格納したり、CPU、Cryption、Ethernetからの読み出し要求に応じてデータを出力したりします。」(図5の説明文番号「5」参照)であった場合、関係情報解析部1114は、図8に示すような因果関係付機能情報を生成する。なお、図8では、一例として、図5の説明文番号「5」の機能説明文に基づく因果関係付機能情報のみ図示しているが、関係情報解析部1114は、機能説明文抽出部1111から出力された全ての機能説明文に基づく関係情報に含まれる各構文解析結果情報に対して、因果関係情報を付与する。
関係情報解析部1114は、生成した因果関係付機能情報を、意味解析情報および機能情報とともに、自然言語解析結果情報として、機能要素抽出部112に出力する。関係情報解析部1114は、生成した因果関係付機能情報を、記憶部に記憶させる。
関係情報解析部1114は、機能情報について、「いつ」、「誰が」等を明確にした文章が生成できない場合、言い換えれば、機能情報に、「いつ、誰が、誰に/誰と/誰から/誰を、何を、どうする」の情報が揃っていない場合は、当該機能情報を有する機能説明文について、情報が不足していると解析する。そして、関係情報解析部1114は、情報不足とするエラー情報を生成し、当該エラー情報を、出力する。なお、関係情報解析部1114は、エラー情報に、どの機能説明文について、情報が不足しているかを特定可能な情報を含めるようにする。上述の、機能情報に情報が不足しているか否かの解析は、構文解析部1113が、機能情報を生成する際に行うようにしてもよい。
機能モデル生成装置1の制御部は、エラー情報が出力されると、当該エラー情報の出力制御を行う。具体的には、制御部は、例えば、エラー情報を、表示装置に表示させる。開発担当者等は、表示されたエラー情報を確認し、機能仕様105に何等かの不備があることを検知する。そして、開発担当者等は、機能仕様105の修正等を行う。
機能モデル生成装置1の制御部は、エラー情報が出力されると、当該エラー情報の出力制御を行う。具体的には、制御部は、例えば、エラー情報を、表示装置に表示させる。開発担当者等は、表示されたエラー情報を確認し、機能仕様105に何等かの不備があることを検知する。そして、開発担当者等は、機能仕様105の修正等を行う。
図3の説明に戻る。
機能要素抽出部112は、自然言語解析部111から出力された自然言語解析結果情報と機能分類ルール305に基づき、機能間の要素を解析する。
そして、機能要素抽出部112は、機能毎に、他の機能との間で受け渡しされるリソースに関する情報が定義されたリソース情報、機能毎に、実行されるイベントに関する情報が定義されたイベント情報、および、機能間の関係を示す関係情報を生成する。リソース情報、イベント情報、および、関係情報の詳細については、後述する。
機能分類ルール305には、後述のリソース抽出ルール504、および、関係情報抽出ルール508が含まれる。
機能要素抽出部112は、自然言語解析部111から出力された自然言語解析結果情報と機能分類ルール305に基づき、機能間の要素を解析する。
そして、機能要素抽出部112は、機能毎に、他の機能との間で受け渡しされるリソースに関する情報が定義されたリソース情報、機能毎に、実行されるイベントに関する情報が定義されたイベント情報、および、機能間の関係を示す関係情報を生成する。リソース情報、イベント情報、および、関係情報の詳細については、後述する。
機能分類ルール305には、後述のリソース抽出ルール504、および、関係情報抽出ルール508が含まれる。
ここで、図9は、実施の形態1において、より詳細に、機能要素抽出部112の構成例を示す図である。
図9に示すように、機能要素抽出部112は、機能リソース抽出部1121、イベント抽出部1122、および、関係情報抽出部1123を備える。
図9に示すように、機能要素抽出部112は、機能リソース抽出部1121、イベント抽出部1122、および、関係情報抽出部1123を備える。
機能リソース抽出部1121は、自然言語解析部111から出力された自然言語解析結果情報に含まれる因果関係付機能情報に基づき、リソース情報を生成する。実施の形態1において、リソース情報とは、上述したように、機能毎に、他の機能との間で受け渡しされるリソースに関する情報が定義された情報である。
具体的には、機能リソース抽出部1121は、因果関係付機能情報から、機能毎に、当該機能が主体、言い換えれば、「誰が」、となっている構文解析情報を抽出する。そして、機能リソース抽出部1121は、抽出した構文解析情報に基づき、機能毎に、リソースの受け渡しをする対象となる他の機能と、リソースと、他の機能との間で受け渡されるリソースの方向と、リソースの受け渡しを行って実行されるイベントと、リソースタグとが対応付けられたリソース情報を生成する。機能リソース抽出部1121は、他の機能との間で受け渡されるリソースの方向を、リソース抽出ルール504に従って決定する。リソース抽出ルール504は、リソースの方向、言い換えれば、リソースの入力または出力、を決定するためのルールであり、予め決められている。リソース抽出ルール504において、「誰に」、「誰と」、「誰から」、または、「誰を」等と、リソースの方向とが対応付けられている。例えば、「誰に」には、「出力」が、リソースの方向として対応付けられており、「誰と」には、「入出力」が、リソースの方向として対応付けられており、「誰から」には、「入力」が、リソースの方向として対応付けられている。
機能説明文で記述される内容は、例えば、「Aが、Bに、Cを格納する。」というように、ある程度決まった形式で記述された内容となる。ある程度決まった形式に基づき、「誰に」、「誰と」、「誰から」、または、「誰を」等の部分と、リソースの方向とが対応付けられたリソース抽出ルール504が、予め決められている。
具体的には、機能リソース抽出部1121は、因果関係付機能情報から、機能毎に、当該機能が主体、言い換えれば、「誰が」、となっている構文解析情報を抽出する。そして、機能リソース抽出部1121は、抽出した構文解析情報に基づき、機能毎に、リソースの受け渡しをする対象となる他の機能と、リソースと、他の機能との間で受け渡されるリソースの方向と、リソースの受け渡しを行って実行されるイベントと、リソースタグとが対応付けられたリソース情報を生成する。機能リソース抽出部1121は、他の機能との間で受け渡されるリソースの方向を、リソース抽出ルール504に従って決定する。リソース抽出ルール504は、リソースの方向、言い換えれば、リソースの入力または出力、を決定するためのルールであり、予め決められている。リソース抽出ルール504において、「誰に」、「誰と」、「誰から」、または、「誰を」等と、リソースの方向とが対応付けられている。例えば、「誰に」には、「出力」が、リソースの方向として対応付けられており、「誰と」には、「入出力」が、リソースの方向として対応付けられており、「誰から」には、「入力」が、リソースの方向として対応付けられている。
機能説明文で記述される内容は、例えば、「Aが、Bに、Cを格納する。」というように、ある程度決まった形式で記述された内容となる。ある程度決まった形式に基づき、「誰に」、「誰と」、「誰から」、または、「誰を」等の部分と、リソースの方向とが対応付けられたリソース抽出ルール504が、予め決められている。
図10は、実施の形態1において、自然言語解析部111が生成した因果関係付機能情報に基づいて機能リソース抽出部1121が生成した、リソース情報の内容の一例を説明するための図である。
なお、説明の便宜上、図10では、CPUおよびMemoryが主体となっている因果関係付機能情報に基づいて生成されたリソース情報のみを示すようにしている。
なお、説明の便宜上、図10では、CPUおよびMemoryが主体となっている因果関係付機能情報に基づいて生成されたリソース情報のみを示すようにしている。
図10に示すように、リソース情報は、機能毎に、リソースの受け渡しをする対象となる他の機能と、リソースと、他の機能との間で受け渡されるリソースの受け渡し方向と、リソースの受け渡しを行って実行されるイベントと、リソースタグとが対応付けられた情報である。
機能リソース抽出部1121は、生成したリソース情報を、関係情報抽出部1123に出力する。
なお、機能リソース抽出部1121は、リソース情報を生成する際、リソースの入力および出力がない機能が存在する場合、情報不足であるとして、エラー情報を出力する。機能リソース抽出部1121は、どの機能について、リソースの入力および出力がないかわかるような情報を、エラー情報に含めるようにする。
制御部は、エラー情報が出力されると、当該エラー情報の出力制御を行う。制御部によるエラー情報の出力制御の具体的な内容は、前述のとおりであるため、重複した説明を省略する。
機能リソース抽出部1121は、生成したリソース情報を、関係情報抽出部1123に出力する。
なお、機能リソース抽出部1121は、リソース情報を生成する際、リソースの入力および出力がない機能が存在する場合、情報不足であるとして、エラー情報を出力する。機能リソース抽出部1121は、どの機能について、リソースの入力および出力がないかわかるような情報を、エラー情報に含めるようにする。
制御部は、エラー情報が出力されると、当該エラー情報の出力制御を行う。制御部によるエラー情報の出力制御の具体的な内容は、前述のとおりであるため、重複した説明を省略する。
イベント抽出部1122は、自然言語解析部111から出力された自然言語解析結果情報に含まれる因果関係付機能情報に基づき、イベント情報を生成する。実施の形態1において、イベント情報とは、機能毎に、実行されるイベント、および、イベントの実行に用いられる手段に関する情報が定義された情報である。具体的には、イベント抽出部1122は、因果関係付機能情報から、機能毎に、当該機能が主体、言い換えれば、「誰が」、となっている構文解析情報を抽出する。そして、イベント抽出部1122は、抽出した構文解析情報に基づき、機能毎に、イベントと、手段と、イベントタグとが対応付けられたイベント情報を生成する。
図11は、実施の形態1において、自然言語解析部111が生成した因果関係付機能情報に基づいてイベント抽出部1122が生成した、イベント情報の内容の一例を説明するための図である。
なお、説明の便宜上、図11では、CPUおよびMemoryが主体となっている因果関係付機能情報に基づいて生成されたイベント情報のみを示すようにしている。
なお、説明の便宜上、図11では、CPUおよびMemoryが主体となっている因果関係付機能情報に基づいて生成されたイベント情報のみを示すようにしている。
図11に示すように、イベント情報は、機能毎に、実行されるイベントと、イベントを実行する際に用いられる手段とが対応付けられた情報である。
イベント抽出部1122は、生成したイベント情報を、関係情報抽出部1123に出力する。
イベント抽出部1122は、生成したイベント情報を、関係情報抽出部1123に出力する。
なお、イベント抽出部1122は、イベント情報を生成する際、実行するイベントがない機能が存在する場合、情報不足であるとして、エラー情報を出力する。イベント抽出部1122は、どの機能について、実行するイベントがないかわかるような情報を、エラー情報に含めるようにする。
制御部は、エラー情報が出力されると、当該エラー情報の出力制御を行う。制御部によるエラー情報の出力制御の具体的な内容は、前述のとおりであるため、重複した説明を省略する。
制御部は、エラー情報が出力されると、当該エラー情報の出力制御を行う。制御部によるエラー情報の出力制御の具体的な内容は、前述のとおりであるため、重複した説明を省略する。
関係情報抽出部1123は、自然言語解析部111から出力された自然言語解析結果情報に含まれる因果関係付機能情報と、機能リソース抽出部1121が生成したリソース情報と、イベント抽出部1122が生成したイベント情報に基づき、関係情報抽出ルール508に従って、関係情報を生成する。実施の形態1において、関係情報とは、機能間の関係を示す情報である。例えば、関係情報は、リソース情報に含まれる各リソースが、どのようなイベントが実行されることで、どの機能を起点に、どの機能を経由して、どの機能を終点として出力されるか、の、リソースから見た機能間の関係を定義した情報である。または、関係情報とは、イベント情報に含まれる各イベントが、どの機能で実行されると、実行されたイベントに関連するリソースが、どの機能を経由し、どの機能を終点として受け渡されるか、の、イベントから見た機能での関係を定義した情報である。
関係情報抽出部1123が、リソースから見た機能間での関係を示した情報を関係情報として生成するか、イベントから見た機能での関係を示した情報を関係情報として生成するかは、関係情報抽出ルール508にて予め定められている。ここでは、関係情報抽出ルール508には、リソースから見た機能間での関係を定義した情報を関係情報とするルールが定められているものとする。
関係情報抽出部1123が、リソースから見た機能間での関係を示した情報を関係情報として生成するか、イベントから見た機能での関係を示した情報を関係情報として生成するかは、関係情報抽出ルール508にて予め定められている。ここでは、関係情報抽出ルール508には、リソースから見た機能間での関係を定義した情報を関係情報とするルールが定められているものとする。
図12は、実施の形態1において、関係情報抽出部1123が生成する関係情報の内容の一例を説明するための図である。
例えば、リソース情報が、図10に示すような内容であった場合、「Resrc1」のリソースタグが付与されたリソースは、Memoryを起点、CPUを終点として、MemoryからCPUまで出力される。なお、図10では省略しているが、リソース情報では、Bus Interface unitが、CPUおよびMemoryと、「Resrc1」のリソースタグが付与されたリソースを入出力することが定義されている。よって、図12の関係情報は、「Resrc1」のリソースタグが付与されたリソースは、Memoryを起点とし、Bus Interface unitを経由して、CPUまで出力されることを示している(図12の1201参照)。
図12に示すように、関係情報抽出部1123は、関係情報に、関連するイベントの情報も含めることができる。関連するイベントの情報とは、例えば、イベントタグである。この場合、関係情報抽出部1123は、リソース情報の内容と突き合う因果関係付機能情報の構文解析情報に含まれるイベントタグを、関連するイベントの情報とすればよい。
例えば、リソース情報が、図10に示すような内容であった場合、「Resrc1」のリソースタグが付与されたリソースは、Memoryを起点、CPUを終点として、MemoryからCPUまで出力される。なお、図10では省略しているが、リソース情報では、Bus Interface unitが、CPUおよびMemoryと、「Resrc1」のリソースタグが付与されたリソースを入出力することが定義されている。よって、図12の関係情報は、「Resrc1」のリソースタグが付与されたリソースは、Memoryを起点とし、Bus Interface unitを経由して、CPUまで出力されることを示している(図12の1201参照)。
図12に示すように、関係情報抽出部1123は、関係情報に、関連するイベントの情報も含めることができる。関連するイベントの情報とは、例えば、イベントタグである。この場合、関係情報抽出部1123は、リソース情報の内容と突き合う因果関係付機能情報の構文解析情報に含まれるイベントタグを、関連するイベントの情報とすればよい。
関係情報抽出部1123は、生成した関係情報を、機能リソース抽出部1121から出力されたリソース情報と、イベント抽出部1122から出力されたイベント情報とともに、機能要素解析結果情報として、機能モデル生成部12に出力する。
図1の説明に戻る。
機能モデル生成部12は、機能要素解析部11から出力された機能要素解析結果情報に基づき、リソース解析処理およびイベント解析処理を行い、機能モデルを生成する。機能モデル生成部12は、機能モデルとして、データフローモデル805、I/Fイベントモデル806、基本イベントモデル807、および、形式仕様記述言語モデル808を生成する。リソース解析処理およびイベント解析処理の詳細については、後述する。
機能モデル生成部12は、機能モデルを生成する過程で不備を検出した場合は、エラー情報を出力する。
機能モデル生成部12は、機能要素解析部11から出力された機能要素解析結果情報に基づき、リソース解析処理およびイベント解析処理を行い、機能モデルを生成する。機能モデル生成部12は、機能モデルとして、データフローモデル805、I/Fイベントモデル806、基本イベントモデル807、および、形式仕様記述言語モデル808を生成する。リソース解析処理およびイベント解析処理の詳細については、後述する。
機能モデル生成部12は、機能モデルを生成する過程で不備を検出した場合は、エラー情報を出力する。
図13は、実施の形態1において、より詳細に、機能モデル生成部12の構成例を示す図である。
図13に示すように、機能モデル生成部12は、リソース解析部121、イベント解析部122、および、モデル構築部123を備える。
図13に示すように、機能モデル生成部12は、リソース解析部121、イベント解析部122、および、モデル構築部123を備える。
リソース解析部121は、機能要素解析結果情報に含まれているリソース情報と関係情報とに基づき、機能間でどのリソースの受け渡しが行われているかを解析し、機能間で受け渡しされるリソースを定義したリソース解析結果情報を生成する。
例えば、リソース情報が図10に示すような内容であり、関係情報が図12に示すような内容であったとする。この場合、リソース解析部121は、関係情報から、例えば、Resrc1は、CPUからBus Interface unitへ、受け渡しされると解析する。また、リソース解析部121は、Resrc1は、Bus Interface unitからMemoryへも、受け渡しされると解析する。リソース解析部121は、CPUとBus Interface unitとの間、および、Bus Interface unitとMemoryとの間で、Resrc1の受け渡しが行われていることを定義したリソース解析結果情報を生成する。
例えば、リソース情報が図10に示すような内容であり、関係情報が図12に示すような内容であったとする。この場合、リソース解析部121は、関係情報から、例えば、Resrc1は、CPUからBus Interface unitへ、受け渡しされると解析する。また、リソース解析部121は、Resrc1は、Bus Interface unitからMemoryへも、受け渡しされると解析する。リソース解析部121は、CPUとBus Interface unitとの間、および、Bus Interface unitとMemoryとの間で、Resrc1の受け渡しが行われていることを定義したリソース解析結果情報を生成する。
このとき、リソース解析部121は、機能間での接続が明確になっていないものがある場合は、エラー情報を出力する。リソース解析部121は、接続が明確になっていない機能間を特定できる情報を、エラー情報に含めるようにする。
制御部は、エラー情報が出力されると、当該エラー情報の出力制御を行う。制御部によるエラー情報の出力制御の具体的な内容は、前述のとおりであるため、重複した説明を省略する。
制御部は、エラー情報が出力されると、当該エラー情報の出力制御を行う。制御部によるエラー情報の出力制御の具体的な内容は、前述のとおりであるため、重複した説明を省略する。
ここで、図14は、実施の形態1において、リソース解析部121が生成したリソース解析結果情報の内容のイメージの一例を説明するための図である。
図14に示すように、リソース解析結果情報では、各機能間で受け渡しされるリソースが定義されている。
リソース解析部121は、生成したリソース解析結果情報を、イベント解析部122およびモデル構築部123に出力する。また、リソース解析部121は、生成したリソース解析結果情報を記憶部に記憶させる。
図14に示すように、リソース解析結果情報では、各機能間で受け渡しされるリソースが定義されている。
リソース解析部121は、生成したリソース解析結果情報を、イベント解析部122およびモデル構築部123に出力する。また、リソース解析部121は、生成したリソース解析結果情報を記憶部に記憶させる。
イベント解析部122は、リソース解析部121が生成したリソース解析結果情報、ならびに、機能要素抽出部112が生成した機能要素解析結果情報に含まれているリソース情報およびイベント情報に基づき、機能で実行されるイベントを解析し、機能で実行されるイベントに関するイベント解析結果情報を生成する。
具体的には、イベント解析部122は、リソース解析結果情報、リソース情報、および、イベント情報に基づき、イベント解析ルール606に従って、機能間でリソースの受け渡しをする際のリソース受け渡し手段、機能で実行される基本イベント、または、機能で実行される付属イベントを解析する。そして、イベント解析部122は、リソース解析結果情報にリソース受け渡し手段に関する情報を付加したI/F解析結果情報、I/F解析結果情報に基本イベントに関する情報を付加した基本イベント解析結果情報、基本イベント解析結果情報に付属イベントに関する情報を付加した付属イベント解析結果情報を生成する。I/F解析結果情報、基本イベント解析結果情報、および、付属イベント解析結果情報の詳細については、後述する。
具体的には、イベント解析部122は、リソース解析結果情報、リソース情報、および、イベント情報に基づき、イベント解析ルール606に従って、機能間でリソースの受け渡しをする際のリソース受け渡し手段、機能で実行される基本イベント、または、機能で実行される付属イベントを解析する。そして、イベント解析部122は、リソース解析結果情報にリソース受け渡し手段に関する情報を付加したI/F解析結果情報、I/F解析結果情報に基本イベントに関する情報を付加した基本イベント解析結果情報、基本イベント解析結果情報に付属イベントに関する情報を付加した付属イベント解析結果情報を生成する。I/F解析結果情報、基本イベント解析結果情報、および、付属イベント解析結果情報の詳細については、後述する。
なお、イベント解析ルール606は、予め生成され、機能モデル生成装置1が参照可能な場所に記憶されている。
イベント解析ルール606は、I/F解析ルール704、基本イベント解析ルール706、および、付属イベント解析ルール708を含む。I/F解析ルール704、基本イベント解析ルール706、および、付属イベント解析ルール708の詳細については、後述する。
イベント解析ルール606は、I/F解析ルール704、基本イベント解析ルール706、および、付属イベント解析ルール708を含む。I/F解析ルール704、基本イベント解析ルール706、および、付属イベント解析ルール708の詳細については、後述する。
ここで、図15は、実施の形態1において、より詳細に、イベント解析部122の構成例を示す図である。
図15に示すように、イベント解析部122は、I/F解析部1221、基本イベント解析部1222、および、付属イベント解析部1223を備える。
I/F解析部1221は、I/F解析ルール704に従って、リソース解析部121が生成したリソース解析結果情報と、機能要素解析結果情報に含まれているリソース情報およびイベント情報に基づき、機能間でリソースの受け渡しをする際のリソース受け渡し手段を解析する。そして、I/F解析部1221は、リソース解析結果情報に、機能間のリソース受け渡し手段に関する情報を付加したI/F解析結果情報を生成する。
図15に示すように、イベント解析部122は、I/F解析部1221、基本イベント解析部1222、および、付属イベント解析部1223を備える。
I/F解析部1221は、I/F解析ルール704に従って、リソース解析部121が生成したリソース解析結果情報と、機能要素解析結果情報に含まれているリソース情報およびイベント情報に基づき、機能間でリソースの受け渡しをする際のリソース受け渡し手段を解析する。そして、I/F解析部1221は、リソース解析結果情報に、機能間のリソース受け渡し手段に関する情報を付加したI/F解析結果情報を生成する。
具体的には、I/F解析部1221は、リソース解析結果情報から、各リソースの、機能間の流れを特定する。そして、I/F解析部1221は、各機能が、各リソースを他の機能に受け渡しする際の手段を、イベント情報から特定する。I/F解析部1221は、ある機能について、あるリソースを他の機能に受け渡すことがわかると、リソース情報に基づき、ある機能において、あるリソースを用いて実行されるイベントを特定することができる。I/F解析部1221は、ある機能において実行されるイベントを特定できれば、イベント情報に基づき、当該イベントを実行する際の手段を特定することができる。
例えば、リソース解析結果情報が、図14にてイメージを示したような内容であり、リソース情報が、図10に示すような内容であり、イベント情報が、図11に示すような内容であったとする。この場合、I/F解析部1221は、リソース解析結果情報から、例えば、Resrc1は、CPUからBus Interface unitへ、受け渡しされることを特定できる。次に、I/F解析部1221は、リソース情報に基づき、CPUは、Bus Interface unitとResrc1をデータ転送していることを特定する。そして、I/F解析部1221は、イベント情報に基づき、CPUがデータ転送をする際には、CPU Bus I/Fを、手段として用いていることがわかる。イベント解析部122は、CPUからBus Interface unitへのResrc1の受け渡しの際に用いられる手段として、CPU Bus I/Fを割り当てたI/F解析結果情報を生成する。
なお、I/F解析部1221は、リソースの受け渡し手段が判定できない機能については、手段を割り当てられない「その他」の機能として、エラー情報を出力する。
制御部は、エラー情報が出力されると、当該エラー情報の出力制御を行う。制御部によるエラー情報の出力制御の具体的な内容は、前述のとおりであるため、重複した説明を省略する。
制御部は、エラー情報が出力されると、当該エラー情報の出力制御を行う。制御部によるエラー情報の出力制御の具体的な内容は、前述のとおりであるため、重複した説明を省略する。
ここで、図16は、実施の形態1において、I/F解析部1221が生成したI/F解析結果情報の内容のイメージの一例を説明するための図である。
図16に示すように、I/F解析結果情報では、各機能間で受け渡しされるリソースに加え、各機能における、リソースの受け渡しの際に用いられる手段が定義されている。
I/F解析部1221は、生成したI/F解析結果情報を、基本イベント解析部1222に出力する。また、I/F解析部1221は、生成したI/F解析結果情報を記憶部に記憶させる。
図16に示すように、I/F解析結果情報では、各機能間で受け渡しされるリソースに加え、各機能における、リソースの受け渡しの際に用いられる手段が定義されている。
I/F解析部1221は、生成したI/F解析結果情報を、基本イベント解析部1222に出力する。また、I/F解析部1221は、生成したI/F解析結果情報を記憶部に記憶させる。
基本イベント解析部1222は、基本イベント解析ルール706に従って、I/F解析部1221が生成したI/F解析結果情報と、機能要素解析結果情報に含まれているイベント情報に基づき、機能で実行される基本イベントを解析する。そして、基本イベント解析部1222は、I/F解析結果情報に基本イベントに関する情報を付加した基本イベント解析結果情報を生成する。
具体的には、基本イベント解析部1222は、I/F解析結果情報で定義されている各機能、において実行されるイベントを、イベント情報に基づいて、特定する。基本イベント解析部1222は、特定したイベントが、基本イベント解析ルール706にて基本イベントとして定義されているか判定する。
基本イベント解析ルール706は、各機能が実行するイベントのうち、基本的なイベントを基本イベントとして定義した情報である。基本イベント解析ルール706は、予め生成され、機能モデル生成装置1が参照可能な場所に記憶されている。
基本イベント解析ルール706は、各機能が実行するイベントのうち、基本的なイベントを基本イベントとして定義した情報である。基本イベント解析ルール706は、予め生成され、機能モデル生成装置1が参照可能な場所に記憶されている。
基本イベント解析部1222は、特定したイベントが、基本イベントである場合、当該基本イベントに関する情報を、当該基本イベントを実行する機能に割り当てる。基本イベントに関する情報には、基本イベントを特定可能な情報が含まれる。
例えば、I/F解析結果情報が、図16にてイメージを示したような内容であり、イベント情報が、図11に示すような内容であったとする。また、基本イベント解析ルール706にて、「演算」が基本イベントとして定義されているとする。
この場合、基本イベント解析部1222は、I/F解析結果情報で定義されているCPUについて、イベント情報から、「格納」、「設定」、「要求」、「データ転送」、「取得」、および、「演算」を実行していることを特定できる。「演算」は、基本イベントであるため、基本イベント解析部1222は、CPUに、基本イベントに関する情報として、「演算」を特定可能な情報を割り当てた基本イベント解析結果情報を生成する。
この場合、基本イベント解析部1222は、I/F解析結果情報で定義されているCPUについて、イベント情報から、「格納」、「設定」、「要求」、「データ転送」、「取得」、および、「演算」を実行していることを特定できる。「演算」は、基本イベントであるため、基本イベント解析部1222は、CPUに、基本イベントに関する情報として、「演算」を特定可能な情報を割り当てた基本イベント解析結果情報を生成する。
なお、基本イベント解析部1222は、基本イベント解析ルール706に基づいて基本イベントが割り当てられない機能については、基本イベントを割り当てられない「その他」の機能として、エラー情報を出力する。
制御部は、エラー情報が出力されると、当該エラー情報の出力制御を行う。制御部によるエラー情報の出力制御の具体的な内容は、前述のとおりであるため、重複した説明を省略する。
制御部は、エラー情報が出力されると、当該エラー情報の出力制御を行う。制御部によるエラー情報の出力制御の具体的な内容は、前述のとおりであるため、重複した説明を省略する。
ここで、図17は、実施の形態1において、基本イベント解析部1222が生成した基本イベント解析結果情報の内容のイメージの一例を説明するための図である。
図17に示すように、基本イベント解析結果情報では、各機能間で受け渡しされるリソース、および、各機能間でリソースの受け渡しをする際のリソース受け渡し手段に加え、基本イベントに関する情報が付与されている。
図17に示すように、基本イベント解析結果情報では、各機能間で受け渡しされるリソース、および、各機能間でリソースの受け渡しをする際のリソース受け渡し手段に加え、基本イベントに関する情報が付与されている。
基本イベント解析部1222は、生成した基本イベント解析結果情報を、付属イベント解析部1223に出力する。また、基本イベント解析部1222は、生成した基本イベント解析結果情報を記憶部に記憶させる。
付属イベント解析部1223は、付属イベント解析ルール708に従って、基本イベント解析部1222が生成した基本イベント解析結果情報と、機能要素解析結果情報に含まれているイベント情報に基づき、機能で実行される付属イベントを解析する。そして、付属イベント解析部1223は、基本イベント解析結果情報に付属イベントに関する情報を付加した付属イベント解析結果情報を生成する。
具体的には、付属イベント解析部1223は、基本イベント解析結果情報で定義されている各機能において実行されるイベントを、イベント情報に基づいて、特定する。付属イベント解析部1223は、特定したイベントが、付属イベント解析ルール708にて付属イベントとして定義されているか判定する。
付属イベント解析ルール708は、各機能が実行するイベントのうち、付属的なイベントを付属イベントとして定義した情報である。付属イベント解析ルール708において、付属イベントは、当該付属イベントが付属する対象となる基本イベントと対応付けられている。付属イベント解析ルール708は、予め生成され、機能モデル生成装置1が参照可能な場所に記憶されている。
具体的には、付属イベント解析部1223は、基本イベント解析結果情報で定義されている各機能において実行されるイベントを、イベント情報に基づいて、特定する。付属イベント解析部1223は、特定したイベントが、付属イベント解析ルール708にて付属イベントとして定義されているか判定する。
付属イベント解析ルール708は、各機能が実行するイベントのうち、付属的なイベントを付属イベントとして定義した情報である。付属イベント解析ルール708において、付属イベントは、当該付属イベントが付属する対象となる基本イベントと対応付けられている。付属イベント解析ルール708は、予め生成され、機能モデル生成装置1が参照可能な場所に記憶されている。
付属イベント解析部1223は、特定したイベントが、付属イベントである場合、当該付属イベントに関する情報を、当該付属イベントを実行する機能に割り当てる。付属イベントに関する情報には、付属イベントを特定可能な情報が含まれる。
例えば、基本イベント解析結果情報が、図17にてイメージを示したような内容であったとする。また、イベント情報では、Cryptionが実行するイベントとして「暗号化」および「設定」が定義されているとする。また、付属イベント解析ルール708にて、「設定」が付属イベントとして定義されているとする。付属イベント解析ルール708において、「設定」は、基本イベントである「暗号化」と対応付けられているものとする。
この場合、付属イベント解析部1223は、基本イベント解析結果情報で定義されているCryptionについて、イベント情報から、「暗号化」および「設定」を実行していることを特定できる。「設定」は、付属イベントであるため、付属イベント解析部1223は、Cryptionに、付属イベントに関する情報として、「設定」と特定可能な情報を割り当てた付属イベント解析結果情報を生成する。このとき、付属イベント解析部1223は、付属イベントに関する情報を、基本イベントに関する情報と対応付けるようにする。付属イベント解析部1223は、付属イベントに関する情報を、どの基本イベントに関する情報と対応付けるかを、付属イベント解析ルール708に基づいて決定する。
この場合、付属イベント解析部1223は、基本イベント解析結果情報で定義されているCryptionについて、イベント情報から、「暗号化」および「設定」を実行していることを特定できる。「設定」は、付属イベントであるため、付属イベント解析部1223は、Cryptionに、付属イベントに関する情報として、「設定」と特定可能な情報を割り当てた付属イベント解析結果情報を生成する。このとき、付属イベント解析部1223は、付属イベントに関する情報を、基本イベントに関する情報と対応付けるようにする。付属イベント解析部1223は、付属イベントに関する情報を、どの基本イベントに関する情報と対応付けるかを、付属イベント解析ルール708に基づいて決定する。
なお、付属イベント解析部1223は、付属イベント解析ルール708に基づいて付属イベントを割り当てる対象となる基本イベントに関する情報が基本イベント情報で付与されていない等、付属イベントが割り当てられない機能については、付属イベントを割り当てられない「その他」の機能として、エラー情報を出力する。
制御部は、エラー情報が出力されると、当該エラー情報の出力制御を行う。制御部によるエラー情報の出力制御の具体的な内容は、前述のとおりであるため、重複した説明を省略する。
制御部は、エラー情報が出力されると、当該エラー情報の出力制御を行う。制御部によるエラー情報の出力制御の具体的な内容は、前述のとおりであるため、重複した説明を省略する。
ここで、図18は、実施の形態1において、付属イベント解析部1223が生成した付属イベント解析結果情報の内容のイメージの一例を説明するための図である。
図18に示すように、付属イベント解析結果情報では、各機能間で受け渡しされるリソース、各機能間でリソースの受け渡しをする際のリソース受け渡し手段、および、基本イベントに関する情報に加え、当該基本イベントに関する情報と対応付けられた、付属イベントに関する情報が付与されている。
図18に示すように、付属イベント解析結果情報では、各機能間で受け渡しされるリソース、各機能間でリソースの受け渡しをする際のリソース受け渡し手段、および、基本イベントに関する情報に加え、当該基本イベントに関する情報と対応付けられた、付属イベントに関する情報が付与されている。
付属イベント解析部1223は、生成した付属イベント解析結果情報を、I/F解析部1221が生成したI/F解析結果情報、および、基本イベント解析部1222が生成した基本イベント解析結果情報とともに、イベント解析結果情報として、モデル構築部123に出力する。
図13の説明に戻る。
モデル構築部123は、リソース解析部121から出力されたリソース解析結果情報と、イベント解析部122から出力されたイベント解析結果情報に基づき、機能モデルを生成する。具体的には、モデル構築部123は、リソース解析部121から出力されたリソース解析結果情報と、イベント解析部122から出力されたイベント解析結果情報に基づき、データフローモデル805、I/Fイベントモデル806、基本イベントモデル807、形式仕様記述言語モデル808を生成する。
なお、各機能モデルは、形式仕様記述言語で記載されるものとする。
モデル構築部123は、リソース解析部121から出力されたリソース解析結果情報と、イベント解析部122から出力されたイベント解析結果情報に基づき、機能モデルを生成する。具体的には、モデル構築部123は、リソース解析部121から出力されたリソース解析結果情報と、イベント解析部122から出力されたイベント解析結果情報に基づき、データフローモデル805、I/Fイベントモデル806、基本イベントモデル807、形式仕様記述言語モデル808を生成する。
なお、各機能モデルは、形式仕様記述言語で記載されるものとする。
ここで、図19は、実施の形態1において、より詳細に、モデル構築部123の構成例を示す図である。
図19に示すように、モデル構築部123は、データフローモデル生成部1231、I/Fイベントモデル生成部1232、基本イベントモデル生成部1233、および、形式仕様記述言語モデル生成部1234を備える。
図19に示すように、モデル構築部123は、データフローモデル生成部1231、I/Fイベントモデル生成部1232、基本イベントモデル生成部1233、および、形式仕様記述言語モデル生成部1234を備える。
データフローモデル生成部1231は、リソース解析部121から出力されたリソース解析結果情報に基づき、機能間のリソースの受け渡しを表すデータフローモデル805を生成する。
データフローモデル生成部1231は、生成したデータフローモデル805を、確認部13に出力する。
データフローモデル生成部1231は、生成したデータフローモデル805を、確認部13に出力する。
I/Fイベントモデル生成部1232は、イベント解析部122から出力されたイベント解析結果情報607に含まれているI/Fイベント情報に基づき、機能間のリソースの受け渡し、および、機能間のリソース受け渡し手段を表すI/Fイベントモデル806を生成する。
I/Fイベントモデル生成部1232は、生成したI/Fイベントモデル806を、確認部13に出力する。
I/Fイベントモデル生成部1232は、生成したI/Fイベントモデル806を、確認部13に出力する。
基本イベントモデル生成部1233は、イベント解析部122から出力されたイベント解析結果情報607に含まれている基本イベント解析結果情報に基づき、機能間のリソースの受け渡し、機能間のリソース受け渡し手段、および、各機能にて実行される基本イベントを表す基本イベントモデル807を生成する。
基本イベントモデル生成部1233は、生成した基本イベントモデル807を、確認部13に出力する。
基本イベントモデル生成部1233は、生成した基本イベントモデル807を、確認部13に出力する。
形式仕様記述言語モデル生成部1234は、イベント解析部122から出力されたイベント解析結果情報607に含まれている付属イベント解析結果情報に基づき、機能間のリソースの受け渡し、機能間のリソース受け渡し手段、各機能にて実行される基本イベント、および、各機能にて実行される付属イベントを表す形式仕様記述言語モデル808を生成する。
形式仕様記述言語モデル生成部1234は、生成した形式仕様記述言語モデル808を、確認部13に出力する。
形式仕様記述言語モデル生成部1234は、生成した形式仕様記述言語モデル808を、確認部13に出力する。
確認部13は、モデル構築部123が生成した機能モデル、言い換えれば、データフローモデル生成部1231が生成したデータフローモデル805、I/Fイベントモデル生成部1232が生成したI/Fイベントモデル806、基本イベントモデル生成部1233が生成した基本イベントモデル807、または、形式仕様記述言語モデル生成部1234が生成した形式仕様記述言語モデル808、について、システムにおいて要求された仕様通りになっているか、妥当性の確認を実施する。例えば、確認部13は、形式検証手法を用いて、機能モデルの妥当性の確認を実施する。形式検証手法は、既存の手法とすればよいため、詳細な説明を省略する。
なお、確認部13が機能モデルの妥当性の確認に用いる手法は、形式検証手法であることが望ましいが、形式検証手法に限らない。確認部13は、形式検証手法以外の手法を用いて、機能モデルの妥当性の確認を実施してもよい。
なお、確認部13が機能モデルの妥当性の確認に用いる手法は、形式検証手法であることが望ましいが、形式検証手法に限らない。確認部13は、形式検証手法以外の手法を用いて、機能モデルの妥当性の確認を実施してもよい。
実施の形態1に係る機能モデル生成装置1の動作について説明する。
図20は、実施の形態1に係る機能モデル生成装置1の動作を説明するためのフローチャートである。
機能要素解析部11の自然言語解析部111は、自然言語解析処理を行う(ステップST2001)。具体的には、自然言語解析部111は、機能仕様105に記述されている自然言語を解析し、機能仕様105で定義されている機能が他の機能と受け渡しするリソース、および、当該機能仕様105で定義されている機能が実行するイベントを対応付けた因果関係付機能情報を生成する。
自然言語解析部111は、自然言語解析結果情報を、機能要素抽出部112に出力する。
図20は、実施の形態1に係る機能モデル生成装置1の動作を説明するためのフローチャートである。
機能要素解析部11の自然言語解析部111は、自然言語解析処理を行う(ステップST2001)。具体的には、自然言語解析部111は、機能仕様105に記述されている自然言語を解析し、機能仕様105で定義されている機能が他の機能と受け渡しするリソース、および、当該機能仕様105で定義されている機能が実行するイベントを対応付けた因果関係付機能情報を生成する。
自然言語解析部111は、自然言語解析結果情報を、機能要素抽出部112に出力する。
機能要素解析部11の機能要素抽出部112は、機能要素抽出処理を行う(ステップST2002)。具体的には、機能要素抽出部112は、ステップST2001にて自然言語解析部111が生成した因果関係付機能情報に基づき、機能毎に、他の機能との間で受け渡しされるリソースに関する情報が定義されたリソース情報、機能毎に、実行されるイベントに関する情報が定義されたイベント情報、および、機能間の関係を示す関係情報を生成する。
機能要素抽出部112は、生成したリソース情報、イベント情報、イベント情報、および、関係情報を含む機能要素解析結果情報を、機能モデル生成部12に出力する。
機能要素抽出部112は、生成したリソース情報、イベント情報、イベント情報、および、関係情報を含む機能要素解析結果情報を、機能モデル生成部12に出力する。
機能モデル生成部12のリソース解析部121は、リソース解析処理を行う(ステップST2003)。具体的には、リソース解析部121は、ステップST2002にて機能要素抽出部112から出力された機能要素解析結果情報に含まれているリソース情報と関係情報とに基づき、機能間でどのリソースの受け渡しが行われているかを解析し、機能間で受け渡しされるリソースを定義したリソース解析結果情報を生成する。
リソース解析部121は、生成したリソース解析結果情報を、イベント解析部122およびモデル構築部123に出力する。また、リソース解析部121は、生成したリソース解析結果情報を記憶部に記憶させる。
リソース解析部121は、生成したリソース解析結果情報を、イベント解析部122およびモデル構築部123に出力する。また、リソース解析部121は、生成したリソース解析結果情報を記憶部に記憶させる。
機能モデル生成部12のイベント解析部122は、イベント解析処理を行う(ステップST2004)。具体的には、イベント解析部122は、ステップST2003にてリソース解析部121が生成したリソース解析結果情報、ならびに、ステップST2002にて機能要素抽出部112が生成した機能要素解析結果情報に含まれているリソース情報およびイベント情報に基づき、機能で実行されるイベントを解析し、機能で実行されるイベントに関するイベント解析結果情報を生成する。
イベント解析部122は、生成したイベント解析結果情報を、モデル構築部123に出力する。
イベント解析部122は、生成したイベント解析結果情報を、モデル構築部123に出力する。
モデル構築部123は、モデル構築処理を行う(ステップST2005)。具体的には、モデル構築部123は、ステップST2003にてリソース解析部121から出力されたリソース解析結果情報605と、ステップST2004にてイベント解析部122から出力されたイベント解析結果情報607に基づき、機能モデルを生成する。機能モデルには、データフローモデル805、I/Fイベントモデル806、基本イベントモデル807、または、形式仕様記述言語モデル808が含まれる。
モデル構築部123は、生成したデータフローモデル805、I/Fイベントモデル806、基本イベントモデル807、または、形式仕様記述言語モデル808を、確認部13に出力する。
モデル構築部123は、生成したデータフローモデル805、I/Fイベントモデル806、基本イベントモデル807、または、形式仕様記述言語モデル808を、確認部13に出力する。
確認部13は、確認処理を行う(ステップST2006)。具体的には、確認部13は、ステップST2005にてモデル構築部123が生成した機能モデル、言い換えれば、データフローモデル生成部1231が生成したデータフローモデル805、I/Fイベントモデル生成部1232が生成したI/Fイベントモデル806、基本イベントモデル生成部1233が生成した基本イベントモデル807、または、形式仕様記述言語モデル生成部1234が生成した形式仕様記述言語モデル808、について、システムにおいて要求された仕様通りになっているか、妥当性の確認を実施する。
確認部13は、妥当性確認結果情報を出力する。開発担当者等は、出力された妥当性確認結果情報を確認し、機能モデルが妥当でない場合は、確認結果に基づいて、機能仕様105の修正等を行う。
確認部13は、妥当性確認結果情報を出力する。開発担当者等は、出力された妥当性確認結果情報を確認し、機能モデルが妥当でない場合は、確認結果に基づいて、機能仕様105の修正等を行う。
図21は、図20のステップST2001における、自然言語解析部111の動作をより詳細に説明するためのフローチャートである。
自然言語解析部111の機能説明文抽出部1111は、機能説明文抽出規則405に従って、機能仕様105から、機能説明文を抽出する(ステップST2101)。
機能説明文抽出部1111は、抽出した機能説明文を、意味解析部1112、構文解析部1113、および、関係情報解析部1114に出力する。
自然言語解析部111の機能説明文抽出部1111は、機能説明文抽出規則405に従って、機能仕様105から、機能説明文を抽出する(ステップST2101)。
機能説明文抽出部1111は、抽出した機能説明文を、意味解析部1112、構文解析部1113、および、関係情報解析部1114に出力する。
自然言語解析部111の意味解析部1112は、辞書406に基づき、ステップST2101にて機能説明文抽出部1111から出力された各機能説明文の意味を解析する(ステップST2102)。
意味解析部1112は、意味解析情報を、構文解析部1113および関係情報解析部1114に出力する。また、意味解析部1112は、意味解析情報を、記憶部に記憶させる。
なお、ステップST2102において、意味解析部1112は、辞書406に基づき、機能説明文の意味を解析できなかった場合、言い換えれば、辞書406に収録されている情報では機能説明文の意味を解析できなかった場合、当該機能説明文には不備があると解析する。そして、意味解析部1112は、説明文不備とするエラー情報を生成し、当該エラー情報を、出力する。
意味解析部1112は、意味解析情報を、構文解析部1113および関係情報解析部1114に出力する。また、意味解析部1112は、意味解析情報を、記憶部に記憶させる。
なお、ステップST2102において、意味解析部1112は、辞書406に基づき、機能説明文の意味を解析できなかった場合、言い換えれば、辞書406に収録されている情報では機能説明文の意味を解析できなかった場合、当該機能説明文には不備があると解析する。そして、意味解析部1112は、説明文不備とするエラー情報を生成し、当該エラー情報を、出力する。
自然言語解析部111の構文解析部1113は、文法407、および、ステップST2102にて意味解析部1112から出力された意味解析情報に基づき、ステップST2101にて機能説明文抽出部1111から出力された各機能説明文の文法を解析し、機能情報を生成する(ステップST2103)。
構文解析部1113は、生成した機能情報を、関係情報解析部1114に出力する。また、構文解析部1113は、生成した機能情報を、記憶部に記憶させる。
構文解析部1113は、生成した機能情報を、関係情報解析部1114に出力する。また、構文解析部1113は、生成した機能情報を、記憶部に記憶させる。
自然言語解析部111の関係情報解析部1114は、ステップST2101にて意味解析部1112から出力された意味解析情報と、ステップST2103にて構文解析部1113から出力された機能情報に基づき、機能情報に含まれる各構文解析結果情報に対して、因果関係情報を付与した、因果関係付機能情報を生成する(ステップST2104)。
関係情報解析部1114は、生成した因果関係付機能情報を、意味解析情報および機能情報とともに、自然言語解析結果情報として、機能要素抽出部112に出力する。関係情報解析部1114は、生成した因果関係付機能情報を、記憶部に記憶させる。
関係情報解析部1114は、生成した因果関係付機能情報を、意味解析情報および機能情報とともに、自然言語解析結果情報として、機能要素抽出部112に出力する。関係情報解析部1114は、生成した因果関係付機能情報を、記憶部に記憶させる。
なお、ステップST2104において、関係情報解析部1114は、機能情報について、「いつ」、「誰が」等を明確にした文章が生成できない場合、言い換えれば、機能情報に、「いつ、誰が、誰に/誰と/誰から/誰を、何を、どうする」の情報が揃っていない場合、当該機能情報を有する機能説明文について、情報が不足していると解析する。そして、関係情報解析部1114は、情報不足とするエラー情報を出力する。機能情報に情報が不足しているか否かの解析は、ステップST2103において、構文解析部1113が、機能情報を生成する際に行うようにしてもよい。
図22は、図20のステップST2002における、機能要素抽出部112の動作をより詳細に説明するためのフローチャートである。
機能要素抽出部112の機能リソース抽出部1121は、図20のステップST2001にて自然言語解析部111から出力された自然言語解析結果情報に含まれる因果関係付機能情報に基づき、リソース情報を生成する(ステップST2201)。機能リソース抽出部1121は、生成したリソース情報を、関係情報抽出部1123に出力する。
なお、機能リソース抽出部1121は、リソース情報を生成する際、リソースの入力および出力がない機能が存在する場合、情報不足であるとして、エラー情報を関係情報抽出部1123に出力する。機能リソース抽出部1121は、どの機能について、リソースの入力および出力がないかわかるような情報を、エラー情報に含めるようにする。
機能要素抽出部112の機能リソース抽出部1121は、図20のステップST2001にて自然言語解析部111から出力された自然言語解析結果情報に含まれる因果関係付機能情報に基づき、リソース情報を生成する(ステップST2201)。機能リソース抽出部1121は、生成したリソース情報を、関係情報抽出部1123に出力する。
なお、機能リソース抽出部1121は、リソース情報を生成する際、リソースの入力および出力がない機能が存在する場合、情報不足であるとして、エラー情報を関係情報抽出部1123に出力する。機能リソース抽出部1121は、どの機能について、リソースの入力および出力がないかわかるような情報を、エラー情報に含めるようにする。
機能要素抽出部112のイベント抽出部1122は、図20のステップST2001にて自然言語解析部111から出力された自然言語解析結果情報に含まれる因果関係付機能情報に基づき、イベント情報を生成する(ステップST2202)。イベント抽出部1122は、生成したイベント情報を、関係情報抽出部1123に出力する。
なお、イベント抽出部1122は、イベント情報を生成する際、実行するイベントがない機能が存在する場合、情報不足であるとして、エラー情報を関係情報抽出部1123に出力する。イベント抽出部1122は、どの機能について、実行するイベントがないかわかるような情報を、エラー情報に含めるようにする。
なお、イベント抽出部1122は、イベント情報を生成する際、実行するイベントがない機能が存在する場合、情報不足であるとして、エラー情報を関係情報抽出部1123に出力する。イベント抽出部1122は、どの機能について、実行するイベントがないかわかるような情報を、エラー情報に含めるようにする。
機能要素抽出部112の関係情報抽出部1123は、図20のステップST2001にて自然言語解析部111から出力された自然言語解析結果情報に含まれる因果関係付機能情報と、ステップST2201にて機能リソース抽出部1121が生成したリソース情報と、ステップST2202にてイベント抽出部1122が生成したイベント情報に基づき、関係情報抽出ルール508に従って、関係情報を生成する(ステップST2203)。
関係情報抽出部1123は、生成した関係情報を、機能リソース抽出部1121から出力されたリソース情報と、イベント抽出部1122から出力されたイベント情報とともに、機能要素解析結果情報として、機能モデル生成部12に出力する。
関係情報抽出部1123は、生成した関係情報を、機能リソース抽出部1121から出力されたリソース情報と、イベント抽出部1122から出力されたイベント情報とともに、機能要素解析結果情報として、機能モデル生成部12に出力する。
図23は、図20のステップST2004における、イベント解析部122の動作をより詳細に説明するためのフローチャートである。
イベント解析部122のI/F解析部1221は、I/F解析ルール704に従って、リソース解析部121が生成したリソース解析結果情報と、機能要素解析結果情報に含まれているリソース情報およびイベント情報に基づき、機能間でリソースの受け渡しをする際のリソースリソース受け渡し手段を解析する。そして、I/F解析部1221は、リソース解析結果情報に、機能間のリソースの受け渡し手段に関する情報を付加したI/F解析結果情報を生成する(ステップST2301)。
なお、I/F解析部1221は、リソースの受け渡し手段が判定できない機能については、手段を割り当てられない「その他」の機能として、エラー情報を出力する。
I/F解析部1221は、生成したI/F解析結果情報を、基本イベント解析部1222に出力する。また、I/F解析部1221は、生成したI/F解析結果情報を記憶部に記憶させる。
イベント解析部122のI/F解析部1221は、I/F解析ルール704に従って、リソース解析部121が生成したリソース解析結果情報と、機能要素解析結果情報に含まれているリソース情報およびイベント情報に基づき、機能間でリソースの受け渡しをする際のリソースリソース受け渡し手段を解析する。そして、I/F解析部1221は、リソース解析結果情報に、機能間のリソースの受け渡し手段に関する情報を付加したI/F解析結果情報を生成する(ステップST2301)。
なお、I/F解析部1221は、リソースの受け渡し手段が判定できない機能については、手段を割り当てられない「その他」の機能として、エラー情報を出力する。
I/F解析部1221は、生成したI/F解析結果情報を、基本イベント解析部1222に出力する。また、I/F解析部1221は、生成したI/F解析結果情報を記憶部に記憶させる。
イベント解析部122の基本イベント解析部1222は、基本イベント解析ルール706に従って、ステップST2301にてI/F解析部1221が生成したI/F解析結果情報と、機能要素解析結果情報に含まれているイベント情報に基づき、機能で実行される基本イベントを解析する。そして、基本イベント解析部1222は、I/F解析結果情報に基本イベントに関する情報を付加した基本イベント解析結果情報を生成する(ステップST2302)。
なお、基本イベント解析部1222は、基本イベント解析ルール706に基づいて基本イベントが割り当てられない機能については、基本イベントを割り当てられない「その他」の機能として、エラー情報を出力する。
基本イベント解析部1222は、生成した基本イベント解析結果情報を、付属イベント解析部1223に出力する。また、基本イベント解析部1222は、生成した基本イベント解析結果情報を記憶部に記憶させる。
なお、基本イベント解析部1222は、基本イベント解析ルール706に基づいて基本イベントが割り当てられない機能については、基本イベントを割り当てられない「その他」の機能として、エラー情報を出力する。
基本イベント解析部1222は、生成した基本イベント解析結果情報を、付属イベント解析部1223に出力する。また、基本イベント解析部1222は、生成した基本イベント解析結果情報を記憶部に記憶させる。
イベント解析部122の付属イベント解析部1223は、付属イベント解析ルール708に従って、ステップST2302にて基本イベント解析部1222が生成した基本イベント解析結果情報と、機能要素解析結果情報に含まれているイベント情報に基づき、機能で実行される付属イベントを解析する。そして、付属イベント解析部1223は、基本イベント解析結果情報に付属イベントに関する情報を付加した付属イベント解析結果情報を生成する(ステップST2303)。
なお、付属イベント解析部1223は、付属イベント解析ルール708に基づいて付属イベントを割り当てる対象となる基本イベントに関する情報が基本イベント情報で付与されていない等、付属イベントが割り当てられない機能については、付属イベントを割り当てられない「その他」の機能として、エラー情報を出力する。
付属イベント解析部1223は、生成した付属イベント解析結果情報を、I/F解析部1221が生成したI/F解析結果情報、および、基本イベント解析部1222が生成した基本イベント解析結果情報とともに、イベント解析結果情報として、モデル構築部123に出力する。
なお、付属イベント解析部1223は、付属イベント解析ルール708に基づいて付属イベントを割り当てる対象となる基本イベントに関する情報が基本イベント情報で付与されていない等、付属イベントが割り当てられない機能については、付属イベントを割り当てられない「その他」の機能として、エラー情報を出力する。
付属イベント解析部1223は、生成した付属イベント解析結果情報を、I/F解析部1221が生成したI/F解析結果情報、および、基本イベント解析部1222が生成した基本イベント解析結果情報とともに、イベント解析結果情報として、モデル構築部123に出力する。
図24は、図20のステップST2005における、モデル構築部123の動作をより詳細に説明するためのフローチャートである。
モデル構築部123のデータフローモデル生成部1231は、図20のステップST2003にてリソース解析部121から出力されたリソース解析結果情報605に基づき、機能間のリソースの受け渡しを表すデータフローモデル805を生成する(ステップST2401)。
データフローモデル生成部1231は、生成したデータフローモデル805を、確認部13に出力する。
モデル構築部123のデータフローモデル生成部1231は、図20のステップST2003にてリソース解析部121から出力されたリソース解析結果情報605に基づき、機能間のリソースの受け渡しを表すデータフローモデル805を生成する(ステップST2401)。
データフローモデル生成部1231は、生成したデータフローモデル805を、確認部13に出力する。
モデル構築部123のI/Fイベントモデル生成部1232は、図20のステップST2004にてイベント解析部122から出力されたイベント解析結果情報に含まれているI/Fイベント情報に基づき、機能間のリソースの受け渡し、および、機能間のリソース受け渡し手段を表すI/Fイベントモデル806を生成する(ステップST2402)。
I/Fイベントモデル生成部1232は、生成したI/Fイベントモデル806を、確認部13に出力する。
I/Fイベントモデル生成部1232は、生成したI/Fイベントモデル806を、確認部13に出力する。
モデル構築部123の基本イベントモデル生成部1233は、図20のステップST2004にてイベント解析部122から出力されたイベント解析結果情報に含まれている基本イベント解析結果情報に基づき、機能間のリソースの受け渡し、機能間のリソース受け渡し手段、および、各機能にて実行される基本イベントを表す基本イベントモデル807を生成する(ステップST2403)。
基本イベントモデル生成部1233は、生成した基本イベントモデル807を、確認部13に出力する。
基本イベントモデル生成部1233は、生成した基本イベントモデル807を、確認部13に出力する。
モデル構築部123の形式仕様記述言語モデル生成部1234は、図20のステップST2004にてイベント解析部122から出力されたイベント解析結果情報に含まれている付属イベント解析結果情報に基づき、機能間のリソースの受け渡し、機能間のリソース受け渡し手段、各機能にて実行される基本イベント、および、各機能にて実行される付属イベントを表す形式仕様記述言語モデル808を生成する(ステップST2404)。
形式仕様記述言語モデル生成部1234は、生成した形式仕様記述言語モデル808を、確認部13に出力する。
形式仕様記述言語モデル生成部1234は、生成した形式仕様記述言語モデル808を、確認部13に出力する。
以上のように、機能モデル生成装置1は、機能モデルを、段階的に生成することができる。これにより、機能モデル生成装置1は、自然言語で記述された文書の不備または不整合を早期に発見可能な機能モデルを生成することができる。
上述したように、従来、システム開発では、システムの仕様書の多くは自然言語で記述されている。開発担当者等が自然言語で仕様を記述するとき、意図した通りに記述することが難しく、仕様書内に不備が存在してしまうことがある。
また、近年、システム開発が大規模化または複雑化することに伴い、仕様の規模または複雑度が大きくなっている。そのため、開発するシステムをブロック分割し、複数名が分担して各ブロックを設計することで、開発工程の短縮を図っている。複数名が分担して作成した仕様書には、分割したブロック間の不整合が発生し得る。
具体的には、複数名の開発担当者等で分担して作業を行う場合、開発担当者等の解釈が異なる可能性があるため、当該複数名の開発担当者等で分担して作成された仕様書において、分割したブロック間の不整合が発生することがある。具体例を挙げて説明すると、例えば、以下の仕様について、開発担当者Xと開発担当者Yは、分担して仕様書を生成するとする。
機能Aのアクセス領域:80000000(H)番地〜8FFFFFFF(H)番地
機能Bのアクセス領域:88000000(H)番地〜88FFFFFF(H)番地
『内部機能へのアクセスに関する通信は、機能Aを介して行われます。しかし、外部機能へのアクセスは、機能B経由で行われます。各アクセスは、機能Cにて行われます。』
上記仕様について、開発担当者Xと開発担当者Yとでは、例えば、上記仕様について、以下のように異なる解釈をする可能性がある。
<開発担当者Xの解釈>
機能Aにも機能Bと同様のアクセス発生する可能性があるから、機能Cに応答を返すようにしておこう。
<開発担当者Yの解釈>
機能Aからの応答は、80000000(H)〜87FFFFFF(H)と89000000(H)〜8FFFFFFF(H)にアクセスした時で、88000000(H)〜88FFFFFF(H)にアクセスした時は、機能Bからしか応答が返ってこない。
機能Aのアクセス領域:80000000(H)番地〜8FFFFFFF(H)番地
機能Bのアクセス領域:88000000(H)番地〜88FFFFFF(H)番地
『内部機能へのアクセスに関する通信は、機能Aを介して行われます。しかし、外部機能へのアクセスは、機能B経由で行われます。各アクセスは、機能Cにて行われます。』
上記仕様について、開発担当者Xと開発担当者Yとでは、例えば、上記仕様について、以下のように異なる解釈をする可能性がある。
<開発担当者Xの解釈>
機能Aにも機能Bと同様のアクセス発生する可能性があるから、機能Cに応答を返すようにしておこう。
<開発担当者Yの解釈>
機能Aからの応答は、80000000(H)〜87FFFFFF(H)と89000000(H)〜8FFFFFFF(H)にアクセスした時で、88000000(H)〜88FFFFFF(H)にアクセスした時は、機能Bからしか応答が返ってこない。
そうすると、開発担当者Xと開発担当者Yとの解釈の違いによって、生成された仕様書において、開発担当者Xが担当したブロックと、開発担当者Yが担当したブロックとで不整合が発生することがある。
なお、このように、分割したブロック間の不整合が発生しないよう、人手によるレビュー等も行われるが、大規模化または複雑化したシステム開発では、全ての不整合等を人手でチェックすることは困難である。また、レビュー等を行っても、不整合が見過ごされてしまう可能性もある。
なお、このように、分割したブロック間の不整合が発生しないよう、人手によるレビュー等も行われるが、大規模化または複雑化したシステム開発では、全ての不整合等を人手でチェックすることは困難である。また、レビュー等を行っても、不整合が見過ごされてしまう可能性もある。
そこで、上述の従来技術のような、自然言語で記述された文書で定義されている、機能間のデータの受け渡し、および、各機能で実行される処理、を解析した結果を含む、一つの機能モデルを生成する方法で生成された一つの機能モデルを使用して、仕様書の不備を検出することが考えられる。しかし、自然言語で記述された文書で定義されている、機能間のデータの受け渡し、および、各機能で実行される処理、を解析した結果を含む、一つの機能モデルから仕様書の不備を検出しようとした場合、機能モデルで定義されている情報の種類および情報量が多く、開発担当者等は、仕様書の不備を特定するのに時間を要することになる。その結果、仕様書の不備が早期に発見されないという事態が生じ得る。
これに対し、実施の形態1に係る機能モデル生成装置1は、機能間で受け渡しされるリソースを定義したリソース解析結果情報と、機能で実行されるイベントに関するイベント解析結果情報を生成し、リソース解析結果情報、または、イベント解析結果情報に基づき、それぞれ、機能モデルを生成するようにした。
より詳細には、機能モデル生成装置1は、リソース解析結果情報に基づき、データフローモデル805を生成し、イベント解析結果情報に基づき、I/Fイベントモデル806、基本イベントモデル807、または、形式仕様記述言語モデル808を生成する。
データフローモデル805は、機能間の前記リソースの受け渡しを表す機能モデルであり、I/Fイベントモデル806は、データフローモデル805に、機能間の前記リソース受け渡し手段を付加した機能モデルである。基本イベントモデル807は、I/Fイベントモデル806に、機能間のリソース受け渡し手段、および、機能にて実行される基本イベントを付加した機能モデルである。形式仕様記述言語モデル808は、基本イベントモデル807に、機能にて実行される付属イベントを付加した機能モデルである。
このように、機能モデル生成装置1は、段階的に、複数の機能モデルを生成する。
そのため、開発担当者等は、段階的に機能仕様105の不備を検出することができる。例えば、開発担当者等は、データフローモデル805を使用して、機能仕様105における、機能間でのリソースのやり取り、または、リソースの経路の不備検出、リソース受け渡し手段の不備検出、基本イベントの不備検出、付属イベントの不備検出を、段階的に実施することができる。その結果、機能仕様105内で発生している不備を、早期に発見することができる。また、段階的に機能仕様105の不備検出を実施できるため、開発担当者等は、容易に、機能仕様105にて発生している不備による、機能仕様105の修正箇所の特定することができる。機能仕様105の修正箇所の特定を容易に行えることは、システム開発の手戻りを最小限に抑えることにつながる。
より詳細には、機能モデル生成装置1は、リソース解析結果情報に基づき、データフローモデル805を生成し、イベント解析結果情報に基づき、I/Fイベントモデル806、基本イベントモデル807、または、形式仕様記述言語モデル808を生成する。
データフローモデル805は、機能間の前記リソースの受け渡しを表す機能モデルであり、I/Fイベントモデル806は、データフローモデル805に、機能間の前記リソース受け渡し手段を付加した機能モデルである。基本イベントモデル807は、I/Fイベントモデル806に、機能間のリソース受け渡し手段、および、機能にて実行される基本イベントを付加した機能モデルである。形式仕様記述言語モデル808は、基本イベントモデル807に、機能にて実行される付属イベントを付加した機能モデルである。
このように、機能モデル生成装置1は、段階的に、複数の機能モデルを生成する。
そのため、開発担当者等は、段階的に機能仕様105の不備を検出することができる。例えば、開発担当者等は、データフローモデル805を使用して、機能仕様105における、機能間でのリソースのやり取り、または、リソースの経路の不備検出、リソース受け渡し手段の不備検出、基本イベントの不備検出、付属イベントの不備検出を、段階的に実施することができる。その結果、機能仕様105内で発生している不備を、早期に発見することができる。また、段階的に機能仕様105の不備検出を実施できるため、開発担当者等は、容易に、機能仕様105にて発生している不備による、機能仕様105の修正箇所の特定することができる。機能仕様105の修正箇所の特定を容易に行えることは、システム開発の手戻りを最小限に抑えることにつながる。
また、機能モデル生成装置1が、段階的に、複数の機能モデルを生成することで、機能モデルの流用性を高めることができる。機能モデル生成装置1が生成した機能モデルを流用することは、あるシステムの仕様を流用して他のシステムを開発するような場合に発生することが多い機能間の不備の防止の一助になる。結果として、開発担当者は、仕様書と機能モデルの整合が取れたシステム開発を行うことができ、システム開発における作業の手戻りを防止することができる。
図25A,図25Bは、実施の形態1に係る機能モデル生成装置1のハードウェア構成の一例を示す図である。
実施の形態1において、機能要素解析部11と、機能モデル生成部12と、確認部13の機能は、処理回路2501により実現される。すなわち、機能モデル生成装置1は、機能仕様105から機能モデルを生成する制御を行うための処理回路2501を備える。
処理回路2501は、図25Aに示すように専用のハードウェアであっても、図25Bに示すようにメモリ2506に格納されるプログラムを実行するCPU(Central Processing Unit)2505であってもよい。
実施の形態1において、機能要素解析部11と、機能モデル生成部12と、確認部13の機能は、処理回路2501により実現される。すなわち、機能モデル生成装置1は、機能仕様105から機能モデルを生成する制御を行うための処理回路2501を備える。
処理回路2501は、図25Aに示すように専用のハードウェアであっても、図25Bに示すようにメモリ2506に格納されるプログラムを実行するCPU(Central Processing Unit)2505であってもよい。
処理回路2501が専用のハードウェアである場合、処理回路2501は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field−Programmable Gate Array)、またはこれらを組み合わせたものが該当する。
処理回路2501がCPU2505の場合、機能要素解析部11と、機能モデル生成部12と、確認部13の機能は、ソフトウェア、ファームウェア、または、ソフトウェアとファームウェアとの組み合わせにより実現される。すなわち、機能要素解析部11と、機能モデル生成部12と、確認部13は、HDD(Hard Disk Drive)2502、メモリ2506等に記憶されたプログラムを実行するCPU2505、システムLSI(Large−Scale Integration)等の処理回路により実現される。また、HDD2502、メモリ2506等に記憶されたプログラムは、機能要素解析部11と、機能モデル生成部12と、確認部13の手順または方法をコンピュータに実行させるものであるとも言える。ここで、メモリ2506とは、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read−Only Memory)等の、不揮発性または揮発性の半導体メモリ、または、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD(Digital Versatile Disc)等が該当する。
なお、機能要素解析部11と、機能モデル生成部12と、確認部13の機能について、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。例えば、機能要素解析部11と、機能モデル生成部12については専用のハードウェアとしての処理回路2501でその機能を実現し、確認部13については処理回路2501がメモリ2506に格納されたプログラムを読み出して実行することによってその機能を実現することが可能である。
また、機能モデル生成装置1は、表示装置等の装置と、有線通信または無線通信を行う入力インタフェース装置2503および出力インタフェース装置2504を備える。
また、機能モデル生成装置1は、表示装置等の装置と、有線通信または無線通信を行う入力インタフェース装置2503および出力インタフェース装置2504を備える。
以上の実施の形態1では、機能モデル生成装置1は、確認部13を備えているものとしたが、これは一例に過ぎず、機能モデル生成装置1は、確認部13を備えることを必須としない。例えば、確認部13は、独立した装置として機能するものとし、機能モデル生成装置1は、確認部13に対して、リソース解析結果情報と、イベント解析結果情報を、出力するようにしてもよい。
以上のように、実施の形態1に係る機能モデル生成装置1は、文書(機能仕様105)に記述されている自然言語を解析し、文書で定義されている機能が他の機能と受け渡しするリソース、および、当該文書で定義されている機能が実行するイベントを対応付けた因果関係付機能情報を生成する自然言語解析部111と、自然言語解析部111が生成した因果関係付機能情報に基づき、機能毎に、他の機能との間で受け渡しされるリソースに関する情報が定義されたリソース情報、機能毎に、実行されるイベント、および、イベントの実行に用いられる手段に関する情報が定義されたイベント情報、ならびに、機能間の関係を示す関係情報を生成する機能要素抽出部112と、機能要素抽出部112が生成したリソース情報および関係情報に基づき、機能間でどのリソースの受け渡しが行われているかを解析し、機能間で受け渡しされるリソースを定義したリソース解析結果情報を生成するリソース解析部121と、リソース解析部121が生成したリソース解析結果情報、ならびに、機能要素抽出部112が生成したリソース情報およびイベント情報に基づき、機能で実行されるイベントを解析し、機能で実行されるイベントに関するイベント解析結果情報を生成するイベント解析部122と、リソース解析部121が生成したリソース解析結果情報、または、イベント解析部122が生成したイベント解析結果情報に基づき、機能モデルを生成するモデル構築部123を備えるように構成した。そのため、機能モデル生成装置1は、自然言語で記述された文書の不備または不整合を早期に発見可能な機能モデルを生成することができる。
なお、本願発明はその発明の範囲内において、実施の形態の任意の構成要素の変形、もしくは実施の形態の任意の構成要素の省略が可能である。
1 機能モデル生成装置、11 機能要素解析部、111 自然言語解析部、1111 機能説明文抽出部、1112 意味解析部、1113 構文解析部、1114 関係情報解析部、112 機能要素抽出部、1121 機能リソース抽出部、1122 イベント抽出部、1123 関係情報抽出部、12 機能モデル生成部、121 リソース解析部、122 イベント解析部、123 モデル構築部、1221 I/F解析部、1222 基本イベント解析部、1223 付属イベント解析部、1231 データフローモデル生成部、1232 I/Fイベントモデル生成部、1233 基本イベントモデル生成部、1234 形式仕様記述言語モデル生成部、805 データフローモデル、806 I/Fイベントモデル、807 基本イベントモデル、808 形式仕様記述言語モデル、13 確認部、2501 処理回路、2502 HDD、2503 入力インタフェース装置、2504 出力インタフェース装置、2505 CPU、2506 メモリ。
Claims (6)
- 文書に記述されている自然言語を解析し、前記文書で定義されている機能が他の機能と受け渡しするリソース、および、当該文書で定義されている機能が実行するイベントを対応付けた因果関係付機能情報を生成する自然言語解析部と、
前記自然言語解析部が生成した因果関係付機能情報に基づき、機能毎に、他の機能との間で受け渡しされるリソースに関する情報が定義されたリソース情報、機能毎に、実行されるイベント、および、イベントの実行に用いられる手段に関する情報が定義されたイベント情報、ならびに、機能間の関係を示す関係情報を生成する機能要素抽出部と、
前記機能要素抽出部が生成したリソース情報および関係情報に基づき、機能間でどのリソースの受け渡しが行われているかを解析し、機能間で受け渡しされるリソースを定義したリソース解析結果情報を生成するリソース解析部と、
前記リソース解析部が生成したリソース解析結果情報、ならびに、前記機能要素抽出部が生成したリソース情報およびイベント情報に基づき、前記機能で実行されるイベントを解析し、前記機能で実行されるイベントに関するイベント解析結果情報を生成するイベント解析部と、
前記リソース解析部が生成したリソース解析結果情報、または、前記イベント解析部が生成したイベント解析結果情報に基づき、機能モデルを生成するモデル構築部
を備えた機能モデル生成装置。 - 前記イベント解析部は、
前記リソース解析部が生成したリソース解析結果情報、ならびに、前記機能要素抽出部が生成したリソース情報およびイベント情報に基づき、機能間で前記リソースの受け渡しをする際のリソース受け渡し手段を解析し、前記リソース解析結果情報に前記リソース受け渡し手段に関する情報を付加したI/F解析結果情報を生成するI/F解析部と、
前記I/F解析部が生成したI/F解析結果情報と、前記機能要素抽出部が生成したイベント情報に基づき、前記機能で実行される基本イベントを解析し、前記I/F解析結果情報に前記基本イベントに関する情報を付加した基本イベント解析結果情報を生成する基本イベント解析部と、
前記基本イベント解析部が生成した基本イベント解析結果情報と、前記機能要素抽出部が生成したイベント情報に基づき、前記機能で実行される付属イベントを解析し、前記基本イベント解析結果情報に前記付属イベントに関する情報を付加した付属イベント解析結果情報を生成する付属イベント解析部
を備えたことを特徴とする請求項1記載の機能モデル生成装置。 - 前記モデル構築部は、
前記機能モデルとして、前記リソース解析部が生成したリソース解析結果情報に基づき、機能間の前記リソースの受け渡しを表すデータフローモデルを生成するデータフローモデル生成部と、
前記機能モデルとして、前記I/F解析部が生成したI/F解析結果情報に基づき、機能間の前記リソースの受け渡し、および、機能間の前記リソース受け渡し手段を表すI/Fイベントモデルを生成するI/Fイベントモデル生成部と、
前記機能モデルとして、前記基本イベント解析部が生成した基本イベント解析結果情報に基づき、機能間の前記リソースの受け渡し、機能間の前記リソース受け渡し手段、および、前記機能にて実行される前記基本イベントを表す基本イベントモデルを生成する基本イベントモデル生成部と、
前記機能モデルとして、前記付属イベント解析部が生成した付属イベント解析結果情報に基づき、機能間の前記リソースの受け渡し、機能間の前記リソース受け渡し手段、前記機能にて実行される前記基本イベント、および、前記機能にて実行される前記付属イベントを表す形式仕様記述言語モデルを生成する形式仕様記述言語モデル生成部を備えた
ことを特徴とする請求項2記載の機能モデル生成装置。 - 前記モデル構築部が生成した前記機能モデルの妥当性を確認する確認部
を備えた請求項1から請求項3のうちのいずれか1項記載の機能モデル生成装置。 - コンピュータを、
文書に記述されている自然言語を解析し、前記文書で定義されている機能が他の機能と受け渡しするリソース、および、当該文書で定義されている機能が実行するイベントを対応付けた因果関係付機能情報を生成する自然言語解析部と、
前記自然言語解析部が生成した因果関係付機能情報に基づき、機能毎に、他の機能との間で受け渡しされるリソースに関する情報が定義されたリソース情報、機能毎に、実行されるイベント、および、イベントの実行に用いられる手段に関する情報が定義されたイベント情報、ならびに、機能間の関係を示す関係情報を生成する機能要素抽出部と、
前記機能要素抽出部が生成したリソース情報および関係情報に基づき、機能間でどのリソースの受け渡しが行われているかを解析し、機能間で受け渡しされるリソースを定義したリソース解析結果情報を生成するリソース解析部と、
前記リソース解析部が生成したリソース解析結果情報、ならびに、前記機能要素抽出部が生成したリソース情報およびイベント情報に基づき、前記機能で実行されるイベントを解析し、前記機能で実行されるイベントに関するイベント解析結果情報を生成するイベント解析部と、
前記リソース解析部が生成したリソース解析結果情報、または、前記イベント解析部が生成したイベント解析結果情報に基づき、機能モデルを生成するモデル構築部
として機能させるための機能モデル生成プログラム。 - 自然言語解析部が、文書に記述されている自然言語を解析し、前記文書で定義されている機能が他の機能と受け渡しするリソース、および、当該文書で定義されている機能が実行するイベントを対応付けた因果関係付機能情報を生成するステップと、
機能要素抽出部が、前記自然言語解析部が生成した因果関係付機能情報に基づき、機能毎に、他の機能との間で受け渡しされるリソースに関する情報が定義されたリソース情報、機能毎に、実行されるイベント、および、イベントの実行に用いられる手段に関する情報が定義されたイベント情報、ならびに、機能間の関係を示す関係情報を生成するステップと、
リソース解析部が、前記機能要素抽出部が生成したリソース情報および関係情報に基づき、機能間でどのリソースの受け渡しが行われているかを解析し、機能間で受け渡しされるリソースを定義したリソース解析結果情報を生成するステップと、
イベント解析部が、前記リソース解析部が生成したリソース解析結果情報、ならびに、前記機能要素抽出部が生成したリソース情報およびイベント情報に基づき、前記機能で実行されるイベントを解析し、前記機能で実行されるイベントに関するイベント解析結果情報を生成するステップと、
モデル構築部が、前記リソース解析部が生成したリソース解析結果情報、または、前記イベント解析部が生成したイベント解析結果情報に基づき、機能モデルを生成するステップ
を備えた機能モデル生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019201279A JP2021076951A (ja) | 2019-11-06 | 2019-11-06 | 機能モデル生成装置、機能モデル生成プログラム、および、機能モデル生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019201279A JP2021076951A (ja) | 2019-11-06 | 2019-11-06 | 機能モデル生成装置、機能モデル生成プログラム、および、機能モデル生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021076951A true JP2021076951A (ja) | 2021-05-20 |
Family
ID=75898310
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019201279A Pending JP2021076951A (ja) | 2019-11-06 | 2019-11-06 | 機能モデル生成装置、機能モデル生成プログラム、および、機能モデル生成方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021076951A (ja) |
-
2019
- 2019-11-06 JP JP2019201279A patent/JP2021076951A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106528100A (zh) | 用于安全关键软件开发的基于模型的技术和过程的系统和方法 | |
US20160246772A1 (en) | Systems and methods for advanced grammar checking | |
US9454525B2 (en) | Information extraction in a natural language understanding system | |
EP3285171B1 (en) | System and method for cause point analysis for effective handling of static analysis alarms | |
US20080295085A1 (en) | Integrated code review tool | |
US20090234634A1 (en) | Method for Automatically Modifying A Machine Translation and A System Therefor | |
US20140172411A1 (en) | Apparatus and method for verifying context | |
JPH1078964A (ja) | 一般に混同するワードを自然言語パーザにおいて識別及び分析する方法及びシステム | |
US11822909B2 (en) | Adapting existing source code snippets to new contexts | |
Nguyen et al. | Rule-based extraction of goal-use case models from text | |
Mencl | Deriving behavior specifications from textual use cases | |
KR101709693B1 (ko) | 크라우드 소싱을 이용한 웹툰 언어 자동 번역 방법 | |
AU2019204444A1 (en) | System and method for enrichment of ocr-extracted data | |
CN109947651B (zh) | 人工智能引擎优化方法和装置 | |
US20190272921A1 (en) | Automated Diagnostic Support System for Clinical Documentation Workflows | |
US11880798B2 (en) | Determining section conformity and providing recommendations | |
US11645192B2 (en) | Graph-based method for inductive bug localization | |
Häser et al. | An integrated tool environment for experimentation in domain specific language engineering | |
JP2021076951A (ja) | 機能モデル生成装置、機能モデル生成プログラム、および、機能モデル生成方法 | |
US20230229398A1 (en) | Method and Apparatus for Codifying User Experience Designs and Managing the Codified User Experirence Designs | |
US20200034273A1 (en) | Systems and methods of requirements chaining and applications thereof | |
US20210342530A1 (en) | Framework for Managing Natural Language Processing Tools | |
JP2022078962A (ja) | エラーに関連するコードの行の自動識別 | |
JP6907703B2 (ja) | 解析装置、解析方法、および解析プログラム | |
US11978273B1 (en) | Domain-specific processing and information management using machine learning and artificial intelligence models |