IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社Team Fの特許一覧

<>
  • 特開-情報処理装置およびプログラム 図1
  • 特開-情報処理装置およびプログラム 図2
  • 特開-情報処理装置およびプログラム 図3
  • 特開-情報処理装置およびプログラム 図4
  • 特開-情報処理装置およびプログラム 図5
  • 特開-情報処理装置およびプログラム 図6
  • 特開-情報処理装置およびプログラム 図7
  • 特開-情報処理装置およびプログラム 図8
  • 特開-情報処理装置およびプログラム 図9
  • 特開-情報処理装置およびプログラム 図10
  • 特開-情報処理装置およびプログラム 図11
  • 特開-情報処理装置およびプログラム 図12
  • 特開-情報処理装置およびプログラム 図13
  • 特開-情報処理装置およびプログラム 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022133979
(43)【公開日】2022-09-14
(54)【発明の名称】情報処理装置およびプログラム
(51)【国際特許分類】
   G06F 3/0484 20220101AFI20220907BHJP
   G06F 8/10 20180101ALI20220907BHJP
【FI】
G06F3/0484
G06F8/10
【審査請求】有
【請求項の数】3
【出願形態】OL
(21)【出願番号】P 2021032967
(22)【出願日】2021-03-02
(11)【特許番号】
(45)【特許公報発行日】2022-01-25
(71)【出願人】
【識別番号】521090106
【氏名又は名称】株式会社Team F
(74)【代理人】
【識別番号】100128886
【弁理士】
【氏名又は名称】横田 裕弘
(72)【発明者】
【氏名】福島 忠
【テーマコード(参考)】
5B376
5E555
【Fターム(参考)】
5B376BC01
5E555AA24
5E555AA30
5E555AA79
5E555BA02
5E555BB02
5E555BC17
5E555DB41
5E555DC11
5E555DD07
5E555FA00
(57)【要約】
【課題】組合せの状態爆発が抑制される新規な状態遷移表を提供する。
【解決手段】情報処理装置は、制御対象にて生じるイベント、制御対象の状態であるモード、および制御対象が実行する処理であるアクションの入力を受け付ける受付手段と、制御対象で実行されないアクションに対応するイベントおよびモードの組合せを示さずに、制御対象が実行するアクションに対応するイベントおよびモードの組合せを示す状態遷移表を表示させる表示手段と、を備えることを特徴とする。
【選択図】図4
【特許請求の範囲】
【請求項1】
制御対象にて生じるイベント、当該制御対象の状態であるモード、および当該制御対象が実行する処理であるアクションの入力を受け付ける受付手段と、
前記制御対象で実行されないアクションに対応するイベントおよびモードの組合せを示さずに、当該制御対象が実行するアクションに対応するイベントおよびモードの組合せを示す状態遷移表を表示させる表示手段と、
を備える、ことを特徴とする情報処理装置。
【請求項2】
前記制御対象が実行する一のアクションに対応する前記組合せは、複数のモードを含む、ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記複数のモードは、前記制御対象にて並行する異なるモードである、ことを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記表示手段は、前記制御対象が実行する一のアクションと、当該一のアクションに対応する前記組合せを構成するイベントとモードとが所定方向に並べられた前記状態遷移表を表示する、ことを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
【請求項5】
前記制御対象が実行する一のアクションに対応する前記組合せは、複数のイベントを含む、ことを特徴とする請求項1または2に記載の情報処理装置。
【請求項6】
前記制御対象にて生じ得る複数のイベントを定義するイベント定義情報と、当該制御対象がとり得る複数のモードを定義するモード定義情報と、当該制御対象が実行し得る複数のアクションを定義するアクション定義情報と、を記憶する記憶手段を備える、ことを特徴とする請求項1に記載の情報処理装置。
【請求項7】
前記受付手段は、入力を受け付ける際に、前記記憶手段に記憶される前記イベント定義情報、前記モード定義情報および前記アクション定義情報の少なくともいずれか1つの情報を用いる、ことを特徴とする請求項6に記載の情報処理装置。
【請求項8】
前記状態遷移表は、前記制御対象の試験に関する試験情報を記入する試験情報記入欄を有する、ことを特徴とする請求項1に記載の情報処理装置。
【請求項9】
前記状態遷移表は、前記制御対象の仕様に関する仕様情報を記入する仕様情報記入欄を有する、ことを特徴とする請求項1または8に記載の情報処理装置。
【請求項10】
前記表示手段は、前記制御対象の複数の機能構成の関係を示す静的構造図を表示可能であって、
表示する一のアクションに対する選択操作を受け付けると、当該一のアクションに対応する前記機能構成を示す、ことを特徴とする請求項1に記載の情報処理装置。
【請求項11】
前記表示手段は、前記制御対象の複数の動作ステップを示す動的構造図を表示可能であって、
表示する一のアクションに対する選択操作を受け付けると、当該一のアクションに対応する前記動作ステップを示す、ことを特徴とする請求項1または10に記載の情報処理装置。
【請求項12】
前記制御対象のモデル検査を行う検査手段を備え、
前記表示手段は、前記検査手段が出力する検査結果を前記状態遷移表が表示される画面に表示させる、ことを特徴とする請求項1に記載の情報処理装置。
【請求項13】
前記受付手段は、入力を受け付ける際に、前記制御対象を記述するプログラムコードを用いる、ことを特徴とする請求項1に記載の情報処理装置。
【請求項14】
コンピュータに、
制御対象にて生じるイベント、当該制御対象の状態であるモード、および当該制御対象が実行する処理であるアクションの入力を受け付ける機能と、
前記制御対象で実行されないアクションに対応するイベントおよびモードの組合せを示さずに、当該制御対象が実行するアクションに対応するイベントおよびモードの組合せを示す状態遷移表を表示させる機能と、
を実現させるプログラム。
【請求項15】
制御対象にて生じるイベント、当該制御対象の状態であるモード、および当該制御対象が実行する処理であるアクションの入力を受け付ける受付手段と、
前記制御対象で実行されないアクションに対応するイベントおよびモードの組合せを示さずに、当該制御対象が実行するアクションに対応するイベントおよびモードの組合せを示す状態遷移表を表示させる表示手段と、
前記状態遷移表に基づいて作成され、前記制御対象を記述するプログラムコードを出力する出力手段と、
を備える、ことを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、新規な状態遷移表を表示する情報処理装置、プログラムおよび情報処理システムに関する。
【背景技術】
【0002】
特許文献1には、複数の状態項目と、複数のイベント項目と、それぞれの項目に対応する処理情報定義セルとをもつ状態遷移表の表示方法であって、行項目から列項目または列項目から行項目に移動させる項目を選択する段階と、選択した項目の移動先を選択する段階と、移動先の上層の階層項目の構成に従って、選択した項目の移動後の構成を決定する段階と、選択した項目の構成に従って、移動先の下層の階層項目の構成を決定する段階と、移動させた項目の移動元の上層の階層項目の構成に従って、選択した項目を移動させた後の下層の項目の構成を決定する段階と、決定した項目構成に従って、処理情報セルを配置する段階とによって状態遷移表を作成し、作成された状態遷移表を表示する状態遷移表の表示方法が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第5114718号
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、ハードウェアやソフトウェア等の設計を行う際、例えば製品やプログラムなどの制御対象が一のモードである場合に一のイベントが発生した際の制御対象のアクションを把握する必要がある。このような把握には、例えば縦軸および横軸に、モードおよびイベントを配置し、モードとイベントとに対応するセルにアクションを記述する状態遷移表が用いられる場合がある。
【0005】
しかしながら、従来の状態遷移表では、制御対象にて生じるイベントと制御対象がとるモードとの組合せが膨大な数に及ぶ状態爆発が起こる可能性がある。このような組合せの状態爆発が起こると、状態遷移表自体をユーザが取り扱うことが極めて困難となるおそれがある。
本発明は、組合せの状態爆発が抑制される状態遷移表を提供することを目的とする。
【課題を解決するための手段】
【0006】
かかる目的のもと、本明細書に開示される技術は、制御対象にて生じるイベント、当該制御対象の状態であるモード、および当該制御対象が実行する処理であるアクションの入力を受け付ける受付手段と、前記制御対象で実行されないアクションに対応するイベントおよびモードの組合せを示さずに、当該制御対象が実行するアクションに対応するイベントおよびモードの組合せを示す状態遷移表を表示させる表示手段と、を備える、ことを特徴とする情報処理装置である。
ここで、前記制御対象が実行する一のアクションに対応する前記組合せは、複数のモードを含むとよい。
また、前記複数のモードは、前記制御対象にて並行する異なるモードであるとよい。
また、前記表示手段は、前記制御対象が実行する一のアクションと、当該一のアクションに対応する前記組合せを構成するイベントとモードとが所定方向に並べられた前記状態遷移表を表示するとよい。
また、前記制御対象が実行する一のアクションに対応する前記組合せは、複数のイベントを含むとよい。
また、前記制御対象にて生じ得る複数のイベントを定義するイベント定義情報と、当該制御対象がとり得る複数のモードを定義するモード定義情報と、当該制御対象が実行し得る複数のアクションを定義するアクション定義情報と、を記憶する記憶手段を備えるとよい。
また、前記受付手段は、入力を受け付ける際に、前記記憶手段に記憶される前記イベント定義情報、前記モード定義情報および前記アクション定義情報の少なくともいずれか1つの情報を用いるとよい。
また、前記状態遷移表は、前記制御対象の試験に関する試験情報を記入する試験情報記入欄を有するとよい。
また、前記状態遷移表は、前記制御対象の仕様に関する仕様情報を記入する仕様情報記入欄を有するとよい。
また、前記表示手段は、前記制御対象の複数の機能構成の関係を示す静的構造図を表示可能であって、表示する一のアクションに対する選択操作を受け付けると、当該一のアクションに対応する前記機能構成を示すとよい。
また、前記表示手段は、前記制御対象の複数の動作ステップを示す動的構造図を表示可能であって、表示する一のアクションに対する選択操作を受け付けると、当該一のアクションに対応する前記動作ステップを示すとよい。
また、前記制御対象のモデル検査を行う検査手段を備え、前記表示手段は、前記検査手段が出力する検査結果を前記状態遷移表が表示される画面に表示させるとよい。
また、前記受付手段は、入力を受け付ける際に、前記制御対象を記述するプログラムコードを用いるとよい。
また、かかる目的のもと、本明細書に開示される技術は、コンピュータに、制御対象にて生じるイベント、当該制御対象の状態であるモード、および当該制御対象が実行する処理であるアクションの入力を受け付ける機能と、前記制御対象で実行されないアクションに対応するイベントおよびモードの組合せを示さずに、当該制御対象が実行するアクションに対応するイベントおよびモードの組合せを示す状態遷移表を表示させる機能と、を実現させるプログラムである。
また、かかる目的のもと、本明細書に開示される技術は、制御対象にて生じるイベント、当該制御対象の状態であるモード、および当該制御対象が実行する処理であるアクションの入力を受け付ける受付手段と、前記制御対象で実行されないアクションに対応するイベントおよびモードの組合せを示さずに、当該制御対象が実行するアクションに対応するイベントおよびモードの組合せを示す状態遷移表を表示させる表示手段と、前記状態遷移表に基づいて作成され、前記制御対象を記述するプログラムコードを出力する出力手段と、を備える、ことを特徴とする情報処理システムである。
【発明の効果】
【0007】
本発明によれば、組合せの状態爆発が抑制される状態遷移表を提供することができる。
【図面の簡単な説明】
【0008】
図1】本実施形態の情報処理システムの概略図である。
図2】情報処理装置のハードウェア構成例を示した図である。
図3】情報処理装置の状態遷移表に関わる機能を実現する機能ブロック図である。
図4】本実施形態の状態遷移表の一例を示す図である。
図5】本実施形態のイベント定義テーブルの一例を示す図である。
図6】本実施形態のモード定義テーブルの一例を示す図である。
図7】本実施形態のアクション定義テーブルの一例を示す図である。
図8】本実施形態のモード編集画面の説明図である。
図9】定義テーブルに対する定義情報の追加を促す画面の一例を示す図である。
図10】複合モードの作成を促す画面の一例を示す図である。
図11】本実施形態の状態遷移表の具体例の説明図である。
図12】動的構造図と静的構造図と状態遷移表との関係を示す図である。
図13】本実施形態のプログラムコードの出力の一例を示す図である。
図14】比較例の状態遷移表の説明図である。
【発明を実施するための形態】
【0009】
以下、添付図面を参照して、本発明の実施形態について説明する。
<情報処理システム1>
図1は、本実施形態の情報処理システム1の概略図である。
【0010】
図1に示すように、情報処理システム1は、EMA(エマ)型状態遷移表100(後述の図4参照)に関する各種の情報を管理する情報処理装置10と、本システムを利用するユーザが利用する端末装置30と、を有する。そして、情報処理装置10および端末装置30は、ネットワーク90を介して互いに接続されている。
【0011】
本実施形態の情報処理システム1では、情報処理装置10において、制御対象の状態遷移を管理し、端末装置30を介してユーザからEMA型状態遷移表100の編集を受け付けたり、EMA型状態遷移表100をユーザに参照させたりする。
ここで、本実施形態のEMA型状態遷移表100による表現の対象となる制御対象は、ハードウェア、ソフトウェア、ハードウェアとソフトウェアとが協働するシステムとすることができる。制御対象となるソフトウェアとしては、例えば制御プログラムやアプリケーションプログラムなどを例示できる。また、制御対象となるハードウェアとしては、例えば電子回路や住宅などを例示できる。さらに、システムとしては、例えば自動車などを例示できる。また、EMA型状態遷移表100による表現の対象となる制御対象は、一つの製品等の単位に限定されず、その製品等を構成する部品の単位であってもよい。
【0012】
なお、図1に示す情報処理システム1においては、情報処理装置10が1台設けられ、端末装置30が2台設けられている例を用いるが、情報処理装置10および端末装置30の数は特に限定されない。例えば、情報処理システム1が複数の情報処理装置10を備えている場合、複数の情報処理装置10による分散処理を行っても良い。
【0013】
<情報処理装置10のハードウェア構成>
図2は、情報処理装置10のハードウェア構成例を示した図である。
【0014】
本実施形態における情報処理装置10のハードウェア構成例を示した図である。図2に示すように、情報処理装置10は、CPU101と、主記憶装置102と、補助記憶装置103と、通信インターフェース(図では「通信I/F」と表記)104と、表示デバイス105と、入力デバイス106とを備える。
【0015】
CPU101は、例えば補助記憶装置103に記憶された各種プログラムを主記憶装置102にロードして実行することにより、情報処理装置10の機能を実現する。
主記憶装置102は、CPU101の作業用メモリ等として用いられるメモリである。
補助記憶装置103は、CPU101が実行する各種プログラム、情報処理装置10で作成または取得したデータ等を記憶するメモリである。補助記憶装置103には、SSD(Solid State Drive)やHDD(Hard Disk Drive)などを用いることができる。
【0016】
通信I/F104は、ネットワーク90を介して他の装置との間で各種情報の送受信を行う。
表示デバイス105は、情報処理装置10内部から出力された各種情報を表示するデバイスである。ここで、表示デバイスとしては、例えば、液晶ディスプレイを用いることができる。
入力デバイス106は、ユーザが入力した情報を受け取り、これを情報処理装置10内部へ入力するデバイスである。
【0017】
なお、図2に示したハードウェア構成は、端末装置30のハードウェア構成としても同様である。
【0018】
ここで、CPU101によって実行されるプログラムは、半導体メモリなどのコンピュータが読取可能な記録媒体に記憶した状態で、情報処理装置10へ提供することができる。また、CPU101によって実行されるプログラムは、情報処理装置10や端末装置30などにダウンロードしてもよい。例えば、情報処理装置10の上記各機能を実現するプログラムを、アプリケーションとして情報処理装置10にダウンロードしてもよい。
【0019】
図3は、情報処理装置10の状態遷移表に関わる機能を実現する機能ブロック図である。
情報処理装置10は、EMA型状態遷移表100を管理する管理部11と、EMA型状態遷移表100の編集を受け付ける受付部13と、EMA型状態遷移表100や動的構造図や静的構造図(後述の図12参照)を視覚的にユーザに示すために表示する表示部15と、EMA型状態遷移表100に基づくプログラムコード等を出力する出力部17と、を有する。
なお、情報処理装置10の各構成部は、上述したハードウェアによって実現される。
【0020】
〔管理部11〕
管理部11は、制御対象にて生じるイベント、制御対象がとり得るモード、および制御対象が実行するアクションの関係を表現するEMA型状態遷移表100を管理する。また、管理部11(例えば、記憶手段の一例)は、イベントを定義するイベント定義テーブル200(例えば、イベント定義情報の一例)、モードを定義するモード定義テーブル300(例えば、モード定義情報の一例)、およびアクションを定義するアクション定義テーブル400(例えば、アクション定義情報の一例)を管理する。
なお、本実施形態において、イベント定義テーブル200、モード定義テーブル300およびアクション定義テーブル400をそれぞれ特に区別しない場合には、「定義テーブル」と総称する。
【0021】
管理部11は、受付部13にて受け付けたユーザの編集に基づいて、EMA型状態遷移表100および各種の定義テーブルの内容を更新したり、更新された内容を記憶したりする。
また、管理部11は、記憶しているEMA型状態遷移表100の情報を、表示部15や出力部17に送信する。
【0022】
図4は、本実施形態のEMA型状態遷移表100の一例を示す図である。
図5は、本実施形態のイベント定義テーブル200の一例を示す図である。
図6は、本実施形態のモード定義テーブル300の一例を示す図である。
図7は、本実施形態のアクション定義テーブル400の一例を示す図である。
【0023】
(EMA型状態遷移表)
まず、本実施形態で用いるEMA型状態遷移表100について説明する。
図4に示すように、EMA型状態遷移表100は、項目名が表示されるヘッダ部100hと、項目に対応する内容が入力される入力部100iと、を有する。
【0024】
ヘッダ部100hは、イベント(E)項目名10e、モード(M)項目名10m、アクション(A)項目名10a、仕様理由(R)項目名10rおよび試験結果(T)項目名10tの各項目名が設けられる。ヘッダ部100hにおいて、各項目名は、第1軸方向(例えば横方向)に並べて配置される。
ここで、本実施形態の説明において、イベントとは、制御対象において発生する事象である。イベントは、制御対象に対する入力と捉えることもできる。モードは、制御対象の状態である。アクションは、制御対象が実行する処理である。
【0025】
入力部100iは、ヘッダ部100hにおける各項目名に対応して、イベント入力欄111、モード入力欄112、アクション入力欄113、仕様理由入力欄114および試験結果入力欄115を有する。入力部100iにおいて、イベント入力欄111、モード入力欄112、アクション入力欄113、仕様理由入力欄114および試験結果入力欄115は、それぞれ第1軸方向(例えば、横方向)に並べて配置される。
【0026】
イベント入力欄111は、イベントが記入される入力欄である。例えば、制御対象がテレビなどの家電製品である場合、電源ボタンの変化がイベントとしてイベント入力欄111に記入される。
【0027】
モード入力欄112は、モードが記入される入力欄である。モードは、制御対象について異なる複数の観点から捉えることができる。そして、モードは、観点ごとに設けられるカテゴリに分類される。例えば、制御対象の各々のモードは、「電源」という観点で捉えたカテゴリと、「メニュー」という観点で捉えたカテゴリとにそれぞれ分類される。例えば、「電源」というカテゴリには、「ONモード」と「OFFモード」とが含まれる。また、「メニュー」というカテゴリには、「メニュー操作中モード」と、「メニュー非操作モード」とが含まれる。
【0028】
そして、一のカテゴリ内に含まれる複数のモードは、制御対象が同時にとることができない状態である。例えば、「電源」というカテゴリにおいて、「ONモード」と「OFFモード」とは、制御対象が同時にとることができない、並行しない2つの状態である。一方で、異なる複数のカテゴリとの関係においては、一のカテゴリに含まれるモードと、他のカテゴリに含まれるモードとは、制御対象が同時にとることができる状態を含む。例えば、「電源」というカテゴリの「ONモード」と、「メニュー」というカテゴリの「メニュー操作中モード」とは、制御対象が同時にとることができる、並行する2つの状態である。
【0029】
そして、本実施形態のEMA型状態遷移表100では、一のモード入力欄112には、制御対象に一のイベントが生じた際に一のアクションを行う場合のモードの条件(以下、モード条件と呼ぶ)が入力される。モード条件は、イベントとアクションとの関係に応じて、単数のモードで構成されたり、複数のモード(以下、複合モードと呼ぶ)で構成されたりする。したがって、一のモード入力欄112には、単数のモードや複合モードが入力される。
【0030】
アクション入力欄113は、アクションが記入される入力欄である。そして、本実施形態のEMA型状態遷移表100では、一のアクション入力欄113には、一のアクションが入力される。例えば、制御対象がテレビなどの家電製品である場合、電源をOFFにするという処理がアクションとしてアクション入力欄113に記入される。
アクションは、制御対象が行う処理である。そして、制御対象が処理を行うことで制御対象の状態であるモードが遷移する。本実施形態では、アクションは、状態遷移を含む概念と捉えることができる。なお、アクション入力欄113には、アクションのみを記入したり、アクションに伴う遷移後の状態である遷移後モードを併記したりすることができる。
【0031】
仕様理由入力欄114は、制御対象の仕様に関する仕様情報をユーザが記入する入力欄である。一の仕様理由入力欄114は、一のアクションに対応して設けられる。例えば、制御対象の仕様を変更したときの注意点などが仕様理由として仕様理由入力欄114に記入される。このように、本実施形態のEMA型状態遷移表100は、仕様書としても利用できるようになっている。
【0032】
試験結果入力欄115は、制御対象の試験に関する試験情報を記入する入力欄である。一の試験結果入力欄115は、一のアクションに対応して設けられる。
一般的に、製品開発においては、所定のモードとイベントとの組合せに関する制御対象の動作であるアクション等を確認する試験が行われる。そして、試験結果入力欄115は、試験結果を記入するための記入欄として用いられる。例えば、ユーザが制御対象の試験を行う際に、EMA型状態遷移表100が参照される。そして、試験結果入力欄115には、例えば、イベントとモードとの組合せのときの動作内容が、EMA型状態遷移表100に記載されるアクションと一致しているか否かという試験結果などの試験情報が入力される。なお、試験結果入力欄115に対する入力は、ユーザによる記入に限定されず、例えば後述するモデル検査の実施に伴って情報処理装置10が自動的に行ってもよい。
また、制御対象の試験は、制御対象の動作試験、後述するモデル検査、EMA型状態遷移表100に基づいて作成されたプログラムコードに対する検査、このプログラムコードが実装された制御対象(実機)の動作試験など各種の試験を例示できる。
【0033】
本実施形態の試験結果入力欄115には、各検査を特定するための検査IDと、検査結果を記入するための入力欄と、検査の実施日を記入する実施日欄と、担当者の情報を記入する担当者欄が設けられている。
このように、本実施形態のEMA型状態遷移表100は、制御対象の検査結果の記入書としても利用できるようになっている。
【0034】
以上のように構成されるEMA型状態遷移表100の入力部100iでは、イベント、モード、アクション、仕様理由および検査結果が、第1軸方向(例えば、横方向)において並べられる。そして、本実施形態のEMA型状態遷移表100では、一のアクションに対して、イベント、モード、仕様理由および検査結果を関連付ける。このように、本実施形態のEMA型状態遷移表100では、一のアクションと、当該一のアクションに関連付けられたイベント、モード、仕様理由および検査結果とによって一組の単位が構成され、この一組の単位が例えば一行に表示される。そして、EMA型状態遷移表100では、複数の単位が第2軸方向(例えば、縦方向)において並べて表示される。すなわち、本実施形態のEMA型状態遷移表100では、複数の単位がリスト状に表示される。
【0035】
上記のとおり、本実施形態のEMA型状態遷移表100では、一のアクションの単位で、イベントやモードが表示される。そして、本実施形態のEMA型状態遷移表100では、制御対象が実行するアクションに対応するイベントおよびモードだけしか表示しない。特に、本実施形態のEMA型状態遷移表100では、制御対象が実行しないアクションは、一切表示しない。ここで、制御対象が実行しないアクションとは、例えばイベントおよびモードの組合せが制御対象として有り得ないものである。つまり、本実施形態のEMA型状態遷移表100は、制御対象で実行されないアクションに対応するイベントおよびモードの組合せが示されず、制御対象が実行するアクションに対応するイベントおよびモードの組合せが示される。これによって、本実施形態のEMA型状態遷移表100では、表示されるイベントおよびモードの組合せの数が有限個数に収まるようになり、組合せの状態爆発が確実に抑制される。
【0036】
さらに、上述のとおり、入力部100iにおけるモード入力欄112には、複数のモードによって構成される複合モードを入力可能になっている。そして、本実施形態のEMA型状態遷移表100では、例えば一のイベントが生じた際に一のアクションが行われるモードが複数ある場合、これらの複数のモードを複合モードとしてまとめて表現する。これによって、本実施形態のEMA型状態遷移表100では、EMA型状態遷移表100に表示されるイベントとモードとの組合せの数が更に少なくなるようにしている。
【0037】
(イベント定義テーブル200)
次に、各定義テーブルについて詳細に説明する。
図5に示すように、イベント定義テーブル200は、制御対象にて発生し得るイベントの名前が入力されるイベント名入力欄210を有している。また、イベント名入力欄210に対応して、イベントID211が設けられる。図5に示すイベント定義テーブル200の例では、3つのイベント名入力欄210が設けられている。そして、イベントID211は、3つのイベント名入力欄210に対応して、「E001」~「E003」が設けられる。
【0038】
さらに、イベント定義テーブル200は、シンボル欄212を有している。シンボル欄212は、各々のイベント名入力欄210に対応して設けられる。シンボル欄212には、ユーザが任意の文字や記号やマークを入力することができる。そして、ユーザは、シンボル欄212に、例えば任意の文字や記号等を入力しておくことで、その記号を作業の際に参考にすることができる。
【0039】
また、イベント定義テーブル200は、複数のイベント内容入力欄220を有している。図5に示すイベント定義テーブル200の例では、各イベント名入力欄210に対して、それぞれ7つのイベント内容入力欄220が設けられる。各イベント内容入力欄220は、イベント内容ID221が設けられる。イベント内容ID221は、7つのイベント内容入力欄220に対応して、「0」~「6」のIDを有する。
【0040】
さらに、イベント定義テーブル200は、シンボル欄230を有している。シンボル欄230は、各々のイベント内容入力欄220に対応して設けられる。シンボル欄230には、ユーザが任意の文字や記号やマークを入力することができる。そして、ユーザは、シンボル欄230に、例えば任意の文字や記号等を入力しておくことで、その記号を作業の際に参考にすることができる。
【0041】
(モード定義テーブル300)
図6に示すように、モード定義テーブル300は、制御対象がとり得るモードの名前が入力されるモード名入力欄310を有している。また、モード名入力欄310に対応して、モードID311が設けられる。図6に示すモード定義テーブル300の例では、3つのモード名入力欄310が設けられている。そして、モードID311は、3つのモード名入力欄310に対応して、「M001」~「M003」が設けられる。
【0042】
また、モード定義テーブル300は、シンボル欄320を有している。シンボル欄320は、各モード名入力欄310に対応して設けられる。シンボル欄320には、ユーザが任意の文字や記号やマークを入力することができる。
【0043】
さらに、モード定義テーブル300は、複数のモード内容入力欄330を有している。図6に示すモード定義テーブル300の例では、各モード名入力欄310に対して、それぞれ7つのモード内容入力欄330が設けられる。各モード内容入力欄330は、モード内容ID331が設けられる。モード内容ID331は、7つのモード内容入力欄330に対応して、「0」~「6」のIDを有する。
【0044】
さらに、モード定義テーブル300は、シンボル欄340を有している。シンボル欄340は、各々のモード内容入力欄330に対応して設けられる。シンボル欄340には、ユーザが任意の文字や記号やマークを入力することができる。
【0045】
そして、モード定義テーブル300のモード内容入力欄330には、単数のモードや複合モードが入力される。このうち、例えば複合モードは、一のイベントに対して一のアクションを実行するための条件をモードの組合せによって表現したものである。そして、例えば複合モードに対し、複合モードの概念を示すラベルを付けてモード定義テーブル300にて管理することができる。このように複合モードにラベルを付けて抽象化することで、ユーザは、モード定義テーブル300においてラベルが示す概念を参考にして複合モードを取り扱うことができる。
なお、本実施形態のモード定義テーブル300では、モード単体や、複数のモードを組み合わせた複合モードのみならず、複数の複合モードを組合せて更に上位のモードを定義することも可能である。
【0046】
さらに、本実施形態のモード定義テーブル300では、サブモードを定義することが可能になっている。サブモードとは、ある観点で捉えたメインの一のモードに対し、下位の概念として設けられるモードである。例えば、メインの一のモードをテレビの録画モードとした場合、サブモードは、ユーザが予め設定していた予約に基づく録画モードと、ユーザが任意のタイミングで録画ボタンを押したことに基づく録画モードとを例示できる。
そして、本実施形態のEMA型状態遷移表100では、サブモードを含む複合モードを用いたモード条件を設定できるようになっている。
【0047】
(アクション定義テーブル400)
図7に示すように、アクション定義テーブル400は、制御対象が行うアクションの名前が入力されるアクション名入力欄410を有している。また、アクション名入力欄410に対応して、アクションID411が設けられる。図7に示すアクション定義テーブル400の例では、3つのアクション名入力欄410が設けられている。そして、アクションID411は、3つのアクション名入力欄410に対応して、「A001」~「A003」が設けられる。
【0048】
また、アクション定義テーブル400は、アクション内容入力欄420を有している。図7に示すアクション定義テーブル400の例では、各アクション名入力欄410に対して、それぞれ2つのアクション内容入力欄420が設けられる。アクション内容入力欄420は、モード遷移時入力欄421と、モード定常中入力欄422とを有する。モード遷移時入力欄421は、モードが遷移するときに制御対象が実行するアクションが入力される。また、モード定常中入力欄422は、モードの遷移後であってモードが定常状態である場合に実行するアクションが入力される。
【0049】
さらに、アクション定義テーブル400は、シンボル欄430を有している。シンボル欄430は、各々のアクション内容入力欄420に対応して設けられる。シンボル欄340には、ユーザが任意の文字や記号やマークを入力することができる。
【0050】
〔受付部13〕
受付部13(例えば、受付手段の一例)は、イベント定義テーブル200、モード定義テーブル300およびアクション定義テーブル400に対する情報の入力をユーザから受け付ける。
本実施形態の情報処理システム1において、受付部13は、上記の各定義テーブルを端末装置30の表示画面30mに表示させる。そして、受付部13は、表示画面30mに表示される定義テーブルに対する入力を受け付ける。本実施形態では、ユーザは、表示画面30mに表示される各々の定義テーブルに対して、直接的に入力や編集を行うことができる。例えば、ユーザは、各定義テーブルにおいて編集対象の入力欄を選択し、キーボード等の操作を介して数値や文字を入力欄に入力することができる。
【0051】
また、受付部13は、EMA型状態遷移表100に対する情報の入力をユーザから受け付ける。
本実施形態の情報処理システム1において、受付部13は、EMA型状態遷移表100を端末装置30の表示画面30mに表示させる。そして、受付部13は、表示画面30mに表示されるEMA型状態遷移表100に対する入力を受け付ける。
【0052】
受付部13は、イベント定義テーブル200、モード定義テーブル300およびアクション定義テーブル400に記憶される情報を用いて、EMA型状態遷移表100の各入力欄に対する入力をユーザから受け付ける。具体的には、受付部13は、EMA型状態遷移表100に各定義テーブルに基づいて作成された選択肢をプルダウン形式で表示する。プルダウンに表示する内容は、定義テーブルにおける各種ID、各種シンボル、定義内容を例示できる。
【0053】
また、受付部13は、表示画面30mに表示されるEMA型状態遷移表100の入力部100iに対して、直接的に入力や編集を行うことができる。例えば、ユーザは、入力部100iにおける各テーブルにおいて編集対象の入力欄を選択し、キーボード等の操作を介して数値や文字を入力することができる。
【0054】
図8は、本実施形態のモード編集画面50の説明図である。
本実施形態の受付部13は、モード編集画面50によって、ユーザからモードに関する入力を受け付けることができるようになっている。
【0055】
受付部13は、端末装置30の表示画面30mにモード編集画面50を表示する。受付部13は、モード編集画面50を介して、ユーザからモードに関する編集を受け付ける。
本実施形態のモード編集画面50は、EMA型状態遷移表100の一のモード入力欄112(図4参照)に対するユーザによるクリック操作やタップ操作などの選択操作を受け付けることで表示画面30mに表示される。
【0056】
図8に示すように、モード編集画面50は、入力されたモードの内容が表示される表示枠51と、演算子としての論理積(AND)を入力するための論理積ボタン52と、演算子としての論理和(OR)を入力するための論理和ボタン53と、編集が終了したことを特定するための完了ボタン54とを有する。また、モード編集画面50は、作成したモードをモード定義テーブル300に保存する保存ボタン55を有する。
【0057】
モード編集画面50では、ユーザによる、数字列や文字列の入力、論理積ボタン52や論理和ボタン53の押下に応じて表示枠51にモード条件を表示する。そして、モード編集画面50では、完了ボタン54が操作されることで、編集作業を完了させ、作成されたモード条件をEMA型状態遷移表100に反映させる。
【0058】
また、モード編集画面50では、保存ボタン55がユーザによって押下されることで、作成されたモード条件を新たな複合モードとしてモード定義テーブル300に追加する。複合モードの内容は、モード定義テーブル300の一のモード内容入力欄330(図6参照)に記入される。また、作成された複合モードには、ユーザが任意の名称を付けることができる。この名称は、一のモード内容入力欄330に対応するモード名入力欄310に入力される。
【0059】
さらに、本実施形態のモード編集画面50では、既に定義されているモード内容の編集を行うこともできる。この場合、例えば、モード定義テーブル300から、編集対象の単数のモードや複合モードを表示枠51に例えばドラッグ・アンド・ドロップする操作を行う。そして、モード編集画面50では、モード定義テーブル300から持ってきたモードに対する編集を行うことができる。
【0060】
図9は、定義テーブルに対する定義情報の追加を促す画面の一例を示す図である。
【0061】
上述したように、本実施形態の情報処理システム1では、各定義テーブルに対して直接的に入力や編集を行うことができる。そして、受付部13は、直接的な入力や編集が行われた際に定義テーブルに記憶されていない文字列の記入があった場合、表示部15を介して、端末装置30の表示画面30mにメッセージ表示60を表示させる。
【0062】
図9に示すように、メッセージ表示60には、例えば「入力された内容は、〇〇定義テーブルに存在しません」といったテキストメッセージ61を表示する。これによって、ユーザに対して、定義テーブルにない新たな定義情報が入力されたことを通知する。また、メッセージ表示60に、「〇〇定義テーブルに追加しますか?」といったように、新たな文字列を定義テーブルに追加することを促す内容のテキストメッセージ62を表示する。さらに、メッセージ表示60には、ユーザからの指示を受け付けるためのYESボタン画像63およびNOボタン画像64を表示する。そして、受付部13は、新たな文字列を定義テーブルに追加することの指示をユーザから受け付ける。
【0063】
図10は、複合モードの作成を促す画面の一例を示す図である。
【0064】
ユーザがEMA型状態遷移表100に対して直接的に入力や編集を行った結果、EMA型状態遷移表100に、イベントおよびアクションが同一の組合せであって、モードが異なる単位が複数存在するという状況が発生する場合がある。
このような場合、受付部13は、表示部15を介して、端末装置30の表示画面30mにメッセージ表示65を表示させる。
【0065】
図10に示すように、メッセージ表示65には、例えば「「イベント」と「アクション」との組合せが一致・類似するモードが入力されました」といったテキストメッセージ66が表示される。これによって、受付部13は、一のイベントおよび一のアクションの組合せが同じであって、モード条件が異なる単位があることをユーザに対して通知する。また、受付部13は、一のイベントおよび一のアクションの組合せが類似していて、モード条件が異なる単位があることをユーザに対して通知する。
【0066】
また、メッセージ表示65には、例えば「モード条件を作成して1つのアクションでまとめますか?」といったテキストメッセージ67を表示する。さらに、メッセージ表示65には、ユーザからの指示を受け付けるためのYESボタン画像68およびNOボタン画像69を表示する。そして、受付部13は、イベントとアクションとの組合せが同じであって、モード条件が異なる単位をまとめて、一のアクションによってまとめられた単位を作成することの指示を受け付ける。
【0067】
〔表示部15〕
表示部15(例えば、表示手段の一例)は、ユーザからの指示に応じ、ユーザが利用する端末装置30の画面に、管理部11が管理する各種の情報を表示させる。表示部15は、ユーザが各種の定義テーブルの編集を行う際に、各定義テーブルを表示する。また、表示部15は、ユーザがEMA型状態遷移表100を閲覧したり、編集したりする際に、端末装置30の表示画面30mにEMA型状態遷移表100を表示する。
【0068】
続いて、本実施形態のEMA型状態遷移表100について具体的に説明する。
図11は、本実施形態のEMA型状態遷移表100の具体例の説明図である。
【0069】
図11に示すEMA型状態遷移表100は、例えばテレビを制御対象に用いた場合の例である。ここで、テレビにて生じるイベントとして、電源ボタンの変化と、メニューボタンの変化とを例示する。また、テレビのモードとして、テレビ画面が消えた状態であるIdleモードと、映像を表示したり音声を出力したりするための準備を行うReadyモードと、映像が表示され音声が出力されているBusyモードとを例示する。また、テレビのモードとして、メニュー画面に対する操作が行われないメニュー非操作モードと、メニュー画面に対する操作が行われるメニュー操作中モードとを例示する。
【0070】
図11に示すように、テレビの電源ボタンが押下されるというイベントが発生した際、Idleモードである場合には、初期化処理というアクションが実行される。また、この場合に、テレビのモードは、IdleモードからReadyモードに遷移する。
【0071】
テレビの電源ボタンが押下されるというイベントが発生した場合、ReadyモードおよびBusyモードのいずれかである場合には、終了処理というアクションが実行される。また、この場合に、テレビは、各々のモードからIdleモードに遷移する。
このように、本実施形態のEMA型状態遷移表100では、電源ボタンが押下されるというイベントが発生し、終了処理という一のアクションが行われる場合のモード条件は、ReadyモードまたはBusyモードであるという複合モードによって表現される。また、この場合の終了処理というアクションは、EMA型状態遷移表100において一つ単位で表示される。
【0072】
テレビのメニューボタンが押下されるというイベントが発生した際、Busyモードかつメニュー非操作モードである場合には、メニューを表示するメニュー表示処理が実行される。また、この場合、テレビのモードは、メニュー操作中モードに遷移する。
このように、本実施形態のEMA型状態遷移表100では、メニューボタンが押下されるというイベントが発生し、メニュー表示処理という一のアクションが行われる場合のモード条件は、Busyモードかつメニュー非操作モードという複合モードによって表現される。また、この場合のメニュー表示処理というアクションは、EMA型状態遷移表100において一つ単位で表示される。
【0073】
また、テレビのメニューボタンが押下されるというイベントが発生した際、Busyモードかつメニュー操作中モードである場合には、メニューを非表示にするメニュー非表示処理が実行される。また、この場合、テレビのモードは、メニュー非操作モードに遷移する。
このように、本実施形態のEMA型状態遷移表100では、メニューボタンが押下されるというイベントが発生し、メニュー非表示処理という一のアクションが行われる場合のモード条件は、Busyモードかつメニュー操作中モードという複合モードによって表現される。また、この場合のメニュー非表示処理というアクションは、EMA型状態遷移表100において一つ単位で表示される。
【0074】
ここで、比較のために、比較例の状態遷移表について説明する。
図14は、比較例の状態遷移表900の説明図である。
【0075】
図14に示すように、比較例の状態遷移表900は、制御対象に生じる複数のイベントを縦軸に並べ、制御対象がとる複数のモードを横軸に並べている。そして、比較例の状態遷移表900では、一のイベントと一のモードとの組合せに対応するセルに、その組合せを条件として実行される一のアクションが表示される。
【0076】
また、比較例の状態遷移表900では、制御対象の複数のモードを3つの観点から捉えた3つのカテゴリに分類している。そして、比較例の状態遷移表900は、第1カテゴリ901、第2カテゴリ902および第3カテゴリ903を含んで構成されている。なお、第1カテゴリ901、第2カテゴリ902および第3カテゴリ903にそれぞれ含まれるモードは、異なるカテゴリ間で並行してとることができるモードを含んでいる。
【0077】
そして、比較例の状態遷移表900(例えば、第1カテゴリ901)において、イベントE01とモードM04とを条件としてアクションA1が実行される。イベントE02とモードM05とを条件としてアクションA1が実行される。イベントE02とモードM05とを条件としてアクションA1が実行される。イベントE03とモードM05とを条件としてアクションA1が実行される。また、イベントE04とモードM03とを条件としてアクションA2が実行される。イベントE05とモードM01とを条件としてアクションA3が実行される。
なお、比較例の状態遷移表900において、一のイベントおよび一のモードの組合せで、制御対象がアクションを実行しないセルには「-」(ブランク)を表示している。なお、ブランクで表示されるイベントおよびモードの組合せは、例えば制御対象として有り得ない組合せである。
【0078】
以上のように構成される比較例の状態遷移表900では、モードとイベントの組合せは、制御対象にて発生し得るイベントの数、制御対象がとるモードの数とに比例して、無数に多くなる可能性がある。
また、比較例の状態遷移表900では、制御対象にてアクションが実行されないモードとイベントの組合せのセルが表示されることは、表の構造上、避けられない仕様となっている。したがって、比較例の状態遷移表900では、アクションが制御対象にて実行されるか実行されないかにかかわらず、全てのモードとイベントとの組合せが表示される。
このような比較例の状態遷移表900では、イベントとモードとの組合せが無数に及び、ユーザが全てを把握することは現実的に極めて困難である。また、制御対象のアクションの検証も、無数に及ぶイベントとモードとの組合せの全てについて実施する必要があるが、全ての組合せを検査することは極めて困難となる。
【0079】
また、比較例の状態遷移表900では、制御対象のモードは、第1カテゴリ901、第2カテゴリ902および第3カテゴリ903にそれぞれ振り分けられる。そうすると、比較例の状態遷移表900では、異なるカテゴリ間でのイベントとモードの組合せでアクションを表現することができない仕様となっている。
【0080】
これに対して、本実施形態のEMA型状態遷移表100では、実行されるアクションのイベントおよびモードの組合せだけを表示することができる。したがって、本実施形態のEMA型状態遷移表100では、EMA型状態遷移表100に表示するイベントとモードとの組合せの数を有限個数にすることができる。その結果、例えば、本実施形態のEMA型状態遷移表100では、ユーザがイベント、モードおよびアクションの関係を把握し易くなり、抜け漏れなど制御対象の確認が容易になる。
【0081】
また、本実施形態のEMA型状態遷移表100では、一のアクションを軸にイベントとモードの組合せがまとめられているため、イベントとモードの組合せを表示する表示欄の数が抑制される。これによって、本実施形態のEMA型状態遷移表100では、ユーザがイベント、モードおよびアクションの関係をさらに把握し易くなっている。
そして、本実施形態のEMA型状態遷移表100は、比較例の状態遷移表900では表現することができなかった異なるカテゴリに分類される複数のモードに基づくアクションの表現を行うことを可能にする。
【0082】
(静的構造図700、動的構造図800およびEMA型状態遷移表100)
図12は、動的構造図800と静的構造図700とEMA型状態遷移表100との関係を示す図である。
【0083】
表示部15は、制御対象に関する静的構造図700を端末装置30の表示画面30mに表示可能である。また、表示部15は、制御対象に関する動的構造図800を表示画面30mに表示可能である。そして、本実施形態の表示部15は、静的構造図700、動的構造図800およびEMA型状態遷移表100との相互の関係を表示する。
なお、静的構造図700、動的構造図800およびEMA型状態遷移表100の関係は、受付部13によってユーザから関係情報を取得することで特定できる。また、静的構造図700、動的構造図800およびEMA型状態遷移表100の関係は、各々に含まれる文字列等の情報に基づいて関連付けても良い。
【0084】
静的構造図700は、例えばシステムなどの制御対象において機能を発揮するコンポーネント70(機能構成の一例)の関係を表現したものである。図12に示す例では、各コンポーネント70は、下位層、中間層および上位層とで構成される複数の階層に分けて表示される。下位層は、センサやモータなどのハードウェアを駆動するドライバに相当するコンポーネント70が配置される階層である。中間層は、ハードウェアによって実現される動作の概念の単位で統合して上位層につなげるコンポーネント70が配置される階層である。上位層は、制御対象において実行されるアプリケーションに相当するコンポーネント70が配置される階層である。
そして、静的構造図700においては、上位層の一のアプリケーションと、中間層において一のアプリケーションに関係するコンポーネント70とが線により結ばれて表示される。同様に、中間層のドライバと、下位層のデバイスとの関係が線により結ばれて表示される。
【0085】
動的構造図800は、システムの動作を示すフローである。動的構造図800は、各動作ステップ80により構成される動作の流れを示す。
本実施形態の動的構造図800と静的構造図700とは、各動作ステップ80とコンポーネント70とが関連付けられている。そして、表示部15は、例えば動的構造図800における一の動作ステップ80に対する選択操作を受け付けると、静的構造図700において当該一の動作ステップ80に対応するコンポーネント70を明示する。また、表示部15は、例えば静的構造図700における一のコンポーネント70に対する選択操作を受け付けると、当該一のコンポーネント70に対応する動的構造図800の動作ステップ80を明示するようになっている。
【0086】
そして、本実施形態では、上記の静的構造図700と動的構造図800とのリンクに加えて、EMA型状態遷移表100とのリンクを示すことができる。
例えば、静的構造図700におけるコンポーネント70と、EMA型状態遷移表100のアクションとが関連付けられている。また、動的構造図800における動作ステップ80と、EMA型状態遷移表100のアクションとが関連付けられている。
【0087】
表示部15は、EMA型状態遷移表100における一のアクションに対するユーザの選択を受け付けると、動的構造図800において、選択された一のアクションに対応する動作ステップ80を明示する。例えば、その動作ステップ80は、他の動作ステップ80とは異なる表示態様で示されたり、明示される前の状態とは異なって目立つ表示態様で示されたりする。
また、表示部15は、EMA型状態遷移表100における一のアクションに対するユーザの選択を受け付けると、静的構造図700において、選択された一のアクションに対応するコンポーネント70を明示する。例えば、そのコンポーネント70は、他のコンポーネント70とは異なる表示態様で示されたり、明示される前の状態とは異なって目立つ表示態様で示されたりする。
【0088】
なお、表示部15は、静的構造図700の一のコンポーネント70が選択操作されると、対応するEMA型状態遷移表100のアクションを明示しても良い。同様に、表示部15は、動的構造図800の一の動作ステップ80が選択操作されると、対応するEMA型状態遷移表100のアクションを明示しても良い。
このように、本実施形態の表示部15は、EMA型状態遷移表100、静的構造図700および動的構造図800の相互の関係をユーザに示すことができるようになっている。
【0089】
(モデル検査)
次に、情報処理装置10のモデル検査の機能について説明する。
本実施形態の情報処理装置10は、制御対象のモデル検査を実行する機能を有している。
モデル検査とは、ハードウェア、ソフトウェア、システムなどの制御対象の網羅的な検査を行うものである。モデル検査には、制御対象を表現するモデル言語と、その制御対象に関する検査式とが用いられる。このうち、モデル言語には、制御対象を記述するソースコード等を例示できる。また、検査式には、設計仕様書などを例示できる。そして、モデル検査では、例えば制御対象をモデルで表現したうえで、制御対象が満たすべき仕様がモデル上で成り立つかどうかを、モードとイベントとのすべての組合せについて機械的かつ網羅的に検査する。例えば、モデル検査では、抜け出せないモードがあったり、モードの対応がとれなかったりするなどの不具合が検査結果として示される。
【0090】
そして、情報処理装置10は、例えばモデル検査の結果を端末装置30の表示画面30mに表示可能になっている。これによって、ユーザは、モデル検査の結果と、EMA型状態遷移表100とを表示画面30mにて見比べたりすることができる。このように、本実施形態の情報処理システム1は、ユーザの作業効率を向上させることができる。
【0091】
〔出力部17〕
図13は、本実施形態のプログラムコードの出力の一例を示す図である。
【0092】
図13に示すように、出力部17は、本実施形態のEMA型状態遷移表100に基づいて、EMA型状態遷移表100で定義される状態遷移を実現するための疑似コードを出力する。出力部17による疑似コードの出力の指示は、例えば受付部13が表示画面30mにEMA型状態遷移表100に合わせて表示するエクスポートボタン画像などから受け付けることができる。
【0093】
本実施形態のEMA型状態遷移表100は、一のイベントの発生により一のアクションを実行する際のモード条件を含んでいる。したがって、モード条件を用いて、制御対象を制御するプログラムのプログラムコードを作成することができる。出力するプログラムコードは、各種のプログラム言語を用いることができるが、例えばC言語による記述を例示できる。
図13に示すように、出力部17は、EMA型状態遷移表100のイベント、モードおよびアクションの情報に基づいて、例えばアクションが実行される条件を記述した疑似コードを生成する。コードにおける一の単位は、例えばEMA型状態遷移表100の一のアクションの単位に対応している。
【0094】
本実施形態のEMA型状態遷移表100では、一のアクションに対して、一のアクションが実行される際の条件としてイベントおよびモードが並べられた単位で表現されている。また、EMA型状態遷移表100では、一のアクションごとの単位が複数設けられ、リスト状に並べられている。そのため、出力部17は、EMA型状態遷移表100の構造に倣って、疑似コードを作成することが容易になっている。
【0095】
なお、本実施形態では、EMA型状態遷移表100からプログラムコードを作成する例について説明したが、この逆を行うことも可能である。すなわち、制御対象を記述するソースコードやハードウェア記述言語などのプログラムコードに基づいて、本実施形態の構造のEMA型状態遷移表100を作成することも可能である。プログラムコードには、イベント、モードおよびアクションの関係を規定するコードが含まれる。これにより、本実施形態の情報処理システム1は、イベント、モードおよびアクションの関係を規定するコードに基づいて、EMA型状態遷移表100を作成する。
例えば、既存の制御対象の改良等を行って新規の制御対象を開発するような場合、既存の制御対象の制御プログラム等を本実施形態のEMA型状態遷移表100の形式で表現することで、製品開発の効率化を図ることが可能になる。
【0096】
また、出力部17が出力するEMA型状態遷移表100に基づいて作成された制御対象のプログラムコードは、上述した制御対象のモデル検査における制御対象のモデルに用いることができる。
ここで、従来において、例えばイベントとモードとの組合せの状態爆発が生じている場合には、モデル検査を実施しようとしても組合せがほぼ無限にあることから、全ての検査を行うことができないことがあった。また、従来、組合せが無数にある場合にモデル検査を実施する際、組合せを任意に間引いてから実施するなど、モデル検査としては不完全な内容で行われることがあった。
【0097】
これに対して、本実施形態の情報処理システム1では、EMA型状態遷移表100に基づいて作成され、制御対象を記述するプログラムコードを制御対象のモデルに用いることができる。これによって、情報処理システム1では、有限個数に収められたイベントとモードとの組合せについてモデル検査を行うことができる。また、本実施形態の情報処理システム1では、モデル検査を行うためにモデル言語を用いた制御対象のモデルを改めて作成する必要がなくなる。さらに、本実施形態の情報処理システム1では、組合せが有限個数に収まるため、制御対象のイベントとモードとの全ての組合せを網羅したモデル検査を行うことができる。
【0098】
(変形例)
上述したEMA型状態遷移表100では、複数のモードを条件として、イベントが発生した際に実行される制御対象のアクションを表現していたが、この例に限定されない。
例えば、複数のイベントを組み合わせた複合イベントを、一のアクションを実行する条件を表現しても良い。この場合に、イベントに対応するモードは、単数であっても、複数であっても構わない。
このようにすることで、EMA型状態遷移表100において一のアクションの単位を更にまとめることができる。特に、複数のイベントおよび複数のモードを条件として一のアクションの単位を表現することで、EMA型状態遷移表100において一のアクションが一つだけ表示されるように構成できる。これによって、EMA型状態遷移表100では、表示される組合せの数の肥大化がさらに抑制される。
【0099】
(変形例)
本実施形態の情報処理システム1では、上述のとおり、新規な状態遷移表であるEMA型状態遷移表100を表示する。一方で、情報処理システム1は、EMA型状態遷移表100に基づいて、比較例の状態遷移表900の形式での状態遷移表を作成することができる。具体的には、情報処理システム1では、EMA型状態遷移表100のイベント、モードおよびアクションの情報を用いて、EMA型状態遷移表100を比較例の状態遷移表900の表示態様に変換する。これによって、ユーザは、同じ制御対象の状態遷移に関して、EMA型状態遷移表100と比較例の状態遷移表900とを比較することが可能になる。
【0100】
なお、上記では種々の実施形態および変形例を説明したが、これらの実施形態や変形例同士を組み合わせて構成してもよい。
また、本開示は上記の実施形態に何ら限定されるものではなく、本開示の要旨を逸脱しない範囲で種々の形態で実施することができる。
【符号の説明】
【0101】
1…情報処理システム、11…管理部、13…受付部、15…表示部、30…端末装置、50…モード編集画面、100…EMA型状態遷移表、111…イベント入力欄、112…モード入力欄、113…アクション入力欄、114…仕様理由入力欄、115…試験結果入力欄、200…イベント定義テーブル、300…モード定義テーブル、400…アクション定義テーブル、700…静的構造図、800…動的構造図
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
【手続補正書】
【提出日】2021-10-05
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
制御対象にて生じるイベント、当該制御対象の状態であるモード、および当該制御対象が実行する処理であるアクションの入力を受け付ける受付手段と、
前記制御対象で実行されないアクションに対応するイベントおよびモードの組合せを示さずに、当該制御対象が実行するアクションに対応するイベントおよびモードの組合せを示す状態遷移表を表示させる表示手段と、
を備え
前記表示手段は、前記制御対象の複数の機能構成の関係を示す静的構造図を表示可能であって、
表示する一のアクションに対する選択操作を受け付けると、当該一のアクションに対応する前記機能構成を示す、ことを特徴とする情報処理装置。
【請求項2】
前記表示手段は、前記制御対象の複数の動作ステップを示す動的構造図を表示可能であって、
表示する一のアクションに対する選択操作を受け付けると、当該一のアクションに対応する前記動作ステップを示す、ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
コンピュータに、
制御対象にて生じるイベント、当該制御対象の状態であるモード、および当該制御対象が実行する処理であるアクションの入力を受け付ける機能と、
前記制御対象で実行されないアクションに対応するイベントおよびモードの組合せを示さずに、当該制御対象が実行するアクションに対応するイベントおよびモードの組合せを示す状態遷移表を表示させる機能と、
前記制御対象の複数の機能構成の関係を示す静的構造図を表示する機能と、
表示する一のアクションに対する選択操作を受け付けると、当該一のアクションに対応する前記機能構成を示す機能と、
を実現させるプログラム。