(57)【要約】【課題】状態遷移表に時間情報を追加できるようにする。【解決手段】状態遷移図データは、１つ以上の状態遷移を図の形式で示す状態遷移図のデータであり状態遷移毎に遷移元の状態を識別する遷移元状態名と遷移先の状態を識別する遷移先状態名と状態遷移の発生時に実行される遷移処理を識別する遷移処理名とを示すデータである。処理時間リストデータは、１つ以上の遷移処理のそれぞれの処理時間を示すデータであり遷移処理毎に遷移処理名と処理時間とを示すデータである。表生成部１１０は、状態遷移図データと処理時間データとを用いて、状態遷移図に示される状態遷移毎に遷移元状態名と遷移先状態名と遷移処理名と処理時間とを表の形式で示す時間追加表データを生成する。【選択図】図１
2018088100.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上の状態遷移を図の形式で示す状態遷移図のデータであり状態遷移毎に遷移元の状態を識別する遷移元状態名と遷移先の状態を識別する遷移先状態名と状態遷移の発生時に実行される遷移処理を識別する遷移処理名とを示すデータである状態遷移図データと、１つ以上の遷移処理のそれぞれの処理時間を示すデータであり遷移処理毎に遷移処理名と処理時間とを示すデータである処理時間リストデータとを用いて、前記状態遷移図に示される状態遷移毎に遷移元状態名と遷移先状態名と遷移処理名と処理時間とを表の形式で示す時間追加表データを生成する表生成部
を備える状態遷移編集装置。
【請求項２】
前記表生成部は、
前記状態遷移図データを用いて、前記状態遷移図に示される状態遷移毎に遷移元状態名と遷移先状態名と遷移処理名とを表の形式で示す状態遷移表データを生成し、
前記状態遷移表データに示される遷移処理名毎に前記処理時間リストから処理時間を取得し、
取得された処理時間を前記状態遷移表データに示される遷移処理名に対応付けて前記状態遷移表データに追加して前記時間追加表データを生成する
請求項１に記載の状態遷移編集装置。
【請求項３】
前記表生成部は、前記処理時間リストに示されていない遷移処理名が前記状態遷移表データに示されている場合、前記時間追加表データにおいて当該遷移処理名に対応付けて処理時間を追加しない
請求項２に記載の状態遷移編集装置。
【請求項４】
前記状態遷移編集装置は、前記処理時間リストデータを受け付ける受付部を備え、
前記表生成部は、受け付けられた前記処理時間リストデータを用いて前記時間追加表データを生成する
請求項１から請求項３のいずれか１項に記載の状態遷移編集装置。
【請求項５】
前記時間追加表データは、状態遷移表記法におけるガード条件を示す条件欄を有し、
前記表生成部は、前記処理時間を前記時間追加表データの中の前記条件欄に登録する
請求項１から請求項４のいずれか１項に記載の状態遷移編集装置。
【請求項６】
前記時間追加表データを用いて、前記状態遷移図に示される状態遷移毎に遷移元状態名と遷移先状態名と遷移処理名と処理時間とを図の形式で示す時間追加図データを生成する図生成部を備える
請求項１から請求項５のいずれか１項に記載の状態遷移編集装置。
【請求項７】
前記時間追加図データは、状態遷移表記法におけるガード条件を示す条件部分を有し、
前記図生成部は、前記処理時間を前記時間追加図データの中の前記条件部分に記載する
請求項６に記載の状態遷移編集装置。
【請求項８】
１つ以上の状態遷移を図の形式で示す状態遷移図のデータであり状態遷移毎に遷移元の状態を識別する遷移元状態名と遷移先の状態を識別する遷移先状態名と状態遷移の発生時に実行される遷移処理を識別する遷移処理名とを示すデータである状態遷移図データと、１つ以上の遷移処理のそれぞれの処理時間を示すデータであり遷移処理毎に遷移処理名と処理時間とを示すデータである処理時間リストデータとを用いて、前記状態遷移図に示される状態遷移毎に遷移元状態名と遷移先状態名と遷移処理名と処理時間とを表の形式で示す時間追加表データを生成する表生成部
としてコンピュータを機能させるための状態遷移編集プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、状態遷移図または状態遷移表に時間情報を追加するための技術に関するものである。
【背景技術】
【０００２】
モデル検査は、起きうる全てのシナリオを仮想的に検証する技術である。
例えば、モデル検査では、状態遷移図に示される全てのシナリオにおいて特定の順序で特定の処理が必ず実行されることが検証される。
【０００３】
リアルタイムモデル検査は処理時間を考慮して行うモデル検査であり、リアルタイムモデル検査では時間制約を検証することも可能である。
例えば、リアルタイムモデル検査では、第１処理から第２処理までが５秒以内に実行されることを検証することが可能である。
【０００４】
しかし、リアルタイムモデル検査は以下のように手間がかかる。
リアルタイムモデル検査を行うためには、時間付き状態遷移図が必要である。
時間付き状態遷移図は、処理時間を含んだガード条件が記載れた状態遷移図である。
時間付き状態遷移図に示される全ての状態遷移に、処理時間を含んだガード条件を記載することは手間である。
【０００５】
特許文献１は、モデル検査で使用する状態遷移図に送信アクションを自動的に追加するための技術を開示している。この技術では、通信を行うアクションの名称がシーケンス図から抽出される。
【０００６】
特許文献２は、データフロー図に時間制約を自動的に追加するための技術を開示している。この技術では、シーケンス図から時間制約が抽出される。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−０２１１６０号公報
【特許文献２】特開２０１０−０２６７０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
従来技術によってソースコードから状態遷移図を生成することは可能であるが、従来技術によって時間付き状態遷移図を生成することはできない。
特許文献１に開示された技術によって状態遷移図に送信アクションを追加することは可能であるが、特許文献１に開示された技術によって状態遷移図に時間制約を追加することはできない。
特許文献２に開示された技術によってデータフロー図に時間制約を追加することは可能であるが、特許文献２に開示された技術によって状態遷移図に時間制約を追加することはできない。
【０００９】
本発明は、状態遷移表に時間情報を追加できるようにすることを目的とする。
【課題を解決するための手段】
【００１０】
本発明の状態遷移編集装置は、
１つ以上の状態遷移を図の形式で示す状態遷移図のデータであり状態遷移毎に遷移元の状態を識別する遷移元状態名と遷移先の状態を識別する遷移先状態名と状態遷移の発生時に実行される遷移処理を識別する遷移処理名とを示すデータである状態遷移図データと、１つ以上の遷移処理のそれぞれの処理時間を示すデータであり遷移処理毎に遷移処理名と処理時間とを示すデータである処理時間リストデータとを用いて、前記状態遷移図に示される状態遷移毎に遷移元状態名と遷移先状態名と遷移処理名と処理時間とを表の形式で示す時間追加表データを生成する表生成部を備える。
【発明の効果】
【００１１】
本発明によれば、処理時間が追加された状態遷移表のデータである時間追加表データが生成される。つまり、本発明によれば、状態遷移表に時間情報を追加することができる。
【図面の簡単な説明】
【００１２】
【図１】実施の形態１における状態遷移編集装置１００の構成図。
【図２】実施の形態１における記憶部１９１の構成を示す図。
【図３】実施の形態１における状態遷移図２１１の構成を示す図。
【図４】実施の形態１における処理時間リスト２２１の構成を示す図。
【図５】実施の形態１における状態遷移表２３１の構成を示す図。
【図６】実施の形態１における時間追加表２４１の構成を示す図。
【図７】実施の形態１における状態遷移編集方法のフローチャート。
【図８】実施の形態１における状態遷移図２１１の具体例を示す図。
【図９】実施の形態１における状態遷移表２３１の具体例を示す図。
【図１０】実施の形態１における第１生成処理（Ｓ１２０）のフローチャート。
【図１１】実施の形態１における処理時間リスト２２１の具体例を示す図。
【図１２】実施の形態１における時間追加表２４１の具体例を示す図。
【図１３】実施の形態１における第２生成処理（Ｓ１３０）のフローチャート。
【図１４】実施の形態１における状態遷移表２３１の編集の流れを示す図。
【図１５】実施の形態２における状態遷移編集方法のフローチャート。
【図１６】実施の形態３における状態遷移編集装置１００の構成図。
【図１７】実施の形態３における記憶部１９１の構成を示す図。
【図１８】実施の形態３における時間追加図２５１の構成を示す図。
【図１９】実施の形態３における状態遷移編集方法のフローチャート。
【図２０】実施の形態３における時間追加図２５１の具体例を示す図。
【図２１】実施の形態３における図生成処理（Ｓ３５０）のフローチャート。
【図２２】実施の形態における状態遷移編集装置１００のハードウェア構成図。
【発明を実施するための形態】
【００１３】
実施の形態および図面において、同じ要素および対応する要素には同じ符号を付している。同じ符号が付された要素の説明は適宜に省略または簡略化する。図中の矢印はデータの流れ又は処理の流れを主に示している。
【００１４】
実施の形態１．
状態遷移表に時間情報を追加する形態について、図１から図１４に基づいて説明する。
【００１５】
＊＊＊構成の説明＊＊＊
図１に基づいて、状態遷移編集装置１００の構成を説明する。
状態遷移編集装置１００は、プロセッサ９０１とメモリ９０２と補助記憶装置９０３と入出力インタフェース９０４といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
【００１６】
プロセッサ９０１は、演算処理を行うＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）であり、他のハードウェアを制御する。例えば、プロセッサ９０１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、またはＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。
メモリ９０２は揮発性の記憶装置である。メモリ９０２は、主記憶装置またはメインメモリとも呼ばれる。例えば、メモリ９０２はＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。メモリ９０２に記憶されたデータは必要に応じて補助記憶装置９０３に保存される。
補助記憶装置９０３は不揮発性の記憶装置である。例えば、補助記憶装置９０３は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、またはフラッシュメモリである。補助記憶装置９０３に記憶されたデータは必要に応じてメモリ９０２にロードされる。
【００１７】
入出力インタフェース９０４は入力装置および出力装置が接続されるポートである。例えば、入出力インタフェース９０４はＵＳＢ端子であり、入力装置はキーボードおよびマウスであり、出力装置はディスプレイである。ＵＳＢはＵｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓの略称である。
【００１８】
状態遷移編集装置１００は、表生成部１１０を機能構成の要素として備える。表生成部１１０はソフトウェアで実現される。
【００１９】
補助記憶装置９０３には、表生成部１１０を実現する状態遷移編集プログラムが記憶されている。状態遷移編集プログラムは、メモリ９０２にロードされて、プロセッサ９０１によって実行される。
さらに、補助記憶装置９０３にはＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）が記憶されている。ＯＳの少なくとも一部は、メモリ９０２にロードされて、プロセッサ９０１によって実行される。
つまり、プロセッサ９０１は、ＯＳを実行しながら、状態遷移編集プログラムを実行する。
状態遷移編集プログラムを実行して得られるデータは、メモリ９０２、補助記憶装置９０３、プロセッサ９０１内のレジスタまたはプロセッサ９０１内のキャッシュメモリといった記憶装置に記憶される。
【００２０】
メモリ９０２はデータを記憶する記憶部１９１として機能する。但し、他の記憶装置が、メモリ９０２の代わりに、又は、メモリ９０２と共に、記憶部１９１として機能してもよい。
入出力インタフェース９０４は受付部１９２および表示部１９３として機能する。受付部１９２は入力を受け付ける要素であり、表示部１９３はディスプレイへの表示を行う要素である。
【００２１】
状態遷移編集装置１００は、プロセッサ９０１を代替する複数のプロセッサを備えてもよい。複数のプロセッサは、プロセッサ９０１の役割を分担する。
【００２２】
状態遷移編集プログラムは、磁気ディスク、光ディスクまたはフラッシュメモリ等の不揮発性の記憶媒体にコンピュータ読み取り可能に記憶することができる。不揮発性の記憶媒体は、一時的でない有形の媒体である。
【００２３】
図２に基づいて、記憶部１９１の構成を説明する。
記憶部１９１には、状態遷移図データ２１０、処理時間リストデータ２２０、状態遷移表データ２３０および時間追加表データ２４０などが記憶される。
【００２４】
状態遷移図データ２１０は、状態遷移図のデータである。
状態遷移図は、１つ以上の状態遷移を図の形式で示す。例えば、状態遷移図は、ＵＭＬ（Ｕｎｉｆｉｅｄ  Ｍｏｄｅｌｉｎｇ  Ｌａｎｇｕａｇｅ）におけるステートマシン図である。
具体的には、状態遷移図は、状態遷移毎に遷移元状態名と遷移先状態名とイベント名と遷移処理名とを示す。
遷移元状態名は、遷移元の状態を識別する。
遷移先状態名は、遷移先の状態を識別する。
イベント名は、状態遷移を発生させるイベントを識別する。
遷移処理名は、遷移処理を識別する。遷移処理は、状態遷移の発生時に実行される処理である。具体的には、イベントが発生したときに遷移処理が実行され、遷移処理の実行が完了したときに状態が遷移する。遷移処理はアクションとも呼ばれ、遷移処理名はアクション名とも呼ばれる。例えば、遷移処理は関数であり、遷移処理名は関数名である。
【００２５】
図３に基づいて、状態遷移図２１１の構成を説明する。
状態遷移図２１１は、初期状態２１２と遷移状態２１３と状態遷移２１４とイベント名２１５と遷移処理名２１６といった要素を備える。
初期状態２１２は、初期の状態を表す。
遷移状態２１３は、遷移元の状態または遷移先の状態を表す。遷移状態２１３の中に記された文字列は、遷移元状態名または遷移先状態名である。
状態遷移２１４は、遷移元の状態から遷移先の状態への遷移を表す。
イベント名２１５は、状態遷移を発生させるイベントを識別する。
遷移処理名２１６、遷移処理を識別する。
例えば、状態遷移図２１１は、シミュレーションのように網羅探索が可能な従来のモデル検査技術を利用して生成される。
【００２６】
図２において、処理時間リストデータ２２０は処理時間リストのデータである。
処理時間リストは、１つ以上の遷移処理のそれぞれの処理時間を示す。処理時間は、遷移処理の実行に要する時間である。
具体的には、処理時間リストは、遷移処理毎に遷移処理名と処理時間とを示す。
【００２７】
図４に基づいて、処理時間リスト２２１の構成を説明する。
処理時間リスト２２１は、遷移処理名と処理時間とのそれぞれの欄を有する。それらの欄は互いに対応付けられている。
【００２８】
図２において、状態遷移表データ２３０は状態遷移表のデータである。
状態遷移表は、１つ以上の状態遷移を表の形式で示す。
具体的には、状態遷移表は、状態遷移図に示される状態遷移毎に遷移元状態名とイベント名と遷移先状態名と遷移処理名とを表の形式で示す。
【００２９】
図５に基づいて、状態遷移表２３１の構成を説明する。
状態遷移表２３１は、遷移元状態名とイベント名と遷移処理名と遷移先状態名とのそれぞれの欄を有する。それらの欄は互いに対応付けられている。
状態遷移表２３１の行を状態遷移レコードという。
【００３０】
図２において、時間追加表データ２４０は時間追加表のデータである。
時間追加表は、処理時間が追加された状態遷移表である。
具体的には、時間追加表は、状態遷移図に示される状態遷移毎に遷移元状態名とイベント名と遷移先状態名と遷移処理名と処理時間とを表の形式で示す。
【００３１】
図６に基づいて、時間追加表２４１の構成を説明する。
時間追加表２４１は、遷移元状態名とイベント名とガード条件と遷移処理名と遷移先状態名とのそれぞれの欄を有する。それらの欄は互いに対応付けられている。
ガード条件の欄は、状態遷移表記法におけるガード条件を示す欄である。状態遷移表記法は状態遷移を書き表す方法である。例えば、状態遷移表記法はＵＭＬである。
ガード条件の欄には、遷移処理の処理時間が登録される。例えば、「ｘ＝＝ｔ」という形式で、処理時間ｔがガード条件の欄に登録される。
時間追加表２４１の行を時間追加レコードという。
【００３２】
＊＊＊動作の説明＊＊＊
状態遷移編集装置１００の動作は状態遷移編集方法に相当する。また、状態遷移編集方法の手順は状態遷移編集プログラムの手順に相当する。
【００３３】
図７に基づいて、状態遷移編集方法を説明する。
ステップＳ１１０において、利用者は、状態遷移図データ２１０を状態遷移編集装置１００に入力する。
受付部１９２は、入力された状態遷移図データ２１０を受け付ける。
記憶部１９１は、受け付けられた状態遷移図データ２１０を記憶する。
【００３４】
図８に基づいて、状態遷移図データ２１０に示される状態遷移図２１１の具体例を説明する。
状態遷移図２１１は、３つの状態遷移を示している。
第１状態遷移は、第１状態（Ｓｔ１）から第２状態（Ｓｔ２）への遷移である。第１状態遷移において、イベント名は「ｍｓｇ」であり、遷移処理名は「ｆｕｎｃ１」である。
第２状態遷移は、第２状態（Ｓｔ２）から第３状態（Ｓｔ３）への遷移である。第２状態遷移において、イベント名は「ｍｓｇ」であり、遷移処理名は「ｆｕｎｃ２」である。
第３状態遷移は、第３状態（Ｓｔ３）から第１状態（Ｓｔ１）への遷移である。第３状態遷移において、イベント名は「ｍｓｇ」であり、遷移処理名は「ｆｕｎｃ３」である。
【００３５】
図７に戻り、ステップＳ１２０から説明を続ける。
ステップＳ１２０およびステップＳ１３０において、表生成部１１０は、状態遷移図データ２１０と処理時間リストデータ２２０とを用いて、時間追加表データ２４０を生成する。
【００３６】
ステップＳ１２０において、表生成部１１０は、状態遷移図データ２１０を用いて、状態遷移表データ２３０を生成する。
図８の状態遷移図２１１を示す状態遷移図データ２１０が用いられた場合、図９の状態遷移表２３１を示す状態遷移表データ２３０が生成される。
【００３７】
図１０に基づいて、第１生成処理（Ｓ１２０）の流れを説明する。
ステップＳ１２１において、表生成部１１０は、未選択の状態遷移を状態遷移図データ２１０から１つ選択する。
状態遷移図データ２１０が図８の状態遷移図２１１を示す場合、表生成部１１０は、例えば、第１状態遷移（Ｓｔ１→Ｓｔ２）を選択する。
【００３８】
ステップＳ１２２において、表生成部１１０は、ステップＳ１２１で選択された状態遷移の情報を状態遷移図データ２１０から取得する。取得される情報は、ステップＳ１２１で選択された状態遷移における遷移元状態名とイベント名と遷移処理名と遷移先状態名である。
図８の状態遷移図２１１における第１状態遷移（Ｓｔ１→Ｓｔ２）がステップＳ１２１で選択された場合、表生成部１１０は「Ｓｔ１」と「ｍｓｇ」と「ｆｕｎｃ１」と「Ｓｔ２」とを状態遷移図データ２１０から取得する。「Ｓｔ１」が遷移元状態名であり、「ｍｓｇ」がイベント名であり、「ｆｕｎｃ１」が遷移処理名であり、「Ｓｔ２」が遷移先状態名である。
【００３９】
ステップＳ１２３において、表生成部１１０は、ステップＳ１２２で取得された情報を含んだ状態遷移レコードを生成し、生成された状態遷移レコードを状態遷移表データ２３０に登録する。
「Ｓｔ１」と「ｍｓｇ」と「ｆｕｎｃ１」と「Ｓｔ２」がステップＳ１２２で取得された場合、表生成部１１０は、図９において１行目の状態遷移レコードを状態遷移表２３１に登録する。
【００４０】
ステップＳ１２４において、表生成部１１０は、未選択の状態遷移が状態遷移図データ２１０に有るか判定する。
未選択の状態遷移が有る場合、処理はステップＳ１２１に進む。
未選択の状態遷移が無い場合、第１生成処理（Ｓ１２０）は終了する。
【００４１】
図７に戻り、ステップＳ１３０を説明する。
ステップＳ１３０において、表生成部１１０は、状態遷移表データ２３０と処理時間リストデータ２２０とを用いて、時間追加表データ２４０を生成する。
図９の状態遷移表２３１を示す状態遷移表データ２３０と図１１の処理時間リスト２２１を示す処理時間リストデータ２２０とが用いられた場合、図１２の時間追加表２４１を示す時間追加表データ２４０が生成される。ハイフン「−」は値が登録されていないことを意味する。
【００４２】
図１３に基づいて、第２生成処理（Ｓ１３０）の流れを説明する。
ステップＳ１３１において、表生成部１１０は、未選択の状態遷移レコードを状態遷移表データ２３０から１つ選択する。
状態遷移表データ２３０が図９の状態遷移表２３１を示す場合、表生成部１１０は、例えば、１行目の状態遷移レコード（Ｓｔ１，ｍｓｇ，ｆｕｎｃ１，ｓｔ２）を選択する。
【００４３】
ステップＳ１３２において、表生成部１１０は、ステップＳ１３１で選択された状態遷移レコードから、遷移処理名を取得する。
図９の状態遷移表２３１における１行目の状態遷移レコードがステップＳ１３１で選択された場合、表生成部１１０は「ｆｕｎｃ１」を取得する。「ｆｕｎｃ１」が遷移処理名である。
【００４４】
ステップＳ１３３において、表生成部１１０は、処理時間リストデータ２２０を検索して、ステップＳ１３２で取得された遷移処理名と同じ遷移処理名が処理時間リスト２２１に示されているか判定する。
ステップＳ１３２で取得された遷移処理名が「ｆｕｎｃ１」または「ｆｕｎｃ２」である場合、同じ遷移処理名は図１１の処理時間リスト２２１に示されている。
ステップＳ１３２で取得された遷移処理名が「ｆｕｎｃ３」である場合、同じ遷移処理名は図１１の処理時間リスト２２１に示されていない。
同じ遷移処理名が処理時間リスト２２１に示されている場合、処理はステップＳ１３４に進む。
同じ遷移処理名が処理時間リスト２２１に示されていない場合、処理はステップＳ１３６に進む。
【００４５】
ステップＳ１３４において、表生成部１１０は、ステップＳ１３２で取得された遷移処理名と同じ遷移処理名に対応付けられている処理時間を処理時間リスト２２１から取得する。
ステップＳ１３２で取得された遷移処理名が「ｆｕｎｃ１」である場合、表生成部１１０は、図１１の処理時間リスト２２１から「１０」を取得する。「１０」が「ｆｕｎｃ１」に対応付けられている処理時間である。
ステップＳ１３２で取得された遷移処理名が「ｆｕｎｃ２」である場合、表生成部１１０は、図１１の処理時間リスト２２１から「５」を取得する。「５」が「ｆｕｎｃ２」で対応付けられている処理時間である。
【００４６】
ステップＳ１３５において、表生成部１１０は、ステップＳ１３４で取得された処理時間を、ステップＳ１３１で選択された状態遷移レコードに追加する。
具体的には、表生成部１１０は、ステップＳ１３４で取得された処理時間を、ステップＳ１３１で選択された状態遷移レコードの中のガード条件の欄に登録する。
【００４７】
ステップＳ１３６において、表生成部１１０は、未選択の状態遷移レコードが状態遷移表データ２３０に有るか判定する。
未選択の状態遷移レコードが有る場合、処理はステップＳ１３１に進む。
未選択の状態遷移レコードが無い場合、第２生成処理（Ｓ１３０）は終了する。
【００４８】
図１４に基づいて、状態遷移表２３１の編集の流れを説明する。状態遷移表２３１の左に示す矢印は、ステップＳ１３１（図１３参照）で選択された状態遷移レコードを指している。
（１）１行目の状態遷移レコードにおいて、遷移処理名は「ｆｕｎｃ１」である。「ｆｕｎｃ１」は図１１の処理時間リスト２２１に示されている。「ｆｕｎｃ１」に対応する処理時間は「１０」である。そのため、１行目の状態遷移レコードの中のガード条件の欄に「ｘ＝＝１０」が登録される。
（２）２行目の状態遷移レコードにおいて、遷移処理名は「ｆｕｎｃ２」である。「ｆｕｎｃ２」は図１１の処理時間リスト２２１に示されている。「ｆｕｎｃ２」に対応する処理時間は「５」である。そのため、２行目の状態遷移レコードの中のガード条件の欄に「ｘ＝＝５」が登録される。
（３）３行目の状態遷移レコードにおいて、遷移処理名は「ｆｕｎｃ３」である。「ｆｕｎｃ３」は図１１の処理時間リスト２２１に示されていない。そのため、３行目の状態遷移レコードの中のガード条件の欄には処理時間が登録されない。
編集後の状態遷移表２３１が時間追加表２４１である。
【００４９】
図７に戻り、ステップＳ１４０を説明する。
ステップＳ１４０において、表示部１９３は、時間追加表データ２４０を用いて、時間追加表２４１をディスプレイに表示する。
【００５０】
＊＊＊実施の形態１の効果＊＊＊
時間追加表データ２４０を生成することができる。つまり、状態遷移表２３１に時間情報を追加することができる。具体的には、遷移処理に要する処理時間を状態遷移表２３１に追加することができる。
全ての状態遷移に対応することは難しいかも知れないが、ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）等でよく使われる処理が実行される際の状態遷移に対応することが可能である。
【００５１】
例えば、時間追加表２４１は、モデル検査を行うためのシミュレーションにおいて有用である。
図１２で説明したように、時間追加表２４１の中のガード条件の欄には処理時間が登録される。
シミュレーションでは、ガード条件が成立したときに状態が遷移する。したがって、時間追加表２４１を用いることにより、イベントが発生してから処理時間が経過したときに遷移処理が終了したものと見做して状態を遷移させるシミュレーションが可能となる。
【００５２】
実施の形態２．
任意の処理時間リスト２２１が用いられる形態について、主に実施の形態１と異なる点を図１５に基づいて説明する。
【００５３】
＊＊＊構成の説明＊＊＊
状態遷移編集装置１００の構成は、実施の形態１における構成（図１参照）と同じである。
【００５４】
＊＊＊動作の説明＊＊＊
図７に基づいて、状態遷移編集方法を説明する。
ステップＳ２１０において、利用者は、処理時間リストデータ２２０を状態遷移編集装置１００に入力する。
受付部１９２は、入力された処理時間リストデータ２２０を受け付ける。
記憶部１９１は、受け付けられた処理時間リストデータ２２０を記憶する。他の処理時間リストデータ２２０が記憶されている場合、記憶部１９１は、他の処理時間リストデータ２２０を、受け付けられた処理時間リストデータ２２０に置き換える。
【００５５】
ステップＳ２２０からステップＳ２５０は、実施の形態１（図７参照）におけるステップＳ１１０からステップＳ１４０と同じである。
つまり、表生成部１１０は、ステップＳ２１０で受け付けられた処理時間リストデータ２２０を用いて、時間追加表データ２４０を生成する。
【００５６】
＊＊＊実施の形態２の効果＊＊＊
任意の処理時間リスト２２１を用いて時間追加表データ２４０を生成することができる。
【００５７】
実施の形態３．
状態遷移図に時間情報を追加する形態について、主に実施の形態１と異なる点を図１６から図２１に基づいて説明する。
【００５８】
＊＊＊構成の説明＊＊＊
図１６に基づいて、状態遷移編集装置１００の構成を説明する。
状態遷移編集装置１００は、表生成部１１０の他に図生成部１２０を機能構成の要素として備える。図生成部１２０はソフトウェアで実現される。
状態遷移編集プログラムは、表生成部１１０および図生成部１２０を実現するプログラムである。状態遷移編集プログラムは、メモリ９０２にロードされて、プロセッサ９０１によって実行される。
【００５９】
図１７に基づいて、記憶部１９１の構成を説明する。
記憶部１９１には、さらに、時間追加図データ２５０が記憶される。
時間追加図データ２５０は時間追加図のデータである。
時間追加図は、処理時間が追加された状態遷移図である。
つまり、時間追加図は、状態遷移図に示される状態遷移毎に遷移元状態名と遷移先状態名と遷移処理名と処理時間とを図の形式で示す。
【００６０】
図１８に基づいて、時間追加図２５１の構成を説明する。
時間追加図２５１は、状態遷移図２１１（図３参照）の要素の他にガード条件２５２を備える。
ガード条件２５２は、状態遷移表記法におけるガード条件である。状態遷移表記法は状態遷移を書き表す方法である。例えば、状態遷移表記法はＵＭＬである。
ガード条件２５２には、処理時間が記載される。例えば、「ｘ＝＝ｔ」という形式で、処理時間ｔがガード条件２５２に記載される。
【００６１】
＊＊＊動作の説明＊＊＊
図１９に基づいて、状態遷移編集方法を説明する。
ステップＳ３１０からステップＳ３３０は、実施の形態１（図７参照）におけるステップＳ１１０からステップＳ１３０と同じである。
【００６２】
ステップＳ３４０において、図生成部１２０は、時間追加表データ２４０を用いて、時間追加図データ２５０を生成する。
具体的には、図生成部１２０は、時間追加表データ２４０に示される処理時間を状態遷移図データ２１０に追加することによって、時間追加図データ２５０を生成する。
図１２の時間追加表２４１を示す時間追加表データ２４０が用いられた場合、図２０の時間追加図２５１を示す時間追加図データ２５０が生成される。
【００６３】
図２１に基づいて、図生成処理（Ｓ３４０）の流れを説明する。
ステップＳ３４１において、図生成部１２０は、未選択の時間追加レコードを時間追加表データ２４０から１つ選択する。
時間追加表データ２４０が図１２の時間追加表２４１を示す場合、図生成部１２０は、例えば、１行目の時間追加レコード（Ｓｔ１、ｍｓｇ、ｘ＝＝１０、ｆｕｎｃ１、ｓｔ２）を選択する。
【００６４】
ステップＳ３４２において、図生成部１２０は、ステップＳ３４１で選択された時間追加レコードから処理時間を取得する。
具体的には、図生成部１２０は、ステップＳ３４１で選択された時間追加レコードからガード条件を取得する。ガード条件に含まれる時間が処理時間である。
図１２の時間追加表２４１における１行目の時間追加レコードがステップＳ３４１で選択された場合、図生成部１２０は、選択された時間追加レコードから「ｘ＝＝１０」を取得する。「ｘ＝＝１０」が、選択された時間追加レコードに登録されているガード条件である。「ｘ＝＝１０」に含まれる「１０」が処理時間である。
【００６５】
ステップＳ３４３において、図生成部１２０は、ステップＳ３４１で選択された時間追加レコードに対応する状態遷移を状態遷移図データ２１０から選択する。
具体的には、状態遷移図データ２１０は、ステップＳ３４１で選択された時間追加レコードから遷移元状態名と遷移先状態名との組を取得し、取得された組と同じ遷移元状態名と遷移先状態名とを含んでいる状態遷移を状態遷移図データ２１０から選択する。
図１２の時間追加表２４１における１行名の時間追加レコードがステップＳ３４１で選択された場合、図生成部１２０は、選択された時間追加レコードから「Ｓｔ１」と「ｓｔ２」とを取得する。「Ｓｔ１」が遷移元状態名であり、「Ｓｔ２」が遷移先状態名である。そして、図生成部１２０は、図８の状態遷移図２１１を示す状態遷移図データ２１０から第１状態遷移（Ｓｔ１→Ｓｔ２）を選択する。第１状態遷移（Ｓｔ１→Ｓｔ２）は、「Ｓｔ１」と「Ｓｔ２」とを含んでいる状態遷移である。
【００６６】
ステップＳ３４３において、図生成部１２０は、ステップＳ３４３で選択された状態遷移に、ステップＳ３４２で取得された処理時間を追加する。
具体的には、図生成部１２０は、ステップＳ３４３で選択された状態遷移に、ステップＳ３４２で取得されたガード条件を記載する。
例えば、図８の状態遷移図２１１における第１状態遷移（Ｓｔ１→Ｓｔ２）がステップＳ３４４で選択された状態遷移であり、「ｘ＝＝１０」がステップＳ３４２で取得されたガード条件であるものとする。この場合、図生成部１２０は、第１状態遷移（Ｓｔ１→Ｓｔ２）にガード条件として［ｘ＝＝１０］を記載する。これにより、図８の状態遷移図２１１において、「ｍｓｇ／ｆｕｎｃ１」が「ｍｓｇ［ｘ＝＝１０］／ｆｕｎｃ１」に変更される。「ｍｓｇ／ｆｕｎｃ１」は、第１状態遷移（Ｓｔ１→Ｓｔ２）の情報である。
【００６７】
ステップＳ３４５において、図生成部１２０は、未選択の時間追加レコードが時間追加表データ２４０に有るか判定する。
未選択の時間追加レコードが有る場合、処理はステップＳ３４１に進む。
未選択の時間追加レコードが無い場合、図生成処理（Ｓ３４０）は終了する。
【００６８】
図１９に戻り、ステップＳ３５０を説明する。
ステップＳ３５０において、表示部１９３は、時間追加図データ２５０が示す時間追加表２４１をディスプレイに表示する。
【００６９】
＊＊＊実施の形態３の効果＊＊＊
時間追加図データ２５０を生成することができる。つまり、状態遷移図２１１に時間情報を追加することができる。具体的には、遷移処理に要する処理時間を状態遷移図２１１に追加することができる。
【００７０】
＊＊＊他の構成＊＊＊
実施の形態２と同じく、任意の処理時間リスト２２１が用いられても構わない。
【００７１】
＊＊＊実施の形態の補足＊＊＊
実施の形態において、状態遷移編集装置１００の機能はハードウェアで実現してもよい。
図２２に、状態遷移編集装置１００の機能がハードウェアで実現される場合の構成を示す。
状態遷移編集装置１００は処理回路９９０を備える。処理回路９９０はプロセッシングサーキットリともいう。
処理回路９９０は、表生成部１１０と図生成部１２０と記憶部１９１とを実現する専用の電子回路である。
例えば、処理回路９９０は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックＩＣ、ＧＡ、ＡＳＩＣ、ＦＰＧＡまたはこれらの組み合わせである。ＧＡはＧａｔｅ  Ａｒｒａｙの略称であり、ＡＳＩＣはＡｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略称であり、ＦＰＧＡはＦｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙの略称である。
【００７２】
状態遷移編集装置１００は、処理回路９９０を代替する複数の処理回路を備えてもよい。複数の処理回路は、処理回路９９０の役割を分担する。
【００７３】
状態遷移編集装置１００の機能は、ソフトウェアとハードウェアとの組み合わせで実現してもよい。つまり、一部の機能がソフトウェアで実現され、残りの機能がハードウェアで実現されてもよい。
【００７４】
実施の形態は、好ましい形態の例示であり、本発明の技術的範囲を制限することを意図するものではない。実施の形態は、部分的に実施してもよいし、他の形態と組み合わせて実施してもよい。フローチャート等を用いて説明した手順は、適宜に変更してもよい。
【符号の説明】
【００７５】
１００  状態遷移編集装置、１１０  表生成部、１２０  図生成部、１９１  記憶部、１９２  受付部、１９３  表示部、２１０  状態遷移図データ、２１１  状態遷移図、２１２  初期状態、２１３  遷移状態、２１４  状態遷移、２１５  イベント名、２１６  遷移処理名、２２０  処理時間リストデータ、２２１  処理時間リスト、２３０  状態遷移表データ、２３１  状態遷移表、２４０  時間追加表データ、２４１  時間追加表、２５０  時間追加図データ、２５１  時間追加図、２５２  ガード条件、９０１  プロセッサ、９０２  メモリ、９０３  補助記憶装置、９０４  入出力インタフェース、９９０  処理回路。
【図１】
2018088100.tif 000003
【図２】
2018088100.tif 000004
【図３】
2018088100.tif 000005
【図４】
2018088100.tif 000006
【図５】
2018088100.tif 000007
【図６】
2018088100.tif 000008
【図７】
2018088100.tif 000009
【図８】
2018088100.tif 000010
【図９】
2018088100.tif 000011
【図１０】
2018088100.tif 000012
【図１１】
2018088100.tif 000013
【図１２】
2018088100.tif 000014
【図１３】
2018088100.tif 000015
【図１４】
2018088100.tif 000016
【図１５】
2018088100.tif 000017
【図１６】
2018088100.tif 000018
【図１７】
2018088100.tif 000019
【図１８】
2018088100.tif 000020
【図１９】
2018088100.tif 000021
【図２０】
2018088100.tif 000022
【図２１】
2018088100.tif 000023
【図２２】
2018088100.tif 000024