(57)【要約】【課題】論理式の入力を正確に行なうことができ、かつ論理式の有する意味を視覚的に正確に把握することができる論理式可視化装置を提供する。【解決手段】本発明は、論理演算子ボタン３３ａ〜３３ｅを使用して、論理式を構築することにより、論理式における括弧書の入力を行わずに正確に論理式を入力することができ、かつ作成された論理式を、論理演算子の種別に応じて、その論理式を視覚的に表示することにより、論理式の有する意味を正確に把握することができる論理式可視化装置である。【選択図】      図３
2010086051.tif 000002
【特許請求の範囲】
【請求項１】
論理式を構成する複数の条件要素及び論理式を格納する手段と、
複数の論理演算子を表示する論理演算子表示手段と、
前記格納された複数の条件要素及び論理式を表示する第１の表示手段と、
前記第１の表示手段によって表示された複数の条件要素及び論理式のうち、複数の条件要素、複数の論理式及び少なくとも１つの条件要素及び少なくとも１つの論理式のいずれかの選択を受け付ける第１の選択受付手段と、
前記第１の選択受付手段によって選択が受け付けられた複数の条件要素、複数の論理式及び少なくとも１つの条件要素及び少なくとも１つの論理式のいずれかに対して適用される、前記表示された複数の論理演算子のうちの１つの論理演算子の選択を受け付ける第２の選択受付手段と、
前記第１の選択受付手段によって選択が受け付けられた複数の条件要素、複数の論理式及び少なくとも１つの条件要素及び少なくとも１つの論理式のいずれかと、前記第２の選択受付手段によって選択が受け付けられた論理演算子とで構成される論理式を作成して表示する第２の表示手段と、
前記第１の選択受付手段によって選択が受け付けられた複数の条件要素、複数の論理式及び少なくとも１つの条件要素及び少なくとも１つの論理式のいずれかの表示を消去する表示消去手段と、
前記作成された論理式に含まれる全ての条件要素及び論理演算子の各描画サイズを論理演算子の種別、文字数及びフォントに基づいて算出する描画サイズ算出手段と、
前記算出された論理式に含まれる全ての条件要素及び論理演算子の各描画サイズに基づいて、前記論理式に含まれる全ての条件要素及び論理演算子の各描画開始位置を算出する手段と、
前記算出された前記論理式に含まれる全ての条件要素及び論理演算子の各描画開始位置から前記算出された論理式に含まれる全ての条件要素及び論理演算子の各描画サイズで、各条件要素及び論理演算子の枠を描画し、かつ前記描画された枠内に、対応する条件要素或いは論理演算子の文字を描画する手段と
を具備することを特徴とする論理式可視化装置。
【請求項２】
前記第１の表示手段は、前記格納された複数の条件要素及び論理式を論理式に使用される候補の条件を表示する候補条件フィールドに表示し、ユーザの指示に基づいて、前記候補条件フィールドに表示された条件要素及び論理式のうち、選択された条件要素及び論理式を、論理式を作成するための条件要素及び論理式が表示される論理式編集フィールドに表示し、
前記第２の表示手段は、前記作成された論理式を論理式編集フィールドに表示し、
前記表示消去手段は、前記論理式編集フィールドから前記選択が受け付けられた複数の条件要素、複数の論理式及び少なくとも１つの条件要素及び少なくとも１つの論理式のいずれかの表示を消去することを特徴とする請求項１記載の論理式可視化装置。
【請求項３】
前記第２の表示手段で作成された論理式は、木構造形式で前記格納手段に格納される請求項１記載の論理式可視化装置。
【請求項４】
前記作成された論理式をユーザからの指示に基づいて、前記作成された論理式を使用するアプリケーションプログラムに出力する手段をさらに具備する請求項１記載の論理式可視化装置。
【請求項５】
前記第２の表示手段は、前記第２の選択受付手段によって選択が受け付けられた論理演算子がＮＯＴ演算子である場合に、ド・モルガンの定理を用いて、作成した論理式を変換し、変換後の論理式を作成して表示する請求項１記載の論理式可視化装置。
【請求項６】
前記作成された論理式を木構造形式で表わした際の最も大きな根となる論理演算子の枠の描画サイズが最も大きい描画サイズであることを特徴とする請求項１記載の論理式可視化装置。
【請求項７】
論理式を構成する複数の条件要素及び論理式を格納する手段と、
複数の論理演算子を表示する論理演算子表示手段と、
前記格納された複数の条件要素及び論理式を表示する第１の表示手段と、
前記第１の表示手段によって表示された複数の条件要素及び論理式のうち、複数の条件要素、複数の論理式及び少なくとも１つの条件要素及び少なくとも１つの論理式のいずれかの選択を受け付ける第１の選択受付手段と、
前記第１の選択受付手段によって選択が受け付けられた複数の条件要素、複数の論理式及び少なくとも１つの条件要素及び少なくとも１つの論理式のいずれかに対して適用される、前記表示された複数の論理演算子のうちの１つの論理演算子の選択を受け付ける第２の選択受付手段と、
前記第１の選択受付手段によって選択が受け付けられた複数の条件要素、複数の論理式及び少なくとも１つの条件要素及び少なくとも１つの論理式のいずれかと、前記第２の選択受付手段によって選択が受け付けられた論理演算子とで構成される論理式を作成して表示する第２の表示手段と、
前記第１の選択受付手段によって選択が受け付けられた複数の条件要素、複数の論理式及び少なくとも１つの条件要素及び少なくとも１つの論理式のいずれかの表示を消去する表示消去手段と
を具備する論理式入力装置。
【請求項８】
論理式を構成する複数の条件要素及び論理式を格納手段に格納し、
複数の論理演算子を表示し、
前記格納された複数の条件要素及び論理式を表示し、
前記表示された複数の条件要素及び論理式のうち、複数の条件要素、複数の論理式及び少なくとも１つの条件要素及び少なくとも１つの論理式のいずれかの選択を受け付け、
前記選択が受け付けられた複数の条件要素、複数の論理式及び少なくとも１つの条件要素及び少なくとも１つの論理式のいずれかに対して適用される、前記表示された複数の論理演算子のうちの１つの論理演算子の選択を受け付け、
前記選択が受け付けられた複数の条件要素、複数の論理式及び少なくとも１つの条件要素及び少なくとも１つの論理式のいずれかと、前記選択が受け付けられた論理演算子とで構成される論理式を作成して表示し、
前記選択が受け付けられた複数の条件要素、複数の論理式及び少なくとも１つの条件要素及び少なくとも１つの論理式のいずれかの表示を消去する論理式入力装置における論理式入力方法。
【請求項９】
論理式入力装置において使用されるプログラムにおいて、
前記プログラムは、前記論理式入力装置に、
論理式を構成する複数の条件要素及び論理式を格納手段に格納させ、
複数の論理演算子を表示させ、
前記格納された複数の条件要素及び論理式を表示させ、
前記表示された複数の条件要素及び論理式のうち、複数の条件要素、複数の論理式及び少なくとも１つの条件要素及び少なくとも１つの論理式のいずれかの選択を受け付けさせ、
前記選択が受け付けられた複数の条件要素、複数の論理式及び少なくとも１つの条件要素及び少なくとも１つの論理式のいずれかに対して適用される、前記表示された複数の論理演算子のうちの１つの論理演算子の選択を受け付けさせ、
前記選択が受け付けられた複数の条件要素、複数の論理式及び少なくとも１つの条件要素及び少なくとも１つの論理式のいずれかと、前記選択が受け付けられた論理演算子とで構成される論理式を作成させて表示させ、
前記選択が受け付けられた複数の条件要素、複数の論理式及び少なくとも１つの条件要素及び少なくとも１つの論理式のいずれかの表示を消去させるプログラム。
【請求項１０】
論理式に含まれる全ての条件要素及び論理演算子の各描画サイズを論理演算子の種別、文字数及びフォントに基づいて算出する描画サイズ算出手段と、
前記算出された論理式に含まれる全ての条件要素及び論理演算子の各描画サイズに基づいて、前記論理式に含まれる全ての条件要素及び論理演算子の各描画開始位置を算出する手段と、
前記算出された前記論理式に含まれる全ての条件要素及び論理演算子の各描画開始位置から前記算出された論理式に含まれる全ての条件要素及び論理演算子の各描画サイズで、各条件要素及び論理演算子の枠を描画し、かつ前記描画された枠内に、対応する条件要素或いは論理演算子の文字を描画する手段と
を具備することを特徴とする論理式描画装置。
【請求項１１】
論理式に含まれる全ての条件要素及び論理演算子の各描画サイズを論理演算子の種別、文字数及びフォントに基づいて算出する描画サイズ算出し、
前記算出された論理式に含まれる全ての条件要素及び論理演算子の各描画サイズに基づいて、前記論理式に含まれる全ての条件要素及び論理演算子の各描画開始位置を算出し、
前記算出された前記論理式に含まれる全ての条件要素及び論理演算子の各描画開始位置から前記算出された論理式に含まれる全ての条件要素及び論理演算子の各描画サイズで、各条件要素及び論理演算子の枠を描画し、かつ前記描画された枠内に、対応する条件要素或いは論理演算子の文字を描画することを特徴とする論理式描画方法。
【請求項１２】
論理式描画装置において使用されるプログラムにおいて、
前記プログラムは、前記論理式描画装置に、
論理式に含まれる全ての条件要素及び論理演算子の各描画サイズを論理演算子の種別、文字数及びフォントに基づいて算出する描画サイズ算出させ、
前記算出された論理式に含まれる全ての条件要素及び論理演算子の各描画サイズに基づいて、前記論理式に含まれる全ての条件要素及び論理演算子の各描画開始位置を算出させ、
前記算出された前記論理式に含まれる全ての条件要素及び論理演算子の各描画開始位置から前記算出された論理式に含まれる全ての条件要素及び論理演算子の各描画サイズで、各条件要素及び論理演算子の枠を描画し、かつ前記描画された枠内に、対応する条件要素或いは論理演算子の文字を描画させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、論理式入力装置及び論理式可視化装置に関する。
【背景技術】
【０００２】
ソフトウェアの設計を行なう場合などには、コンピュータに論理式を入力する必要がある。このような場合、論理式を直接入力すると、入力した内容を理解することが容易でないことから、論理式を視覚化して表示するシステムが存在する（特許文献１参照）。
【０００３】
このような従来の論理式を可視化するシステムでは、論理式を構成する各演算要素をキャラクタ表示要素に定義づけしておき、論理式を入力する場合には、その論理式の各演算要素に対応してキャラクタ表示要素を入力することにより、各キャラクタ表示要素を木構造によってつなぎ合わせた図式を作成して表示している。
【特許文献１】特開２００１−１５４７７１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述の従来の論理式入力装置では、演算要素を所定のキャラクタ表示要素に関連付けているものの、条件要素（キャラクタ表示要素）、演算子（例えば、「AND, ORなど」、複数の論理式の計算の優先順位を示す括弧については、直接入力しなければならないことに変わりはない。
【０００５】
論理式は、括弧の位置や向きの小さな変化で論理式の有する意味が大きく異なるが、表示される論理式自体の印象は殆ど変わりなく、ユーザが直接論理式を入力すると、入力ミスが生じ易いという問題がある。
【０００６】
また、従来の論理式入力装置では、入力された論理式に対応する木構造をキャラクタ表示要素を利用して表現する場合について開示しているが、単に、いわゆる木構造で表示するのみでは、論理演算子の相違があるにもかかわらず、外形的に似たような形となってしまい、論理式の意味内容をユーザが直感的に把握することが難しいという問題があった。
【０００７】
本発明は、上記実情に鑑みてなされたものであり、論理式の入力を正確に行なうことができ、かつ論理式の有する意味を視覚的に正確に把握することができる論理式可視化装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の第１の発明は、論理式を構成する複数の条件要素及び論理式を格納する手段と、複数の論理演算子を表示する論理演算子表示手段と、前記格納された複数の条件要素及び論理式を表示する第１の表示手段と、前記第１の表示手段によって表示された複数の条件要素及び論理式のうち、複数の条件要素、複数の論理式及び少なくとも１つの条件要素及び少なくとも１つの論理式のいずれかの選択を受け付ける第１の選択受付手段と、前記第１の選択受付手段によって選択が受け付けられた複数の条件要素、複数の論理式及び少なくとも１つの条件要素及び少なくとも１つの論理式のいずれかに対して適用される、前記表示された複数の論理演算子のうちの１つの論理演算子の選択を受け付ける第２の選択受付手段と、前記第１の選択受付手段によって選択が受け付けられた複数の条件要素、複数の論理式及び少なくとも１つの条件要素及び少なくとも１つの論理式のいずれかと、前記第２の選択受付手段によって選択が受け付けられた論理演算子とで構成される論理式を作成して表示する第２の表示手段と、前記第１の選択受付手段によって選択が受け付けられた複数の条件要素、複数の論理式及び少なくとも１つの条件要素及び少なくとも１つの論理式のいずれかの表示を消去する表示消去手段と、前記作成された論理式に含まれる全ての条件要素及び論理演算子の各描画サイズを論理演算子の種別、文字数及びフォントに基づいて算出する描画サイズ算出手段と、前記算出された論理式に含まれる全ての条件要素及び論理演算子の各描画サイズに基づいて、前記論理式に含まれる全ての条件要素及び論理演算子の各描画開始位置を算出する手段と、前記算出された前記論理式に含まれる全ての条件要素及び論理演算子の各描画開始位置から前記算出された論理式に含まれる全ての条件要素及び論理演算子の各描画サイズで、各条件要素及び論理演算子の枠を描画し、かつ前記描画された枠内に、対応する条件要素或いは論理演算子の文字を描画する手段とを具備することを特徴とする論理式可視化装置、である。
【０００９】
本発明の第２の発明は、第１の発明において、前記第１の表示手段は、前記格納された複数の条件要素及び論理式を論理式に使用される候補の条件を表示する候補条件フィールドに表示し、ユーザの指示に基づいて、前記候補条件フィールドに表示された条件要素及び論理式のうち、選択された条件要素及び論理式を、論理式を作成するための条件要素及び論理式が表示される論理式編集フィールドに表示し、前記第２の表示手段は、前記作成された論理式を論理式編集フィールドに表示し、前記表示消去手段は、前記論理式編集フィールドから前記選択が受け付けられた複数の条件要素、複数の論理式及び少なくとも１つの条件要素及び少なくとも１つの論理式のいずれかの表示を消去することを特徴とする論理式可視化装置、である。
【００１０】
本発明の第３の発明は、論理式を構成する複数の条件要素及び論理式を格納する手段と、複数の論理演算子を表示する論理演算子表示手段と、前記格納された複数の条件要素及び論理式を表示する第１の表示手段と、前記第１の表示手段によって表示された複数の条件要素及び論理式のうち、複数の条件要素、複数の論理式及び少なくとも１つの条件要素及び少なくとも１つの論理式のいずれかの選択を受け付ける第１の選択受付手段と、前記第１の選択受付手段によって選択が受け付けられた複数の条件要素、複数の論理式及び少なくとも１つの条件要素及び少なくとも１つの論理式のいずれかに対して適用される、前記表示された複数の論理演算子のうちの１つの論理演算子の選択を受け付ける第２の選択受付手段と、前記第１の選択受付手段によって選択が受け付けられた複数の条件要素、複数の論理式及び少なくとも１つの条件要素及び少なくとも１つの論理式のいずれかと、前記第２の選択受付手段によって選択が受け付けられた論理演算子とで構成される論理式を作成して表示する第２の表示手段と、前記第１の選択受付手段によって選択が受け付けられた複数の条件要素、複数の論理式及び少なくとも１つの条件要素及び少なくとも１つの論理式のいずれかの表示を消去する表示消去手段とを具備する論理式入力装置、である。
【００１１】
本発明の第４の発明は、論理式に含まれる全ての条件要素及び論理演算子の各描画サイズを論理演算子の種別、文字数及びフォントに基づいて算出する描画サイズ算出手段と、前記算出された論理式に含まれる全ての条件要素及び論理演算子の各描画サイズに基づいて、前記論理式に含まれる全ての条件要素及び論理演算子の各描画開始位置を算出する手段と、前記算出された前記論理式に含まれる全ての条件要素及び論理演算子の各描画開始位置から前記算出された論理式に含まれる全ての条件要素及び論理演算子の各描画サイズで、各条件要素及び論理演算子の枠を描画し、かつ前記描画された枠内に、対応する条件要素或いは論理演算子の文字を描画する手段とを具備することを特徴とする論理式描画装置、である。
【発明の効果】
【００１２】
本発明によれば、論理式の入力を正確に行なうことができる論理式入力装置を提供することができ、かつ、論理式の有する意味を視覚的に正確に把握することができる論理式可視化装置を提供することができる。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照して、本発明の実施の形態に係る論理式入力装置を有する論理式可視化装置について説明する。まず、最初に、本発明の実施の形態において説明する技術用語の意味を明らかにする。
【００１４】
・「データ構造」…コンピュータ内で論理式を処理するための情報を保持する際の論理構造。本実施の形態においては、論理式のデータ構造は木構造形式で管理される。
【００１５】
・「論理式」…Ａ  ａｎｄ  Ｂ  ｏｒ  Ｃなどで表わされる、何らかの「真偽条件を表わす式」。論理式は、「条件要素」、「演算子」、「括弧」で構成される。
【００１６】
・「条件要素」…「value<=100」や「年齢が、１６才以上」といった数式や、自然言語で構築される「論理式の構成要素」。本実施の形態では、説明の簡単化のため”Ａ”、”Ｂ”のように条件文をシンボル化したものを「条件要素」として説明する。
【００１７】
・「論理演算子」…Ａｎｄ、Ｏｒ、Ｎｏｔ、ＸＯＲなど。
【００１８】
図１は、本発明の実施の形態に係る論理式可視化装置を実現する情報処理装置示す図である。
【００１９】
同図に示すように、情報処理装置１は、バス１１にＣＰＵ１２、表示部１３、メモリ１４、入力部１５及び記憶装置１６が接続されている。
【００２０】
ＣＰＵ１２は、記憶装置１６に記憶された論理式可視化プログラム２1と協働して、本発明の実施の形態に係る論理式可視化処理を行なう他、情報処理装置１全体の制御を司るものである。
【００２１】
表示部１３は、本発明の実施の形態に係る論理式可視化処理に関する結果、編集画面などを表示するものであり、例えば、液晶ディスプレイ、プラズマディスプレイなどの表示装置である。
【００２２】
メモリ１４は、論理式可視化プログラム２１を実行する際に必要とされるワークエリアなどとして使用される。
【００２３】
入力部１５は、論理式可視化処理を行なう際に必要とされるデータなどを入力するためのインターフェイスであり、例えば、キーボード、タッチパネルなどである。
【００２４】
記憶装置１６は、本発明の実施の形態に係る論理式可視化処理を行う論理式可視化プログラム２１、ＯＳ２２、論理式の条件要素及び作成された論理式などを格納するデータベース２３などを格納する。例えば、ハードディスクドライブ（ＨＤＤ）、光ディスクドライブ、ＭＯなどの大容量記憶装置である。
【００２５】
論理式可視化プログラム２１は、ＯＳ２２上で動作するアプリケーションプログラムであって、ＣＰＵ１２と協働して、本発明の実施の形態に係る論理式可視化処理を実現するものである。
【００２６】
データベース２３は、ユーザにより入力され、或いは予め格納されている論理式の条件要素、論理式可視化プログラム２１の論理式可視化処理の際に作成される論理式などを格納するものである。
【００２７】
図２は、論理式可視化プログラムの機能を説明するための図である。
【００２８】
同図に示すように、論理式可視化プログラム２１の機能は、大きく分けて、２つの機能、「論理式エディタ」及び「論理式ビジュアライザ」を有する。
【００２９】
「論理式エディタ」は、論理式のエディタ機能を司るものであって、論理式の構築を行なうに際し、論理式の条件要素を演算子で結合して表示したり、論理式を作成する経過で作成される論理式を再利用したりするなどの機能を有する。
【００３０】
図３は、論理式エディタの論理式を構築するための入力画面を示す図である。同図に示すように、入力画面には、候補条件フィールド３１、論理式編集フィールド３２、論理演算子ボタン３３ａ〜３３ｅ及び選択の解除を行なうＲＥＳＥＴボタン３５が表示される。論理演算子ボタン３３ａ〜３３ｅは、論理式編集フィールド３２に表示される論理式及び演算要素のうち、選択された論理式及び演算要素に対して行なわれる演算を指定するＡＮＤボタン３３ａ、ＯＲボタン３３ｂ、ＮＯＴボタン３３ｃ、論理式編集フィールド３２に表示される全ての選択された論理式及び演算要素に対してＡＮＤ演算を行うＡＮＤボタン３３ｄ及びＯＲ演算を行うＯＲボタン３３ｅを有する。
【００３１】
候補条件フィールド３１には、ユーザにより入力されてデータベース２３に格納された演算要素及び予めデータベース２３に格納されている演算要素が表示される他、論理式編集フィールド３２において、最終的な１つの論理式を作成する経過で作成される論理式も、自動的に表示される。
【００３２】
移動ボタン３４ａは、候補条件フィールド３１に表示された演算要素及び論理式のうち、選択された演算要素及び論理式を論理式編集フィールド３２に表示するためのボタンであり、移動ボタン３４ｂは、論理式編集フィールド３２において表示された演算要素及び論理式のうち、選択された演算要素及び論理式を候補条件フィールド３１に表示するためのボタンである。
【００３３】
「論理式ビジュアライザ」は、論理式エディタで作成された論理式を視覚化する機能を司るものであって、図４に示すように、作成された論理式を分解して、所定の規則に基づいて視覚化して表示する機能を有する。
【００３４】
図４においては、論理式((A or B) and C) or (((!D and !E) or !F) and G))を本発明の実施の形態に係る論理式可視化装置を使用して表示した例を示している。なお、この表示方法の詳細については、後述する。
【００３５】
以下、図５のフローチャートを参照して、論理式エディタ機能を使用して、論理式を構築する処理について説明する。また、図６乃至図１３において、「条件要素」が複数、独立して存在している状態から全ての「条件要素」が、「論理演算子」で結合された状態になるまでの入力機能での操作と、内部データの保持構造の変化を示す。
【００３６】
まず、論理式を構成する複数の条件要素の入力が入力部１５を介して入力されているか否かの判断が行われ（Ｓ１）、条件要素の入力が行われていると判断された場合には、この入力された複数の条件要素がデータベース２３に格納される（Ｓ２）。データベース２３には、予め条件要素が格納されていてもよい。
【００３７】
データベース２３に格納された条件要素は、候補条件フィールド３１に表示され（Ｓ３）、Ｓ１の処理に戻る。図３は、条件要素Ａ〜Ｅがデータベース２３に格納されている例を示している。なお、同図において、論理式（A and B), (C or D or E)は、論理式編集フィールド３２で生成された論理式を表示したものであり、これら生成された論理式もデータベース２３に格納される。論理式の生成については後述する。
【００３８】
Ｓ１において、条件要素の入力がない場合には、候補条件フィールド３１に表示されている条件要素及び論理式の少なくとも１つが選択されたか否かの判断が行なわれ（Ｓ４）、Ｓ４において、入力部１５を介して、ユーザにより条件要素及び論理式の少なくとも１つが選択されたと判断されると、次に、移動ボタン３４ａが選択されたか否かの判断が行われる（Ｓ５）。
【００３９】
Ｓ５において、移動ボタン３４ａが選択されていないと判断された場合には、Ｓ１の処理に戻る。一方、Ｓ５において、移動ボタン３４ａが選択されたと判断されると、選択された条件要素及び論理式の少なくとも１つが論理式編集フィールド３２に表示され（Ｓ６）、Ｓ１の処理に戻る。図６は、候補条件フィールド３１に表示された条件要素Ａ〜Ｅが選択されて、これら選択された条件要素Ａ〜Ｅが論理式編集フィールド３２に表示された画面を示す図である。論理式の構築は、この論理式編集フィールド３２にて行われる。また、図６の右側には、論理式編集フィールド３２に表示された条件要素Ａ〜Ｅの内部データ状態を示している。この内部データ状態は、データベース２３に格納され、木構造の形式で管理される。
【００４０】
Ｓ４において条件要素などが選択されていないと判断された場合には、論理式編集フィールド３２において、入力部１５を介して、ユーザにより複数の条件要素、複数の論理式、少なくも１つの条件要素及び少なくとも１つの論理式のいずれかが選択されたか否かの判断が行われる（Ｓ７）。Ｓ７において、複数の条件要素、複数の論理式、少なくも１つの条件要素及び少なくとも１つの論理式のいずれかが選択された場合、論理演算子ボタン３３ａ〜３３ｅのうちのいずれか１つが選択されたか否かの判断が行われる（Ｓ８）。図７は、条件要素Ａ、Ｂが選択され、ＡＮＤボタン３３ａを選択（クリック）している画面を示す図である。
【００４１】
Ｓ８において、論理演算子ボタンが選択されたと判断された場合には、Ｓ７において選択された複数の条件要素等と、Ｓ８において選択された論理演算子ボタンとで論理式を作成して、論理式編集フィールド３２に表示する（Ｓ９）。
【００４２】
なお、Ｓ８における論理式の作成の際には、自動的に、括弧が付与される。図７においては、条件要素Ａ、Ｂが選択され、論理演算子としてＡＮＤが選択されていることから、生成される論理式は(A and B)となる。また、論理式は(A and B)と条件要素Ｃが選択され、論理演算子としてＯＲが選択されている場合には、生成される論理式は、((A and B) or C)となる。このように、ユーザは括弧を意識することなく論理式を作成することができる。
【００４３】
Ｓ８において選択された論理演算子ボタンが、ＮＯＴボタン３３ｃの場合、作成した論理式を、式の末端（木構造の末端）以外に否定式が存在しないようにド・モルガンの定理を用いて変換し、変換後の論理式を作成して表示する。
【００４４】
その後、選択された複数の条件要素等及び演算子の表示を論理式編集フィールド３２から消去し（Ｓ１０）、作成された論理式を候補条件フィールド３１に表示し（Ｓ１１）、Ｓ１の処理に戻る。図８は、条件要素Ａ、Ｂが選択され、ＡＮＤボタン３３ａを選択することにより生成される論理式(A and B)が論理式編集フィールド３２に表示された画面を示す図である。なお、以前に、論理式編集フィールド３２に表示されていた条件要素A、Bは消去され（S１０の処理）、候補条件フィールド３１には、作成された論理式(A and B)が表示される（S１１の処理）。
【００４５】
また、図８の右側には、作成された論理式(A and B)の内部データ状態が示されている。同図に示すように、作成された論理式は、内部データでは、木構造形式で管理され、データベース２３に格納される。
【００４６】
図９は、図８の画面から、さらに、条件要素Ｄ、Ｅを選択し、ＡＮＤボタン３３ａを選択することにより生成される論理式(D and E)が論理式編集フィールド３２に表示された画面を示す図である。
【００４７】
図９の右側には、作成された論理式(D and E)の内部データ状態が示されている。同図に示すように、作成された論理式は、内部データでは、木構造形式で管理され、データベース２３に格納される。
【００４８】
図１０は、図９の画面から、さらに、論理式(D and E)及び条件要素Ｃを選択し、ＯＲボタン３３ｂを選択することにより作成される論理式((A and B) or C) が論理式編集フィールド３２に表示された画面を示す図である。
【００４９】
図１０の右側には、作成された論理式((A and B) or C)の内部データ状態が示されている。同図に示すように、作成された論理式は、内部データでは、木構造形式で管理され、データベース２３に格納される。同図に示すように、内部データの木構造は、ＯＲを根にしたＡＮＤと、Ｃの木が作成される。
【００５０】
図１１は、図１０の画面から、作成された論理式((A and B) or C)を選択して、ＮＯＴボタン３３ｃを選択することにより作成される論理式(not((A and B) or C))が論理式編集フィールド３２に表示された画面を示す図である。
【００５１】
なお、ＮＯＴ処理を行なう場合には、本実施の形態においては、論理式の変換処理が行われる。すなわち、論理式の一番外側にＮＯＴを加えた場合、「ド・モルガンの定理」を用いて、論理式の変換を自動的に行ない、式の末端以外に否定式が存在しないようにする。
【００５２】
図１２は、図１１の画面から、論理式の変換処理を行なった後に表示される画面を示す図である。同図に示すように、論理式編集フィールド３２には、論理式(not((A and B) or C))の変換後の論理式((!A or !B) and !C)が表示される。
【００５３】
図１２の右側には、変換後の論理式((!A or !B) and !C)の内部データ状態が示されている。同図に示すように、作成された論理式は、内部データでは、木構造形式で管理され、データベース２３に格納される。同図に示すように、内部データの木構造は、ド・モルガンの定理を適用することにより、ＮＯＴ以下の全ての子要素が！マークで否定され、各演算子も反転する（図１２の木構造参照）。
【００５４】
図１３は、図１２の画面から、さらに、論理式((!A or !B) and !C) 及び論理式(D and E)を選択し、ＯＲボタン３３ｂを選択することにより作成される論理式((!A or !B) and !C) or (D and E))が論理式編集フィールド３２に表示された画面を示す図である。
【００５５】
図１３の右側には、作成された論理式((!A or !B) and !C) or (D and E))の内部データ状態が示されている。同図に示すように、作成された論理式は、内部データでは、木構造形式で管理され、データベース２３に格納される。同図に示すように、内部データの木構造は、ＯＲを根にした２つのＡＮＤの木が作成される。
【００５６】
このようにして、Ｓ７乃至Ｓ１１の処理を繰り返すことにより、最終的な論理式の構築をなう。一方、Ｓ８において、論理演算子ボタン３３ａ〜３３ｅが選択されていないと判断された場合には、次に、移動ボタン３４ｂが選択されているか否かの判断が行われる（Ｓ１２）。
【００５７】
Ｓ１２において、移動ボタン３４ｂが選択されていないと判断された場合には、Ｓ１の処理に戻る。移動ボタン３４ｂが選択されていると判断された場合には、候補条件フィールド３１に、選択された条件要素、論理式を候補条件フィールド３１に表示する（Ｓ１３）。この際、論理式編集フィールド３２からは、当該選択された条件要素、論理式の表示を消去する。
【００５８】
次に、ＲＥＳＥＴボタン３５が選択されたか否かが判断され（Ｓ１４）、選択されていないと判断された場合にはＳ１の処理に戻る。一方、選択されたと判断された場合には、論理式編集フィールド３２において選択された条件要素、論理式の選択を解除し（Ｓ１５）、Ｓ１の処理に戻る。
【００５９】
Ｓ７において、複数の条件要素、論理式が選択されていないと判断された場合、論理式編集フィールド３２において、選択されている論理式があるか否かの判断が行なわれる（Ｓ１６）。
【００６０】
Ｓ１６において、選択されている論理式がないと判断された場合には、Ｓ１の処理に戻る。選択されている論理式があると判断された場合には、当該選択されている論理式の可視化処理が行われる（Ｓ１７）。この本発明の実施の形態に係る論理式の可視化処理については、後に詳述する。
【００６１】
次に、論理式の可視化処理を終了するか否かの判断を行なう（Ｓ１８）。具体的には、ユーザが、論理式編集フィールド３２においてユーザが最終的に１つの論理式を構築し、ユーザが何らかの終了イベントを入力部１５から指示した場合に、終了すると判断する。
【００６２】
Ｓ１８において、処理が終了したと判断された場合には、構築した論理式を利用するアプリケーションプログラムなどに出力して、処理を終了する。一方、Ｓ１８において、終了処理ではないと判断された場合には、Ｓ１の処理に戻る。
【００６３】
このような論理式の構築の方法によれば、論理式編集フィールド３２において、条件要素などを選択し、論理演算子ボタン３３ａ〜３３ｅを使用して論理式を構築していく。論理演算子ボタン３３ａ〜３３ｅを選択することにより作成される論理式には、括弧が自動的に付される（図６乃至図１３参照。）。したがって、ユーザが括弧の位置を誤って入力することがなくなるので、正確な論理式を構築することができる。
【００６４】
また、論理式編集フィールド３２で作成された論理式は、候補条件フィールド３１に、自動的に表示されるので、論理式を構築する際に、ユーザは論理式を構築する過程で作成した論理式を再利用することができ、論理式の作成効率を向上させることができる。
【００６５】
次に、論理式ビジュアライザ機能に基づく、Ｓ１７における論理式可視化処理について説明する。
【００６６】
図１４は、論理式可視化処理の動作を説明するためのフローチャートである。同図に示すように、論理式可視化処理（Ｓ１７）は、大きくわけて２つのステップ、すなわち、論理式の要素サイズ算出処理（Ｓ３１）及び論理式の描画処理（Ｓ３２）がある。
【００６７】
以下、Ｓ３１の要素サイズ算出処理について、図１５のフローチャートを参照して説明する。
【００６８】
Ｓ１６において選択された論理式の対象要素が子要素を持っているか否かの判断が行われる（Ｓ４１）。なお、ここで、最初に判断が行われる論理式の要素(対象要素）は、論理式を内部構造（木構造）で表わした際の最も大きな根となる要素である。
【００６９】
例えば、選択された論理式が、図１８に示すように、(((!A or !B) and !C) or (D and E))である場合に、最初の対象要素は、”or”となる。
【００７０】
Ｓ４１において対象要素が、子要素を持っていると判断された場合には、対象要素のサイズの計算が可能か否かの判断が行われる（Ｓ４２）。対象要素のサイズの計算が可能か否かの判断は、対象要素の全ての子要素のサイズが求められている場合には、対象要素のサイズの計算が可能であると判断され、対象要素の全ての子要素のサイズが求められていない場合には、対象要素のサイズの計算が可能でないと判断される。
【００７１】
図１８の例においては、対象要素”or”（識別番号１）の２つの子要素”and"はいずれもサイズが計算されていないので、対象要素のサイズの計算が可能でないと判断される。
【００７２】
Ｓ４２において、対象要素のサイズの計算が可能でないと判断されると、サイズが求められていない子要素のうちの１つを対象要素として（Ｓ４３）、Ｓ４１の処理に戻る。
【００７３】
図１８の例では、対象要素を”or”（識別番号１）から”and"（識別番号２）にし、Ｓ４１〜Ｓ４３の処理を繰り返すことにより、対象要素は、”or”（識別番号１）→”and"（識別番号２）→”or”（識別番号４）→”!A”（識別番号８）となる。
【００７４】
Ｓ４１において、対象要素が子要素を持っていないと判断された場合には、当該対象要素のサイズが求められ（Ｓ４４）、Ｓ４５の処理に移る。
【００７５】
図１８の例では、対象要素が”!A”（識別番号８）である時点で、子要素を持たないことから、Ｓ４４の処理に移り、対象要素が”!A”（識別番号８）のサイズを求める。ここでは、文字数（２文字）及びフォントなどに対応する矩形サイズ（例えば、幅10mm,高さ8mm）を求める。
【００７６】
Ｓ４４において、対象要素のサイズが求めた後、親要素があるか否かの判断が行なわれ（Ｓ４５）、親要素があると判断された場合には、当該親要素を対象要素として（Ｓ４６）、Ｓ４１の処理に戻る。
【００７７】
図１８の例では、対象要素が”!A”（識別番号８）のサイズを求めた後、対象要素が親要素”or”（識別番号４）を有するので、親要素”or”（識別番号４）が対象要素となる。
【００７８】
一方、Ｓ４２において、対象要素のサイズの計算が可能であると判断された場合には、子要素のサイズ、個数に応じた矩形（高さ、幅）を求める（Ｓ４７）。
【００７９】
図１８の例では、要素”!A”（識別番号８）のサイズが求められた後、要素”!B”（識別番号９）のサイズが求められ、対象要素が要素”or”（識別番号４）となった時点で、対象要素”or”（識別番号４）の矩形の大きさが求められることになる。
【００８０】
要素”!A”（識別番号８）のサイズが幅10mm,高さ8mm、
要素”!B”（識別番号９）のサイズが幅10mm,高さ8mm、
要素”or”（識別番号４）のサイズが幅6mm,高さ8mm、
であるとすると、要素”or”（識別番号４）の矩形サイズは、これらを内包するように定められる。また、本実施の形態では、”or”演算子の場合には、子要素を横方向に連ね、”and"演算子の場合には、子要素を縦方向に連ねることを前提とする。
【００８１】
そうすると、要素”or”（識別番号４）の矩形サイズは、例えば、以下のように計算される。
【００８２】
幅  ＝  10mm（要素”!A” （識別番号８））＋10mm(要素”!B”（識別番号９）)
＋4mm（余白（左右２mmずつ））  ＝  30mm
高さ  ＝  8mm  ＋  4mm （余白（上下２mmずつ））  ＝  12mm
また、要素”or”（識別番号４）の矩形サイズが求められた後、要素”！C”（識別番号５）のサイズが求められ、対象要素が要素”and”（識別番号２）となった時点で、対象要素”and”（識別番号２）の矩形の大きさは、例えば、以下のように求められる。
【００８３】
要素”!A or !B”（識別番号４，８，９）のサイズが幅30mm、高さ12mm、
要素”and”（識別番号２）のサイズが幅9mm、高さ8mm、
要素”!C”（識別番号５）のサイズが幅10mm、高さ8mm、
であるとすると、要素”and”（識別番号２）の矩形サイズは、例えば、以下のように計算される。
【００８４】
幅  ＝  30mm（子要素の最大）  ＋  4mm（余白（左右２mmずつ））  ＝  34mm、
高さ  ＝  12mm  ＋  8mm  ＋  8mm  ＋  8mm
＋  4mm（余白（左右２mmずつ））  ＝  32mm
同様の手法で、要素and”（識別番号３）の矩形の大きさは、例えば、以下のように求められる。
【００８５】
要素”D”（識別番号６）のサイズが幅6mm、高さ8mm、
要素”and”（識別番号３）のサイズが幅9mm、高さ8mm、
要素”E”（識別番号７）のサイズが幅6mm、高さ8mm、
であるとすると、要素”and”（識別番号３）の矩形サイズは、例えば、以下のように計算される。
【００８６】
幅  ＝  9mm（子要素の最大）  ＋  4mm（余白（左右２mmずつ））  ＝  13mm、
高さ  ＝  6mm  ＋  8mm  ＋  6mm  
＋  4mm（余白（左右２mmずつ））  ＝  24mm
Ｓ４５において、親要素がないと判断された場合、すなわち、論理式を木構造で表わした際の最上位の要素が対象対象となった場合には、論理式の各要素のサイズが求められた状態であるので、要素サイズ算出処理を終了し、論理式描画処理（Ｓ３２）に移る。
【００８７】
図１８の例では、対象要素が”or”（識別番号１）となり、各要素の矩形のサイズ（識別番号１乃至９）が算出された状態を意味する。
【００８８】
次に、Ｓ３２の論理式描画処理について、図１６のフローチャートを参照して説明する。また、図１７は、論理式描画処理の順序を説明するためのスタック構造を示す図である。
【００８９】
まず、対象要素が子要素を持つかか否かの判断が行われる（Ｓ５１）。Ｓ５１において、対象要素が子要素を持つと判断された場合には、Ｓ３１の要素サイズ算出処理で求められた対象要素の矩形のサイズで矩形を描画する（Ｓ５２）。
【００９０】
具体的には、図１８の例では、対象要素”or”（識別番号１）の矩形サイズ（高さ36mm、幅57mm）の大きさで、描画範囲の「左上隅」を（０，０）とする座標から、例えば「緑色」に矩形を塗りつぶして描画する。図１９は、対象要素”or”（識別番号１）の矩形を描画した際の画面を示す図である。
【００９１】
Ｓ５２において、描画が終了すると、対象要素がスタックから削除され（Ｓ５３）、子要素の位置計算が行われ（Ｓ５４）、子要素の１つがスタックに追加される（Ｓ５５）。次に、他に子要素があるか否かが判断される（Ｓ５６）。
【００９２】
Ｓ５６において、他に子要素がないと判断された場合には、対象要素を最上層のスタックに移動し（Ｓ５８）、Ｓ５１の処理に戻る。一方、Ｓ５６において、他に子要素があると判断された場合には、演算子の文字ラベルをスタックに追加して、Ｓ５５の処理に処理に戻る。
【００９３】
図１８の例では、図１７に示すように、対象要素”or”（識別番号１）のスタックが削除され、２つの子要素”and"（識別番号２、３）及び対象要素の演算子も自ラベル”ｏｒ”が追加される（Ｓ５５〜Ｓ５７）。なお、このスタックの追加は、選択された論理式の内部構造である木構造に基づく。図１７に示すように、子要素”and"（識別番号２）が、次に、対象要素となる。
【００９４】
Ｓ５４における位置計算は、子要素の大きさから描画する位置を求める処理である。
【００９５】
図１８の例では、対象要素”or”（識別番号１）である場合に、
「(!A or !B) and !C」
→  左位置は余白の２mm、
上位置は上下の中央に位置するため、
(36mm(要素１の高さ）-32mm（要素２の高さ））／２＝2mm
「or」
→  左位置は「(!A or !B) and !C」の左位置＋「(!A or !B) and !C」の幅
2mm  ＋  34mm  ＝  36mm
上位置は(36mm（要素１の高さ）−8mm(orの高さ））／２=14mm
「D and E」
→  左位置は、「or」の左位置＋「or」の幅
36mm  ＋  ６mm  ＝  42mm
上位置は(36mm（要素１の高さ）−24mm(orの高さ））／２=6mm
となる。
【００９６】
対象要素が”and"（識別番号２）となり、同様に、Ｓ５１乃至Ｓ５５を繰り返す。対象要素”and"（識別番号２）の大きさは、幅34mm、高さ32mmであり、描画範囲の「左上隅」を(2mm,2mm)とする座標から「青色」に矩形を塗りつぶして描画する。図２０は、対象要素”and"（識別番号２）の矩形を描画した際の画面を示す図である（Ｓ５２の処理）。
【００９７】
子要素の位置計算（Ｓ５４の処理）は、対象要素が”and"（識別番号２）の場合、
「(!A or !B)」
→  左位置は要素２の左右の中央に位置させるため、
2mm（要素２の左位置）  ＋  （34mm（要素２の幅−30mm（要素４の幅））／２=4mm
上位置は「(!A or !B) and !C」の上位置＋余白
2mm  ＋  2mm = 4mm
「and」
→  左位置は2mm(要素２の左位置） + （34mm(要素２の幅） - 9mm(andの幅）） ／ 2 = 14.5mm
上位置は「(!A or !B) and !C」の上位置  ＋  「(!A or !B)」の高さ
2mm  ＋  12mm = 14mm
「!C」
→  左位置は「or」の左位置＋「or」の幅なので、
14 + 8 = 22mm
上位置は、
2mm(要素２の左位置） + （34mm(要素２の幅） - 10mm(要素５の幅）） ÷ 2 = 14mm
その後、対象要素が要素”or”（識別番号４）となる。対象要素”or”（識別番号４）の大きさは、幅30mm、高さ12mmであり、描画範囲の「左上隅」を(4mm,4mm)とする座標から「緑色」に矩形を塗りつぶして描画する。図２１は、対象要素”or"（識別番号４）の矩形を描画した際の画面を示す図である（Ｓ５２の処理）。
【００９８】
対象要素”or”（識別番号４）の矩形描画処理が終わると、子要素の位置計算が行なわれ（Ｓ５４の処理）、対象要素”or”（識別番号４）がスタックから削除され（Ｓ５３の処理）、要素”!A”（識別番号８）、要素”!B”（識別番号９）がスタックに追加され、要素”!A”（識別番号８）が対象要素とされる（Ｓ５５の処理、図１７参照）。
【００９９】
子要素の位置計算（Ｓ５４の処理）は、対象要素が”or"（識別番号４）の場合、
「！A」
→  左位置は、「(！A or !B）」の左位置+余白
4mm + 2mm = 6mm
上位置は、要素４の上下の中央に位置するため、
4mm（要素４の上位置）＋（12mm(要素４の高さ） - 8mm(要素８の高さ）） ／ 2 = 6mm
「or」
→  左位置は、「！A」の左位置＋「！A」の幅
6mm + 10mm = 16mm
上位置は、
4mm（要素４の上位置）＋（12mm(要素４の高さ） - 8mm(orの高さ）） ／ 2 = 6mm
「！B」
→  左位置は、「or」の左位置＋「or」の幅なので、
16mm + 6mm = 22mm
上位置は、
4mm（要素４の上位置）＋（12mm(要素４の高さ） - 8mm(要素８の高さ）） ／ 2 = 6mm
となる。
【０１００】
一方、Ｓ５１において、対象要素が子要素を持たないと判断された場合には、当該対象要素は文字要素であるので、当該文字要素の描画処理を行なう（Ｓ６１）。
【０１０１】
図１８の例においては、要素”!A”（識別番号８）が対象要素の場合、Ｓ４４で求められたサイズ（幅10mm,高さ8mm）、Ｓ５４で求められた位置（左位置6mm、上位置６mm）に要素”!A”の描画を行なう。図２２は、対象要素”!A”（識別番号８）の文字を描画した際の画面を示す図である（Ｓ６１の処理）。
【０１０２】
そして、対象要素をスタックから削除する（Ｓ６２、図１７参照）。そして、スタックがあるか否かの判断が行なわれる（Ｓ６３）。Ｓ６３において、スタックがないと判断された場合には、最上層のスタックを対象要素として、Ｓ６１の処理に戻る。
【０１０３】
具体的には、図１８の例では、”or”→”!B”→”and”→”!C”→”or”→”and”の順に文字描画される（図２３乃至図２７参照）。
【０１０４】
要素”or”（識別番号８）が対象要素の場合、Ｓ４２で求められたサイズ（幅6mm,高さ8mm）、Ｓ５４で求められた位置（左位置16mm、上位置６mm）に要素”or”の描画を行なう。図２３は、対象要素”or”（識別番号４）の文字を描画した際の画面を示す図である。
【０１０５】
要素”!B”（識別番号９）が対象要素の場合、Ｓ４２で求められたサイズ（幅10mm,高さ8mm）、Ｓ５４で求められた位置（左位置22mm、上位置６mm）に要素”!B”の描画を行なう。図２４は、対象要素”!B”（識別番号９）の文字を描画した際の画面を示す図である。
【０１０６】
要素”and”（識別番号２）が対象要素の場合、Ｓ４２で求められたサイズ（幅9mm,高さ8mm）、Ｓ５４で求められた位置（左位置14.5mm、上位置14mm）に要素”and”の描画を行なう。図２５は、対象要素”and”（識別番号２）の文字を描画した際の画面を示す図である。
【０１０７】
要素”!C”（識別番号５）が対象要素の場合、Ｓ４２で求められたサイズ（幅10mm,高さ8mm）、Ｓ５４で求められた位置（左位置14mm、上位置22mm）に要素”!C”の描画を行なう。図２６は、対象要素”!C”（識別番号５）の文字を描画した際の画面を示す図である。
【０１０８】
要素”or”（識別番号１）が対象要素の場合、Ｓ４２で求められたサイズ（幅6mm,高さ8mm）、Ｓ５４で求められた位置（左位置36mm、上位置14mm）に要素”or”の描画を行なう。図２７は、対象要素”or”（識別番号１）の文字を描画した際の画面を示す図である。
【０１０９】
一方、Ｓ６３においてスタックがないと判断された場合には、全ての要素について文字描画が完了したか否かの判断が行なわれる（Ｓ６４）。全ての要素について文字描画が完了したと判断された場合には、論理式描画処理を終了してＳ１８の処理に移る。一方、全ての要素について文字描画が完了していない場合には、Ｓ５１の処理に戻る。
【０１１０】
このようにして、論理式の全ての要素について矩形描画及び文字描画処理が行なわれることになる。
【０１１１】
なお、本実施の形態においては、論理式の構成要素を矩形で描画する場合について説明したが、矩形に限られるものではないことはいうまでもない。また、描画の順序については、上述の実施の形態の順序に限られるものではなく、種々考えることができる。
【０１１２】
したがって、本発明の実施の形態によれば、大きな論理式（構成要素の多い論理式）であっても、ユーザが正確に、かつ容易に論理式全体の意味を把握することが可能になる。
【０１１３】
また、論理式の構成上、「括弧の位置」、「ｏｒとａｎｄが入れ替わる」といった文字数的には小さな変化であったとしても、論理式の意味が大きく変わった場合には、図も大きく変化するので、ユーザが論理式の意味を容易に把握することが可能になる。
【０１１４】
図２８は、括弧の位置の変化による図の変化の例を示す図であり、図２９は、ＡｎｄとＯｒの違いによる図の変化の例を示す図である。これらに示されるように、括弧の位置や論理式の演算子が変化することにより、表示される図も大きく変化し、ユーザが容易に論理式が変化したことを理解することができることがわかる。
【０１１５】
また、この作図方式の「And条件の関係を縦に表すこと」「Or条件を横に現すこと」「否定条件は末端要素のみ」という3つの特性により「図の上に位置する要素から下に位置する要素までを、縦に追跡することで、真となる条件の1例を導出出来る」という性質を作り出している。図28の左の図を例に取ると「A and C and D」「A and E and G」、「A and F and G」、「B and C and D」、「B and E and G」、「B and F and G」をそれぞれ「真となる条件の1例」として導出出来る。この性質も、論理式を人間の頭で理解することを助けるものである。
【０１１６】
さらに、似た意味を有する論理式は、似た図になる傾向を有するので、学習効果により、論理式の意味の把握をより容易に把握することが可能になる。
【０１１７】
なお、本願発明は、上記各実施形態に限定されるものでなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は可能な限り適宜組み合わせて実施してもよく、その場合組み合わされた効果が得られる。さらに、上記各実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば実施形態に示される全構成要件から幾つかの構成要件が省略されることで発明が抽出された場合には、その抽出された発明を実施する場合には省略部分が周知慣用技術で適宜補われるものである。
【０１１８】
また、実施形態に記載した手法は、計算機（コンピュータ）に実行させることができるプログラム（ソフトウエア手段）として、例えば磁気ディスク（フロッピー（登録商標）ディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯ等）、半導体メモリ（ＲＯＭ、ＲＡＭ、フラッシュメモリ等）等の記録媒体に格納し、また通信媒体により伝送して頒布することもできる。なお、媒体側に格納されるプログラムには、計算機に実行させるソフトウエア手段（実行プログラムのみならずテーブルやデータ構造も含む）を計算機内に構成させる設定プログラムをも含む。本装置を実現する計算機は、記録媒体に記録されたプログラムを読み込み、また場合により設定プログラムによりソフトウエア手段を構築し、このソフトウエア手段によって動作が制御されることにより上述した処理を実行する。なお、本明細書でいう記録媒体は、頒布用に限らず、計算機内部あるいはネットワークを介して接続される機器に設けられた磁気ディスクや半導体メモリ等の記憶媒体を含むものである。
【図面の簡単な説明】
【０１１９】
【図１】本発明の実施の形態に係る論理式可視化装置を実現する情報処理装置示す図である。
【図２】論理式可視化プログラムの機能を説明するための図である。
【図３】論理式エディタの論理式を構築するための入力画面を示す図である。
【図４】論理式を可視化した画面を示す図である。
【図５】論理式エディタ機能を使用して論理式を構築する処理について説明するためのフローチャートである。
【図６】候補条件フィールドに表示された条件要素Ａ〜Ｅが選択されて、これら選択された条件要素Ａ〜Ｅが論理式編集フィールドに表示された画面を示す図である。
【図７】条件要素Ａ、Ｂが選択され、ＡＮＤボタンを選択（クリック）している画面を示す図である。
【図８】条件要素Ａ、Ｂが選択され、ＡＮＤボタンを選択することにより生成される論理式(A and B)が論理式編集フィールドに表示された画面を示す図である。
【図９】図８の画面から、さらに、条件要素Ｄ、Ｅを選択し、ＡＮＤボタンを選択することにより生成される論理式(D and E)が論理式編集フィールドに表示された画面を示す図である。
【図１０】図９の画面から、さらに、論理式(D and E)及び条件要素Ｃを選択し、ＯＲボタンを選択することにより作成される論理式((A and B) or C) が論理式編集フィールドに表示された画面を示す図である。
【図１１】図１０の画面から、作成された論理式((A and B) or C)を選択して、ＮＯＴボタンを選択することにより作成される論理式(not((A and B) or C))が論理式編集フィールドに表示された画面を示す図である。
【図１２】図１１の画面から、論理式の変換処理を行なった後に表示される画面を示す図である。
【図１３】図１２の画面から、さらに、論理式((!A or !B) and !C) 及び論理式(D and E)を選択し、ＯＲボタンを選択することにより作成される論理式((!A or !B) and !C) or (D and E))が論理式編集フィールドに表示された画面を示す図である。
【図１４】論理式可視化処理の動作を説明するためのフローチャートである。
【図１５】要素サイズ算出処理について説明するためのフローチャートである。
【図１６】論理式描画処理について説明するためのフローチャートである。
【図１７】論理式描画処理をスタックの概念を使用して説明するためのフローチャートである。
【図１８】論理式描画処理において使用される論理式を示す図である。
【図１９】対象要素”or”（識別番号１）の矩形を描画した際の画面を示す図である。
【図２０】対象要素”and"（識別番号２）の矩形を描画した際の画面を示す図である。
【図２１】対象要素”or"（識別番号４）の矩形を描画した際の画面を示す図である。
【図２２】対象要素”!A”（識別番号８）の文字を描画した際の画面を示す図である。
【図２３】対象要素”or”（識別番号４）の文字を描画した際の画面を示す図である。
【図２４】対象要素”!B”（識別番号９）の文字を描画した際の画面を示す図である。
【図２５】対象要素”and”（識別番号２）の文字を描画した際の画面を示す図である。
【図２６】対象要素”!C”（識別番号５）の文字を描画した際の画面を示す図である。
【図２７】対象要素”or”（識別番号１）の文字を描画した際の画面を示す図である。
【図２８】括弧の位置の変化による図の変化の例を示す図である。
【図２９】ＡｎｄとＯｒの違いによる図の変化の例を示す図である。
【符号の説明】
【０１２０】
１２…ＣＰＵ、１３…表示部、１４…メモリ、１５…入力部、１６…記憶装置、２１…論理式可視化プログラム、２２…ＯＳ、２３…データベース、３１…候補条件フィールド、３２…論理式編集フィールド、３３ａ〜３３ｅ…論理演算子ボタン。
【図１】
2010086051.tif 000003
【図２】
2010086051.tif 000004
【図３】
2010086051.tif 000005
【図４】
2010086051.tif 000006
【図５】
2010086051.tif 000007
【図６】
2010086051.tif 000008
【図７】
2010086051.tif 000009
【図８】
2010086051.tif 000010
【図９】
2010086051.tif 000011
【図１０】
2010086051.tif 000012
【図１１】
2010086051.tif 000013
【図１２】
2010086051.tif 000014
【図１３】
2010086051.tif 000015
【図１４】
2010086051.tif 000016
【図１５】
2010086051.tif 000017
【図１６】
2010086051.tif 000018
【図１７】
2010086051.tif 000019
【図１８】
2010086051.tif 000020
【図１９】
2010086051.tif 000021
【図２０】
2010086051.tif 000022
【図２１】
2010086051.tif 000023
【図２２】
2010086051.tif 000024
【図２３】
2010086051.tif 000025
【図２４】
2010086051.tif 000026
【図２５】
2010086051.tif 000027
【図２６】
2010086051.tif 000028
【図２７】
2010086051.tif 000029
【図２８】
2010086051.tif 000030
【図２９】
2010086051.tif 000031