(57)【要約】【課題】システムやアプリケーションを生成するオブジェクト指向のプログラム言語で記述されたプログラムの内容を第三者にも分かりやすく視覚的に表示する視覚的表示装置、視覚的表示プログラム、視覚的表示サーバおよび視覚的表示システムを提供する。【解決手段】プログラム視覚的表示装置４０１は読み込んだプログラムのデータ構造を解析するためのプログラム解析部４１０、データを一時記憶する一時記憶部４１１、オブジェクトのクラス名と対応する図形のファイルパスを記憶するクラス名記憶部４１２、図形データを記憶する図形データ記憶部４１３、プログラム構成図を完成させる図形表示処理部４１４、プログラム中の英単語を翻訳する翻訳部４１５を備えている。これにより、プログラムに含まれる各オブジェクトに対して、そのクラスに対応した様々な図形データを割り当て、プログラムのデータ構造を視覚的に分かりやすく表示することができる。【選択図】図１
2006268171.tif 000002
【特許請求の範囲】
【請求項１】
動作とその動作に係わりのある要素をひとまとまりとしてオブジェクトと規定すると共に、オブジェクトを抽象化したものあるいは同じ特性を持ったオブジェクト同士の集合をクラスと規定したときの、１以上のオブジェクトの組み合わせで構成するオブジェクト指向のプログラムにおけるそれぞれのクラスに対応させて図形を格納する対応図形格納手段と、
前記オブジェクト指向のプログラムを入力して、このプログラムを構成するオブジェクトごとにクラスを特定するクラス特定手段と、
このクラス特定手段により特定されたクラスに対して前記対応図形格納手段から対応する図形を読み出す対応図形読出手段と、
この対応図形読出手段によって読み出された図形を前記オブジェクト指向のプログラムの内容として表示する図形表示手段
とを具備することを特徴とする視覚的表示装置。
【請求項２】
視覚的にそれぞれ異なる図形として認識される複数の図形を格納する図形格納手段と、
動作とその動作に係わりのある要素をひとまとまりとしてオブジェクトと規定すると共に、オブジェクトを抽象化したものあるいは同じ特性を持ったオブジェクト同士の集合をクラスと規定したときの、１以上のオブジェクトの組み合わせで構成するオブジェクト指向のプログラムにおけるそれぞれのクラスと前記図形格納手段に格納された図形をそれぞれ対応させるクラス図形対応テーブルと、
前記オブジェクト指向のプログラムを入力して、このプログラムを構成するオブジェクトのクラスを特定するクラス特定手段と、
このクラス特定手段で特定したクラスに対応する図形を、前記クラス図形対応テーブルから検索する図形検索手段と、
この図形検索手段によって検索された図形を前記図形格納手段から読み出す図形読出手段と、
この図形読出手段によって読み出された図形を前記オブジェクト指向のプログラムの内容として表示する図形表示手段
とを具備することを特徴とする視覚的表示装置。
【請求項３】
前記クラス特定手段で特定したクラスに対応する図形が前記図形格納手段に格納されていないとき、このクラスに対応させる図形を前記図形格納手段に格納され、かつ前記クラス図形対応テーブルでいずれのクラスにも対応させていない図形の中から割り当てるクラス図形割当手段と、
このクラス図形割当手段で割り当てた図形と前記クラスとを対応させるよう前記クラス図形対応テーブルを更新するクラス図形対応テーブル更新手段
とを具備することを特徴とする請求項２記載の視覚的表示装置。
【請求項４】
前記クラス特定手段が特定するクラスのクラス名を前記オブジェクト指向のプログラム中から抽出するクラス名抽出手段と、
前記図形表示手段が表示する図形と併せて、このクラス名抽出手段が抽出するクラス名を表示するクラス名表示手段
とを具備することを特徴とする請求項１および請求項２いずれかに記載の視覚的表示装置。
【請求項５】
前記クラス特定手段が特定するクラスのオブジェクトが保持する動作を表わすメソッドを前記オブジェクト指向のプログラム中から抽出するメソッド抽出手段と、
前記図形表示手段が表示する図形と併せて、このメソッド抽出手段が抽出するメソッドを表示するメソッド表示手段
とを具備することを特徴とする請求項１および請求項２いずれかに記載の視覚的表示装置。
【請求項６】
前記クラス特定手段が特定するクラスのオブジェクトが保持する要素としての要素オブジェクトごとにクラスを特定する要素クラス特定手段と、
この要素クラス特定手段で特定したクラスに対応する図形を要素図形として、前記対応図形読出手段によって読み出された図形を、前記図形表示手段が表示する図形と併せて表示する要素図形表示手段
とを具備することを特徴とする請求項１記載の視覚的表示装置。
【請求項７】
前記クラス特定手段が特定するクラスのオブジェクトが保持する要素としての要素オブジェクトごとにクラスを特定する要素クラス特定手段と、
この要素クラス特定手段で特定したクラスに対応する図形を要素図形として、前記図形検索手段により検索し、前記図形表示手段が表示する図形と併せて表示する要素図形表示手段
とを具備することを特徴とする請求項２記載の視覚的表示装置。
【請求項８】
前記要素図形表示手段は要素図形を縮小して前記図形表示手段が表示する図形の内部に併せて表示することを特徴とする請求項６または請求項７記載の視覚的表示装置。
【請求項９】
前記要素クラス特定手段が特定する要素オブジェクトのクラスの要素クラス名を前記オブジェクト指向のプログラム中から抽出する要素クラス名抽出手段と、
前記要素図形表示手段が表示する要素図形と併せて、この要素クラス名抽出手段が抽出する要素クラス名を表示する要素クラス名表示手段
とを具備することを特徴とする請求項６または請求項７記載の視覚的表示装置。
【請求項１０】
英語を自国語に翻訳する翻訳手段を備え、前記クラス名表示手段はこの翻訳手段により前記クラス名抽出手段が抽出する英語のクラス名を自国語に翻訳して表示することを特徴とする請求項４記載の視覚的表示装置。
【請求項１１】
英語を自国語に翻訳する翻訳手段を備え、前記メソッド表示手段はこの翻訳手段により前記メソッド抽出手段が抽出する英語のメソッドを自国語に翻訳して表示することを特徴とする請求項５記載の視覚的表示装置。
【請求項１２】
英語を自国語に翻訳する翻訳手段を備え、前記要素クラス名表示手段はこの翻訳手段により前記要素クラス名抽出手段が抽出する英語の要素クラス名を自国語に翻訳して表示することを特徴とする請求項９記載の視覚的表示装置。
【請求項１３】
コンピュータに、
動作とその動作に係わりのある要素をひとまとまりとしてオブジェクトと規定すると共に、オブジェクトを抽象化したものあるいは同じ特性を持ったオブジェクト同士の集合をクラスと規定したときの、１以上のオブジェクトの組み合わせで構成するオブジェクト指向のプログラムを入力して、このプログラムを構成するオブジェクトのクラスを特定するクラス特定処理と、
このクラス特定処理で特定したクラスに対応する図形を、前記プログラムにおけるそれぞれのクラスと視覚的にそれぞれ異なる図形として認識される複数の図形を対応させるクラス図形対応テーブルから検索する図形検索処理と、
この図形検索処理によって検索された図形をオブジェクト指向のプログラムの内容として表示する図形表示処理
とを実行させることを特徴とする視覚的表示プログラム。
【請求項１４】
動作とその動作に係わりのある要素をひとまとまりとしてオブジェクトと規定すると共に、オブジェクトを抽象化したものあるいは同じ特性を持ったオブジェクト同士の集合をクラスと規定したときの、１以上のオブジェクトの組み合わせで構成するオブジェクト指向のプログラムを視覚的に表示するための視覚的表示要求を所定の通信ネットワークを介して受信する視覚的表示要求受信手段と、
視覚的にそれぞれ異なる図形として認識される複数の図形を格納する図形格納手段と、
前記オブジェクト指向のプログラムのそれぞれのクラスと前記図形格納手段に格納された図形をそれぞれ対応させるクラス図形対応テーブルと、
前記オブジェクト指向のプログラムを入力して、このプログラムを構成するオブジェクトのクラスを特定するクラス特定手段と、
このクラス特定手段で特定したクラスに対応する図形を、前記クラス図形対応テーブルから検索する図形検索手段と、
この図形検索手段によって検索された図形を前記図形格納手段から読み出し、オブジェクト指向のプログラムの内容として、前記視覚的表示要求受信手段により受信した視覚的表示要求の送信元に送信するプログラム図形送信手段
とを具備することを特徴とする視覚的表示サーバ。
【請求項１５】
前記視覚的表示要求受信手段により自装置外から視覚的表示要求を受信すると共に、視覚的表示を行う対象となるオブジェクト指向のプログラムを受信するプログラム受信手段
とを具備することを特徴とする請求項８記載の視覚的表示サーバ。
【請求項１６】
請求項１４記載の視覚的表示サーバと、
この視覚的表示サーバにオブジェクト指向のプログラムを視覚的に表示するための視覚的表示要求を送信する視覚的表示要求送信手段と、この視覚的表示要求に対して前記視覚的表示サーバが前記プログラム図形送信手段で送信する図形を受信する図形受信手段とを備える視覚的表示要求装置
とを具備することを特徴とする視覚的表示システム。
【請求項１７】
請求項１５記載の視覚的表示サーバと、
この視覚的表示サーバにオブジェクト指向のプログラムを視覚的に表示するための視覚的表示要求を送信する視覚的表示要求送信手段と、この視覚的表示要求送信手段により視覚的表示要求を送信すると共に、視覚的表示を行う対象となるオブジェクト指向のプログラムを前記視覚的表示サーバに送信するプログラム送信手段と、前記視覚的表示要求に対して前記視覚的表示サーバが前記プログラム図形送信手段で送信する図形を受信する図形受信手段とを備える視覚的表示要求装置
とを具備することを特徴とする視覚的表示システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムの内容を視覚的に表示する視覚的表示装置、視覚的表示プログラム、視覚的表示サーバおよび視覚的表示システムに係わり、特にオブジェクト指向のプログラム言語によって生成されたシステムやアプリケーションの構造を示すために好適な視覚的表示装置、視覚的表示プログラム、視覚的表示サーバおよび視覚的表示システムに関する。
【背景技術】
【０００２】
システムやアプリケーションを生成するプログラムを見て、その機能を理解するには、プログラム言語に関する知識が必要である。プログラムの内容が高度化すると、そのような知識を持つ者にとっても、これを理解するのは容易ではない。したがって、プログラマが第三者に自らのプログラムについて理解させるには、分かりやすい説明が求められる。プログラムの説明は、たとえば、長くメンテナンスされながら使用するシステムやアプリケーションでそのメンテナンス作業が第三者によって行われる場合、また、他の分野への応用が期待されるプログラムでその応用が第三者によって行われる場合等いろいろなケースで必要となる。
【０００３】
高度で複雑なシステムやアプリケーションは大規模なプログラムからなることが多く、複数の開発者によって共同で作成されるのが通常である。開発者はそれぞれ自らの専門分野を分担してプログラミングを行う。このような開発形態では、各開発者それぞれがプログラムの全体の内容を細部まで理解する必要はなく、機能の概要を理解していればよいので、作業効率が向上する。したがって、開発者間の情報共有等の目的で、自分の担当するプログラムの機能について他の共同開発者に説明する場合も、分かりやすい説明が求められる。説明が難解で理解に時間のかかるものであってはこのような開発形態をとる意味がない。
【０００４】
そこで、近年、プログラム言語を用いずに簡潔にプログラムの内容を表記するために、ＵＭＬ（Unified Modeling Language）が広く普及している。これは、世界共通の統一表記方法で、ＪＡＶＡ（登録商標）に代表されるオブジェクト指向プログラム言語の表記方法のデファクトスタンダードとして使われている。オブジェクト指向とは、何らかのデータと、それを操作するためのメソッドの組み合わせをオブジェクトと呼ばれる１つのまとまりとする考え方である。オブジェクトを抽象化したもの、または同じ特性を持ったオブジェクトの集合はクラスとして表わされる。クラスは、個々のオブジェクトを特定するフィールド、および操作を表わすメソッドにより記述されるオブジェクトの設計図に相当するものである。
【０００５】
図２８は、「Ｄｉｒｅｃｔｏｒｙ」クラスのオブジェクトについてＪＡＶＡ（登録商標）で記述されたプログラムを表わしたものである。この第１のプログラム２００は、ＪＡＶＡ（登録商標）で記述されたプログラムの一例であり、これを用いてプログラムの構造について説明を行うことにする。図２８に示すように、この第１のプログラム２００はコメント文２０１とクラス定義文２０２とで構成されている。クラス定義文２０２は、変数の初期化を行わせる文２０３、クラスのフィールドを記述する文２０４およびメソッドを記述する第１のメソッド定義文２０５と第２のメソッド定義文２０６とで構成されている。「Ｄｉｒｅｃｔｏｒｙ」というクラス名２０７は、クラス定義文２０２のはじめに定義されている。したがって、このクラス定義文２０２により、この「Ｄｉｒｅｃｔｏｒｙ」クラスのオブジェクトが保持するフィールドは「ｊａｖａ．ｌａｎｇ．Ｓｔｒｉｎｇ」クラスのオブジェクト「ｎａｍｅ」、「Ｆｉｌｅ」クラスのオブジェクト「ｈｔｍｌＦｉｌｅ」および「ｔｘｔＦｉｌｅ」であり、メソッドは「ｌｉｓｔＦｉｌｅｓ」および「ｇｅｔＮａｍｅ」であるということが表わされている。「ｊａｖａ．ｌａｎｇ．Ｓｔｒｉｎｇ」はＪＡＶＡ（登録商標）の標準ＡＰＩ（Application Program Interface）に含まれるクラスである。標準ＡＰＩとはＪＡＶＡ（登録商標）の環境下でシステムに依存せずに使用できるオブジェクトの集合である。
【０００６】
図２９は、「Ｆｉｌｅ」クラスのオブジェクトについてＪＡＶＡ（登録商標）で記述されたプログラムを表わしたものである。図２８と共に説明を行う。この第２のプログラム３００は、第１のプログラム２００のフィールドが保持する「Ｆｉｌｅ」クラスのオブジェクトついて記述されたものである。図２８と同様に、この第２のプログラム３００はコメント文３０１とクラス定義文３０２とからなる。また、クラス定義文３０２は、変数の初期化を行わせる文３０３、クラスに含まれるフィールドを記述する文３０４およびメソッドを記述するメソッド定義文３０５とで構成されている。「Ｆｉｌｅ」というクラス名３０７は、クラス定義文３０２のはじめに定義されている。したがって、このクラス定義文３０２により、この「Ｆｉｌｅ」という名前のオブジェクトの保持するフィールドは文字列オブジェクト「ｎａｍｅ」であり、メソッドは「ｇｅｔＮａｍｅ」であるということが表わされている。
【０００７】
図３０は、図２８のプログラムをＵＭＬで表記したものである。「Ｄｉｒｅｃｔｏｒｙ」クラスのＵＭＬ表記３５１は、名前コンパートメント３５２、フィールドコンパートメント３５３およびメソッドコンパートメント３５４という３つの四角で構成されている。このようにＵＭＬを用いると、図２８のプログラムと比較して、より簡単にプログラムの構造を表示できるようになっている。
【０００８】
図３１は、図２９のプログラムをＵＭＬで表記したものである。図３０と同様に、「Ｆｉｌｅ」クラスのＵＭＬ表記３６１は、名前コンパートメント３６２、フィールドコンパートメント３６３およびメソッドコンパートメント３６４で構成されている。図３０および図３１のようにＵＭＬを使用することにより、オブジェクト指向の言語によって記述されたプログラムが簡潔に表現できるようになる。したがって、第三者にプログラムの内容について説明する際には、これらを使用して視覚的に理解しやすい説明を行うことができる。
【０００９】
しかしながら、説明するプログラムが膨大なものになると、その内容をすべてＵＭＬのような表記方法で表わすというのは手間のかかる作業である。このような作業は、プログラムの説明を行う者、つまりプログラムの開発者にとって大きな負担になってしまう。
【００１０】
そこで、オブジェクト指向のプログラム言語で記述されたプログラムを解析して、説明用の表記方法にして表示するようにした装置が提案されている（たとえば特許文献１参照）。この第１の提案の装置は、プログラムからクラス名、フィールド名、メソッド名、クラス間の関係およびフィールドとメソッド間の関係を抽出し、これらを色を変化させた線、矢印および矩形で表示するようになっている。したがって、プログラム言語で記述されたプログラムの内容を視覚的に理解しやすく表示することができる。
【特許文献１】特開平１１−０９５９９０号公報（段落００１８、図１）
【発明の開示】
【発明が解決しようとする課題】
【００１１】
ところが、ＵＭＬの表記方法および第１の提案の装置による表記方法で使用されているのは、矩形や線で示した抽象的なものでしかない。このため、ＵＭＬはおろかオブジェクト指向の知識がない第三者にとっては、これらの表記からプログラムの構造を理解するのは依然容易ではない。
【００１２】
そこで本発明の目的は、システムやアプリケーションを生成するオブジェクト指向のプログラム言語で記述されたプログラムの内容を第三者にも分かりやすく視覚的に表示する視覚的表示装置、視覚的表示プログラム、視覚的表示サーバおよび視覚的表示システムを提供することにある。
【課題を解決するための手段】
【００１３】
本発明では、（イ）動作とその動作に係わりのある要素をひとまとまりとしてオブジェクトと規定すると共に、オブジェクトを抽象化したものあるいは同じ特性を持ったオブジェクト同士の集合をクラスと規定したときの、１以上のオブジェクトの組み合わせで構成するオブジェクト指向のプログラムにおけるそれぞれのクラスに対応させて図形を格納する対応図形格納手段と、（ロ）オブジェクト指向のプログラムを入力して、このプログラムを構成するオブジェクトごとにクラスを特定するクラス特定手段と、（ハ）このクラス特定手段により特定されたクラスに対してこの対応図形格納手段から対応する図形を読み出す対応図形読出手段と、（ニ）この対応図形読出手段によって読み出された図形をオブジェクト指向のプログラムの内容として表示する図形表示手段とを視覚的表示装置に具備させる。
【００１４】
すなわち本発明では、視覚的表示装置は、動作とその動作に係わりのある要素をひとまとまりとしてオブジェクトと規定すると共に、オブジェクトを抽象化したものあるいは同じ特性を持ったオブジェクト同士の集合をクラスと規定したときの、１以上のオブジェクトの組み合わせで構成するオブジェクト指向のプログラムにおいて、それぞれのクラスに図形を対応させてを格納するようにしている。そして、オブジェクト指向のプログラムを入力して、このプログラムを構成するオブジェクトごとにクラスを特定する。さらに、このようにして特定されたクラスに対応する図形を読み出し、オブジェクト指向のプログラムの内容として表示するようにしている。プログラムを構成するオブジェクトを様々な図形で表わすことができるので、プログラムの構造を視覚的に捉え易くなる。入力したプログラムが自動的に視覚的に表示されるようになるため、プログラムの開発者が第三者にプログラムの内容を説明するときに使用する資料の作成に役立てることができる。
【００１５】
また、本発明では、（イ）視覚的にそれぞれ異なる図形として認識される複数の図形を格納する図形格納手段と、（ロ）動作とその動作に係わりのある要素をひとまとまりとしてオブジェクトと規定すると共に、オブジェクトを抽象化したものあるいは同じ特性を持ったオブジェクト同士の集合をクラスと規定したときの、１以上のオブジェクトの組み合わせで構成するオブジェクト指向のプログラムにおけるそれぞれのクラスと図形格納手段に格納された図形をそれぞれ対応させるクラス図形対応テーブルと、（ハ）オブジェクト指向のプログラムを入力して、このプログラムを構成するオブジェクトのクラスを特定するクラス特定手段と、（ニ）このクラス特定手段で特定したクラスに対応する図形を、クラス図形対応テーブルから検索する図形検索手段と、（ホ）この図形検索手段によって検索された図形を図形格納手段から読み出す図形読出手段と、（ヘ）この図形読出手段によって読み出された図形をオブジェクト指向のプログラムの内容として表示するに図形表示手段とを視覚的表示装置に具備させる。
【００１６】
すなわち本発明では、視覚的表示装置で、視覚的にそれぞれ異なる図形として認識される複数の図形を格納し、これらをオブジェクトのクラスと対応付ける図形対応テーブルを備え、オブジェクト指向のプログラムを入力して、このプログラムを構成するオブジェクトごとにクラスを特定するようにしている。そして、このクラスに対応する図形をテーブルから検索し読み出して、オブジェクト指向のプログラムの内容として表示するようにしている。このようにすることで、図形対応テーブルに登録されたクラスのオブジェクトで構成されるプログラムの内容を視覚的に表示することができる。
【００１７】
さらに、本発明では、コンピュータに、（イ）動作とその動作に係わりのある要素をひとまとまりとしてオブジェクトと規定すると共に、オブジェクトを抽象化したものあるいは同じ特性を持ったオブジェクト同士の集合をクラスと規定したときの、１以上のオブジェクトの組み合わせで構成するオブジェクト指向のプログラムを入力して、このプログラムを構成するオブジェクトのクラスを特定するクラス特定処理と、（ロ）このクラス特定処理段で特定したクラスに対応する図形を、プログラムにおけるそれぞれのクラスと視覚的にそれぞれ異なる図形として認識される複数の図形を対応させるクラス図形対応テーブルから検索する図形検索処理と、（ハ）この図形検索処理によって検索された図形をオブジェクト指向のプログラムの内容として表示する図形表示処理とを視覚的表示プログラムにより実行させる。
【００１８】
すなわち本発明では、請求項１記載の発明に対応した視覚的表示プログラムである。
【００１９】
また、本発明では、（イ）動作とその動作に係わりのある要素をひとまとまりとしてオブジェクトと規定すると共に、オブジェクトを抽象化したものあるいは同じ特性を持ったオブジェクト同士の集合をクラスと規定したときの、１以上のオブジェクトの組み合わせで構成するオブジェクト指向のプログラムを視覚的に表示するための視覚的表示要求を所定の通信ネットワークを介して受信する視覚的表示要求受信手段と、（ロ）視覚的にそれぞれ異なる図形として認識される複数の図形を格納する図形格納手段と、（ハ）オブジェクト指向のプログラムのそれぞれのクラスと図形格納手段に格納された図形をそれぞれ対応させるクラス図形対応テーブルと、（ニ）オブジェクト指向のプログラムを入力して、このプログラムを構成するオブジェクトのクラスを特定するクラス特定手段と、（ホ）このクラス特定手段で特定したクラスに対応する図形を、クラス図形対応テーブルから検索する図形検索手段と、（ヘ）この図形検索手段によって検索された図形を図形格納手段から読み出し、オブジェクト指向のプログラムの内容として、視覚的表示要求受信手段により受信した視覚的表示要求元に送信するプログラム図形送信手段とを視覚的表示サーバに具備させる。
【００２０】
すなわち本発明では、視覚的表示サーバに、オブジェクト指向のプログラムを視覚的に表示するための視覚的表示要求を所定の通信ネットワークを介して受信する視覚的表示要求受信手段と、図形をプログラムの内容として、視覚的表示要求元に送信するプログラム図形送信手段とを備えている。したがって、通信ネットワークを通じて接続するクライアントから、プログラムを図形により視覚的に表示させるという要求を受信して、それに対して処理を行い、要求元のクライアントに図形を送信することができる。
【００２１】
さらに、本発明では、（イ）請求項１４記載の視覚的表示サーバと、（ロ）この視覚的表示サーバにオブジェクト指向のプログラムを視覚的に表示するための視覚的表示要求を送信する視覚的表示要求送信手段と、この視覚的表示要求に対して視覚的表示サーバがプログラム図形送信手段で送信する図形を受信する図形受信手段とを備える視覚的表示要求装置とを視覚的表示システムに具備させる。
【００２２】
すなわち本発明では、請求項１４記載の視覚的表示サーバに、視覚的表示要求装置がオブジェクト指向のプログラムを視覚的に表示するための要求を送信し、これに対して視覚的表示サーバから送られてきた図形を受信するような視覚的表示システムを構成するようにした。
【００２３】
また、本発明では、（イ）請求項１５記載の視覚的表示サーバと、（ロ）この視覚的表示サーバにオブジェクト指向のプログラムを視覚的に表示するための視覚的表示要求を送信する視覚的表示要求送信手段と、この視覚的表示要求送信手段により視覚的表示要求を送信すると共に、視覚的表示を行う対象となるオブジェクト指向のプログラムを前記視覚的表示サーバに送信するプログラム送信手段と、前記視覚的表示要求に対して前記視覚的表示サーバが前記プログラム図形送信手段で送信する図形を受信する図形受信手段とを備える視覚的表示要求装置とを視覚的表示システムに具備させる。
【００２４】
すなわち本発明では、請求項１５記載の視覚的表示サーバに、視覚的表示要求装置がオブジェクト指向のプログラムを視覚的に表示するための要求を送信するとともに、視覚的に表示させる対象となるプログラムを送信するようにし、これに対して視覚的表示サーバから送られてきた図形を受信するような視覚的表示システムを構成するようにした。
【発明の効果】
【００２５】
以上説明したように本発明では、オブジェクト指向のプログラムを構成するオブジェクトごとに、それぞれのクラスに対応する図形を表示し、そのプログラムの内容として表わすことができる。プログラムを構成するオブジェクトを様々な図形で表わすことができるので、プログラムの構造を視覚的に捉え易くなる。入力したプログラムが自動的に視覚的に表示されるようになるため、プログラムの開発者が第三者にプログラムの内容を説明するときに使用する資料の作成に役立てることができる。さらに、クラス名や保持するメソッドを貼付して、より分かりやすく表示することができる。これらは翻訳して自国語で表わすことも可能となっている。このような視覚的表示装置の機能は、プログラムとしても同様に実現することができる。また、サーバに備えさせ、ネットワークを通じて複数のクライアントから要求を受け視覚的表示処理を行うこともできる。
【発明を実施するための最良の形態】
【００２６】
以下実施例につき本発明を詳細に説明する。
【実施例１】
【００２７】
図１は、本発明の一実施例によるプログラム視覚的表示装置の構成の概要と視覚的に表示させるプログラムとを表わしたものである。プログラム視覚的表示装置４０１は、ＪＡＶＡ（登録商標）によって記述されたプログラムを読み込む入力部４０２、そのプログラムを構成図として視覚的に表示する出力部４０３、およびプログラムから構成図を完成させる処理を行う処理部４０４とで構成されている。
【００２８】
処理部４０４は読み込んだプログラムのデータ構造を解析するためのプログラム解析部４１０を備えている。このプログラム解析部４１０は、一時記憶部４１１と接続されており、解析処理によって導き出されたデータがここに一時記憶されるようになっている。処理部４０４には、さらに、オブジェクトのクラス名と対応する図形のファイルパスを記憶するクラス名記憶部４１２や、図形データをマッピング形式で記憶する図形データ記憶部４１３が備えられている。また、プログラム構成図を完成させる図形表示処理部４１４、プログラム中の英語を自国語に翻訳する翻訳部４１５を備えられている。読み込むプログラムは、図２８に示した「Ｄｉｒｅｃｔｏｒｙ．ｊａｖａ」という第１のプログラム２００、および図２９に示した「Ｆｉｌｅ．ｊａｖａ」という第２のプログラム３００として説明を行うことにする。ここで、「．ｊａｖａ」は、ＪＡＶＡ（登録商標）で記述されたプログラムにつけられる拡張子である。入力部はメディアに記憶されたこれらのプログラムを読み出す装置である。
【００２９】
図２は、このプログラム視覚的表示装置の回路構成の概要を表わしたものである。図１と共に説明を行う。プログラム視覚的表示装置４０１は、ＣＰＵ（中央処理装置）４２１を備えている。ＣＰＵ４２１は、データバス等のバス４２２を通じてプログラム視覚的表示装置４０１内の各部と接続されている。このうち、ＲＯＭ（リード・オン・メモリ）４２３は、不揮発性データあるいは制御プログラムを格納している。ＲＡＭ（ランダム・アクセス・メモリ）４２４はＣＰＵ４２１が各種制御を実行する際に必要となるデータを一時的に格納するようになっている。また、一時記憶部４１１はこのＲＡＭ４２４の領域の一部を使用するようになっている。ハード・ディスク・ドライブ（ＨＤＤ）４２５は、このプログラム視覚的表示装置４０１の制御を行うためのＯＳ（Operation System）やアプリケーションプログラムが格納された磁気記憶装置である。このハード・ディスク・ドライブ４２５の一部領域はクラス名記憶部４１２および図形データ記憶部４１３として使用されている。表示部４２６は液晶あるいは有機パネルを使用したモニタを備え、情報を視覚的に表示するようになっている。ＦＤＤ（フロッピー（登録商標）・ディスク・ドライブ）４２７は、図示しないフロッピー（登録商標）ディスクを介して、外部からプログラムを読み込んだり、書き込んで外部に情報を出力するようになっている。操作部４２８は、キーボード、マウスおよびスイッチボタンを備え各種操作を受け付けるようになっている。通信部４２９は、ＬＡＮ（Local Area Network）やインターネットに接続し、外部と通信を行っている。
【００３０】
図３および図４は、プログラム視覚的表示装置がプログラムファイルを読み込んで図形を表示する処理の流れを表わしたものである。図１と共に説明を行う。プログラム視覚的表示装置４０１はこれから処理する第１および第２のプログラム２００、３００を入力部４０２で読み込み、これらを処理部４０４に送る（ステップＳ１０１）。第１および第２のプログラム２００、３００を受け取った処理部４０４では、プログラム解析部４１０により、ファイルの解析処理が行われる（ステップＳ１０２）。翻訳部４１５による翻訳を行うかどうかは、処理のはじめに操作部４２８によりユーザが設定できるようになっている。ここでは、翻訳処理を行う設定として説明を行う。
【００３１】
図５は、プログラム解析部による第１のプログラムの解析結果を表わしたものである。図２８および図１と共に説明を行う。プログラム解析部４１０は第１のプログラム２００から、クラス名、フィールドおよびメソッドの抽出処理を行う。たとえばクラス名２０７を抽出するには、直前にある「ｃｌａｓｓ」というキーワードを検索して、それに続く「Ｄｉｒｅｃｔｏｒｙ」をクラス名と判断して抽出するようになっている。フィールド、メソッドも同様にこれらの前後にあるべきキーワードを検索して、抽出されるようになっている。この抽出結果から図５に示した第１のプログラム解析結果５０３が得られるようになっている。
【００３２】
図６は、プログラム解析部による第２のプログラムの解析結果を表わしたものである。第２のプログラム解析結果５０４は、図５に示した第１のプログラム解析結果５０３と同様な処理により得られるようになっている。
【００３３】
図３に戻って説明を続ける。ステップＳ１０２のプログラム解析処理で得られた解析結果は、一旦、一時記憶部４１１に格納される（ステップＳ１０３）。さらに、一時記憶部４１１に格納されているオブジェクトのクラス名およびデフォルトで指定されている図形データとの対のリストからなるＧＵＩ（Graphical User Interface）画面を表示部４２６に表示する。そして、操作部４２８によりユーザの図形データの変更要求を受信し、ユーザにより選択された図形データに変更する（ステップＳ１０４）。一時記憶部４１１および図形データの変更処理について説明する前に、図形データ記憶部４１３についての説明を行う。
【００３４】
図７は、図形データ記憶部に格納されている図形データファイルの例を表わしたものである。このように図形データ記憶部４１３には複数の互いに異なる形状の図形データが格納されている。これらの図形データは、ビットマップ形式、ＪＰＥＧ（Joint Photographic Experts Group）形式、あるいはＧＩＦ（Graphics Interchange Format）形式等の各種の画像形式で表わすことができる。この図形データ記憶部４１３に格納された図形データ以外で利用したい図形データがあれば、追加することも可能である。また、この図形データ記憶部４１３は実際に１つである必要はなく、図形データは複数箇所（たとえばウエブ上の特別のサーバ内を含む）に散在していてもよい。図形データが記憶された複数の記憶領域を、実質的に１つの図形データ記憶部４１３として扱うことにする。
【００３５】
ここで、第１〜第３の図形データ５１６1〜５１６3はＪＡＶＡ（登録商標）の標準ＡＰＩに含まれるオブジェクトに対応する図形の一部である。これらについては、予めオブジェクト名を貼付したものを完成済み図形データとして用意し、必要以上の解析を抑制して処理効率を向上させるようにしている。また、第４〜第６の図形データ５１６4〜５１６6は日本語に翻訳されたオブジェクト名が貼付されたもので、日本語翻訳を行う設定の場合に使用する完成済み図形データとなっている。第７〜第９の図形データ５１６7〜５１６9はオブジェクト名はまだどのクラスのオブジェクトにも対応付けられていない未完成の図形データである。
【００３６】
図８は、クラス名記憶部に格納されているオブジェクトのクラス名と対応する図形のファイルパスの例を表わしたものである。完成済み図形データファイルパス５１７と未定義図形データファイルパス５１８とからなっている。完成済み図形データファイルパス５１７ではオブジェクトのクラス名と、図７に示した第１〜第６の図形データ５１６1〜５１６6のような完成済み図形データとがそれぞれ結びつけられている。ファイルパスは英語表記および日本語表記ごとに格納されている。また、未定義図形データファイルパス５１８には、第７〜第９の図形データ５１６7〜５１６9のような未完成図形データのファイルパスが、クラス名が定義されていない（ｎｕｌｌ）状態で格納されている。
【００３７】
図９は、図３のステップＳ１０３の処理で一時記憶部に格納されたデータを表わしたものである。図５および図６に示したような解析結果が、このように一時記憶部４１１には、オブジェクトのクラス名をキーとして、フィールドのクラス名の集合、およびメソッド名の集合といったデータが格納されている。図に示すように、一時記憶部４１１はさらに、図形データ、図形データの縦横比および完成済み図形データの情報を格納する領域を持っている。この段階で、これらの情報はそれぞれ格納されていないので、詳細については後述する。
【００３８】
図１０は、図３のステップＳ１０４における図形データ変更前のＧＵＩ画面を表示した表示部を表わしたものである。表示部４２６は、オブジェクトのクラス名およびそれに対応する図形データと、これらの図形データの変更要求を受け付ける第１および第２の図形変更アイコン５１９1、５１９2とからなっている。「Ｄｉｒｅｃｔｏｒｙ」クラスおよび「Ｆｉｌｅ」クラスはぞれぞれプログラム視覚的表示装置４０１に新たに入力されたものなので、クラス名がまだ定義されていない。そのため、図形データには初期図形として図形データ記憶部４１３の未完成の図形データの１つが仮に割り当てられ表示されている状態である。
【００３９】
ユーザは操作部４２８の操作により、画面上の第１および第２の図形変更アイコン５１９1、５１９2を押し、これらの図形を適切なものに変更する。第１あるいは第２の図形変更アイコン５１９1、５１９2が押下されると、表示部４２６には図８の未定義図形データファイルパス５１８に格納されたファイルパスを利用して、図７に示した図形データ記憶部４１３の記憶するクラス名が未定義の図形データの一覧が表示されるようになっている。ユーザはその中から任意で図形データを選択することができる。
【００４０】
図１１は、図３のステップＳ１０４における図形データ変更後のＧＵＩ画面を表示した表示部を表わしたものである。このように「Ｄｉｒｅｃｔｏｒｙ」および「Ｆｉｌｅ」クラスのオブジェクトにはそれぞれユーザにより、適切な図形データが選択され、変更処理が行われる。これらの処理は、図９に示す一時記憶部４１１の「図形データ」欄にも反映されるようになっている。
【００４１】
図３に戻って説明を続ける。図形表示処理部４１４は、このように一時記憶部４１１に格納された図形表示の対象となるオブジェクトの中から１つを選択して読み出す処理を行う（ステップＳ１０５）。ここでは、ＡＢＣ順にオブジェクトが選択されるとするが、もちろん、どのような順番でもよい。そこで、まずクラス「Ｄｉｒｅｃｔｏｒｙ」オブジェクトが選択されることになる。次に、そのオブジェクトに対する図形データの縦横比が一時記憶部４１１に格納済みかどうかの判断処理を行う（ステップＳ１０６）。まだ格納されていないので（Ｎ）、図形データのサイズの縦横比を計算して、その計算値をオブジェクトのクラス名をキーとして一時記憶部４１１に記憶する処理を行う（ステップＳ１０７）。縦横比とは、オブジェクトの保持するフィールドとして保持するオブジェクトの数やそれに対応する図形によって決まる値である。たとえば、「Ｄｉｒｅｃｔｏｒｙ」オブジェクトでは、フィールドに「ｊａｖａ．ｌａｎｇ．Ｓｔｒｉｎｇ」クラスのオブジェクトと、「Ｆｉｌｅ」クラスの２つのオブジェクトを持つ。したがって、フィールドオブジェクトの総数は３である。また「Ｆｉｌｅ」オブジェクトでは、フィールドオブジェクトの総数が１である。このように総数が３および１のときは、縦横比はともに「１：１」が適当である。ただし、縦横比はフィールドオブジェクトに対応する図形データの形状にも依存する。縦横比の設定方法については、詳細を後述することにする。ステップＳ１０７で設定された縦横比は、図９に示す一時記憶部４１１の「図形データの縦横比」欄に反映されるようになっている。
【００４２】
その後、先程選択したオブジェクトのクラスに対応する完成済み図形データが存在するかどうかの判断処理を行う（図４ステップＳ１０８）。これはオブジェクトのクラスがＪＡＶＡ（登録商標）の標準ＡＰＩに含まれるか、あるいはすでに対応する図形データが自装置で定義されている場合、重複して完成済み図形データを作成する処理を避けるためである。完成済み図形データが存在すれば、図８のクラス名記憶部４１２の完成済み図形データファイルパス５１７に、一致するオブジェクトのクラス名が格納されている。この説明では、日本語への翻訳処理を行うことになっているので、完成済み図形データファイルパス５１７中の、日本語図形データのファイルパスが存在するかどうかで、完成済み図形データの存在を判断するようになっている。
【００４３】
一致するものが格納されていなければ（Ｎ）、そのオブジェクトがフィールドに保持する全オブジェクトに対する完成済み図形データが存在するかどうかの判断処理に進む（ステップＳ１０９）。「Ｄｉｒｅｃｔｏｒｙ」はクラス名記憶部４１２の完成済み図形データファイルパス５１７に記憶されたクラス名に一致しない。このため、「Ｄｉｒｅｃｔｏｒｙ」クラスのオブジェクトがフィールドに保持するオブジェクトのクラスに対して、完成済みの図形データが存在するかどうかを判断する処理に進む。フィールドに保持されるオブジェクトのクラスで「ｊａｖａ．ｌａｎｇ．Ｓｔｒｉｎｇ」は、クラス名記憶部４１２の完成済み図形データファイルパス５１７に記憶されたクラス名に一致する。一方、「Ｆｉｌｅ」は一致するクラス名が存在しない（ステップＳ１０９：Ｎ）。そこで、完成済みの図形データが定義されていないオブジェクトの中から、１つオブジェクトを選択して（ステップＳ１０５）、順次同様の処理を行う。
【００４４】
この場合、「Ｆｉｌｅ」クラスのオブジェクトが選択される。縦横比が格納されていないため（ステップＳ１０６：Ｎ）、対応する図形データの縦横比を計算する処理を行う（ステップＳ１０７）。ここでは「１：１」と計算され、この値が一時記憶部４１１に格納される。「Ｆｉｌｅ」クラスに対する完成済み図形データが存在しない（ステップＳ１０８：Ｎ）が、「Ｆｉｌｅ」クラスが保持する全オブジェクト、すなわち「ｊａｖａ．ｌａｎｇ．Ｓｔｒｉｎｇ」型オブジェクトに対する完成済み図形データは存在する（ステップＳ１０９：Ｙ）。そこで、「Ｆｉｌｅ」クラスのオブジェクトの図形データの左上にクラス名を貼付する（ステップＳ１１０）。次に、保持する全オブジェクトの図形データを内部に貼付する（ステップＳ１１１）。このとき、「Ｆｉｌｅ」型オブジェクトおよび「ｊａｖａ．ｌａｎｇ．Ｓｔｒｉｎｇ」型オブジェクトのそれぞれの図形データの縦横比をできるだけ保った状態で、両図形を伸縮させながら処理を行う。最後にメソッド名を図形の下部に貼付する（ステップＳ１１２）。クラス名およびメソッド名の貼付の際は、翻訳部４１５による翻訳処理が行われる。その後、「Ｆｉｌｅ」型オブジェクトに対する完成済み図形データを一時記憶部４１１の完成済み図形データ欄に格納する（ステップＳ１１３）。さらに、この完成済み図形データを図７の図形データ記憶部４１３に格納し、そのファイルパスをクラス名記憶部４１２の完成済み図形データファイルパス５１７に格納する（ステップＳ１１４）。これにより、「Ｆｉｌｅ」オブジェクトに対する図形データ作成処理は、２度目以降スキップされるようになる。
【００４５】
図１２は、翻訳処理の例を表わしたものである。ＪＡＶＡ（登録商標）によるプログラミングでは、クラス名やメソッド名はスペースを設けず、単語と単語の区切れは大文字で表わされるのが通常である。そこで、その規則に従って翻訳処理例５６０に示したように、まずは単語に区切る処理を行い、その後、翻訳処理を行うようにしている。
【００４６】
図４に戻って説明を続ける。プログラム視覚的表示装置４０１では、一時記憶部４１１が持つ全てのオブジェクトに対する完成済み図形データが揃ったかどうかの判断処理を行う（ステップＳ１１５）。完成済み図形データは「Ｆｉｌｅ」型オブジェクトに対するものだけなので（Ｎ）、ステップＳ１０５の処理に戻る。最初に完成済み図形データを持たないオブジェクトとして「Ｄｉｒｅｃｔｏｒｙ」が選択され（ステップＳ１０５）、このオブジェクトは図形データの縦横比がすでに一時記憶部４１１に格納されているので（ステップＳ１０６：Ｙ）、保持する全オブジェクトに対する完成済み図形データが存在するかどうかの判断処理に進む（ステップＳ１０９）。すでに「Ｆｉｌｅ」および「ｊａｖａ．ｌａｎｇ．Ｓｔｒｉｎｇ」に対する完成済み図形データが存在するので（Ｙ）、「Ｆｉｌｅ」オブジェクトと同様にクラス名の貼付（ステップＳ１１０）、図形データを内部に貼付（ステップＳ１１１）、メソッド名を内部に貼付（ステップＳ１１２）、完成済み図形データを一時記憶部に格納（ステップＳ１１３）、および完成済み図形データの図形データ記憶部への格納とそのファイルパスの格納（ステップＳ１１４）の処理が行われる。これにより、「Ｄｉｒｅｃｔｏｒｙ」オブジェクトに対する図形データ作成処理も、２度目以降スキップされるようになる。クラス名およびメソッド名貼付の際は、やはり翻訳部４１５による翻訳処理が行われる。
【００４７】
引き続き再度、一時記憶部が持つ全てのオブジェクトに対する完成済み図形データが揃ったかどうかの判断処理が行われる（ステップＳ１１５）。今回は全オブジェクトに対する完成済み図形データが存在するので（Ｙ）、これらを表示部４２６の図形描画領域に貼り付ける（ステップＳ１１６）。完成図形データは表示部４２６に出力され（ステップＳ１１７）、処理を終了する（エンド）。なお、ステップＳ１０８で完成済み図面データが存在する場合には（Ｙ）、クラス名の貼付が行われ（ステップＳ１１８）、ステップＳ１１３へと処理が進むことになる。
【００４８】
図１３は、完成図形データが出力された表示部を表わしたものである。表示部４２６には完成した「Ｄｉｒｅｃｔｏｒｙ」と「Ｆｉｌｅ」クラスのオブジェクトに対応する図形データが出力されている。
【００４９】
図１４は、全オブジェクトに対する完成済み図形データが存在するときの一時記憶部に格納されたデータを表わしたものである。図形データおよび完成済み図形データには、実際は図１に示したクラス名記憶部４１２に格納されたそれぞれの図形データへのファイルパスにつながる情報が格納されている。前述した図形データの縦横比は、基本的にその図形の内部に貼付する図形の数、つまりクラスオブジェクト保持するフィールドオブジェクトの数に応じて設定される。１つのときは「１：１」、２つのときは「１：２」あるいは「２：１」、３つのときは「１：１」として上下に３つの図形を配置するようにしてもよい。ただし、この縦横比の設定は、保持するフィールドオブジェクトに対応する図形の縦横比が「１：１」でない場合には、これに対応して変わるのが望ましい。この設定方法は、極端な設定で図形データの形が著しく損なわれない程度に、予めユーザによって決められるものとする。
【００５０】
以上説明したように、本実施例によれば、プログラムに含まれる各オブジェクトに対して、そのクラスに対応した様々な図形データを割り当てられるようにした。これにより、作成したプログラムのデータ構造を視覚的に、分かりやすく表示することができる。従来から、Ｅｃｌｉｐｓｅ（登録商標）ソフトウェアのように、プログラムをＵＭＬ表示に変換する手法は存在する。しかしながら、ＵＭＬやオブジェクト指向の知識を持たない者にとって、線や矩形のみで表現された図形から、プログラムの構造を理解するのは依然容易ではなかった。また、これらの手法では、プログラムに英語で記述されたクラス名やメソッド名を単純表記するにすぎない。したがって、英語になじみのない者にとっては、それぞれの名前から意味や役割を理解するには、翻訳作業が必要であった。ＪＡＶＡ（登録商標）ではクラス名やメソッド名に日本語を表記できる２バイトコードの文字が使用できるものの、使用されることは稀である。しかし、本実施例によれば翻訳部４１５を使用することで、クラス名およびメソッド名を自国語で翻訳表示することが可能となっている。これにより、オブジェクトの意味や役割をより理解しやすいものとして表示することができる。
【００５１】
入力部４０２および出力部４０３はそれぞれＦＤＤ４２７以外にも、メモリーカードのような記憶媒体でデータを出し入れできるものであってもよい。あるいはスキャナやプリンタのような装置で入出力できるようにしてもよい。また通信部４２９によりデータの送受信をできるようにしてもよい。また、プログラム視覚的表示装置４０１は、パーソナルコンピュータおよびその上で動作するソフトウェアとして実現することもできる。つまり、図２に示したようなＣＰＵ、ＲＯＭ、ＲＡＭ等の各部はパーソナルコンピュータが持つ既存のハードウェアにより与えられる。したがって、後はプログラム解析部４１０および図形表示処理部４１４による解析処理を行うことのできるソフトウェアがあれば、同様にプログラムの構造を視覚的に表示させることができる。
【００５２】
本実施例のプログラム視覚的表示装置４０１では、図形データ記憶部４１３に複数の互いに異なる形状の図形データが格納されているとしている。そして、フィールドのオブジェクトを表わす図形データを、これを保持するオブジェクトを表わす図形データの内部に、両図形を伸縮させながら貼付する処理を行うとしている。このように、貼付の処理を行うときに、図形データの大きさを変更するのではなく、予め複数の大きさの互いに異なる形状の図形データを図形データ記憶部４１３に格納するようにしておいてもよい。
【００５３】
＜本発明の第１の変形例＞
【００５４】
ＪＡＶＡ（登録商標）では、同じクラス名が複数存在しても、パッケージによりこれらを区別することが可能である。つまり同じクラス名でも異なるパッケージに属していれば、これらは衝突を起こさないようになっている。たとえば、「ソフトウェアベンダＡ」および「ソフトウエアベンダＢ」によって提供された２種類の「ＡｐｐｌｉｃａｔｉｏｎＳｅｒｖｅｒ」という同一名のクラスが存在する場合、これらをパッケージを用いて区別することが可能である。プログラム視覚的表示装置４０１では、このようにパッケージが異なれば、同一名のクラスに対しても別の図形を割り当てて、区別して表示させることが可能である。また、たとえばこれら２つの「ＡｐｐｌｉｃａｔｉｏｎＳｅｒｖｅｒ」クラスのオブジェクトが、フィールドにそれぞれ「ソフトウェアベンダＣ」により提供される同一のオブジェクトを含む場合がある。このように、パッケージが異なるオブジェクトに保持されていても、実質的に同一のオブジェクトに対しては、同じ図形を割り当てて表示させる。このようなパッケージの概念を持ったプログラムを例にしてプログラム視覚的表示装置４０１の動作について説明を行うことにする。
【００５５】
図１５〜図１８は、それぞれＪＡＶＡ（登録商標）で記述された第３〜第６のプログラムを表わしたものである。第３および第４のプログラム７１３、７１４はクラスが同じ「ＡｐｐｌｉｃａｔｉｏｎＳｅｒｖｅｒ」オブジェクトであるが、パッケージがそれぞれ「ｃｏｍ．ｖｅｎｄｅｒ＿Ａ」、「ｃｏｍ．ｖｅｎｄｅｒ＿Ｂ」となっている。これらはそれぞれ「ｃｏｍ．ｖｅｎｄｅｒ＿Ａ．ＡｐｐｌｉｃａｔｉｏｎＳｅｒｖｅｒ」、「ｃｏｍ．ｖｅｎｄｅｒ＿Ｂ．ＡｐｐｌｉｃａｔｉｏｎＳｅｒｖｅｒ」のようにパッケージ名とクラス名を連ねて表記することで区別される。第５および第６のプログラム７１５、７１６はそれぞれクラスが「ｃｏｍ．ｖｅｎｄｅｒ＿Ｃ．ＷｅｂＳｅｒｖｅｒ」、「ｃｏｍ．ｖｅｎｄｅｒ＿Ｃ．ＷｅｂＡｐｐｌｉｃａｔｉｏｎ」となっている。
【００５６】
これらの第３〜第６のプログラム７１３〜７１６がプログラム視覚的表示装置４０１に入力されると、図３および図４に示した処理が同様に行われ、図形表示がされるようになっている。実施例と同様の処理については省略し、図３および図４を用いて、第１の変形例におけるプログラム視覚的表示装置４０１の処理の説明を行うことにする。
【００５７】
図１９〜図２２は、それぞれ図３のステップＳ１０２のプログラム解析処理の解析結果を表わしたものである。第３〜第６のプログラム解析結果７２３〜７２６には、それぞれクラス、フィールドおよびメソッドが抽出されたものとなっている。これらの第３〜第６のプログラム解析結果７２３〜７２６は一時記憶部４１１にクラス名をキーとして格納される（図３、ステップＳ１０３）。第３〜第６のプログラム解析結果７２３〜７２６は、フィールドに「Ｆｉｌｅ」クラスのオブジェクトを含んでいる。ここでは、プログラム視覚的表示装置４０１には過去に「Ｆｉｌｅ．ｊａｖａ」を入力し、その際に「Ｆｉｌｅ」クラスに対して完成済み図形データを作成したものとして説明を行うことにする。新たにプログラム視覚的表示装置４０１に入力したプログラムが、自装置に完成済み図形データを持たないクラスのオブジェクトを含む場合は、この段階でエラーメッセージを表示部４２６に出力するか、これからの処理でクラス名だけを貼付した図形を仮に表示させて対応するようにしてもよい。
【００５８】
図２３は、図３のステップＳ１０４でＧＵＩ画面を用いた図形データ変更後の一時記憶部に格納されたデータを表わしたものである。「ｃｏｍ．ｖｅｎｄｅｒ＿Ａ．ＡｐｐｌｉｃａｔｉｏｎＳｅｒｖｅｒ」、「ｃｏｍ．ｖｅｎｄｅｒ＿Ｂ．ＡｐｐｌｉｃａｔｉｏｎＳｅｒｖｅｒ」オブジェクトにはそれぞれ異なる図形データが割り当てられている。実際には、一時記憶部４１１では、図形データの代わりにクラス名記憶部４１２に格納されたそれぞれのオブジェクトへのファイルパスにつながる情報が格納されている。
【００５９】
図２４は、図４のステップＳ１０９で全オブジェクトに対する完成済み図形データが存在するときの一時記憶部に格納されたデータを表わしたものである。「ｃｏｍ．ｖｅｎｄｅｒ＿Ｃ．ＷｅｂＡｐｐｌｉｃａｔｉｏｎ」オブジェクトは配列形式であるため、そのオブジェクトの図形データを重ねた状態がわかるようにして表示するようになっている。
【００６０】
図２５は、第１の変形例のプログラム視覚的表示装置における完成図形データが出力された表示部を表わしたものである。表示部４２６には完成した図形データがパッケージごとに２つに分けて出力されている。これは、第４のプログラム７１４に対応する完成済み図形データである。表示部４２６には、第３〜第６のプログラム７１３〜７１６に対応する図形データを１つずつ表示してもよいし、同時に表示してもよい。この第１の変形例のプログラム視覚的表示装置４０１では、パッケージの概念を含んだプログラムで、同じクラス名を含むときも、プログラム視覚的表示装置４０１により、視覚的に区別して表示することができる。
【００６１】
図２６は、図２５をＵＭＬ表記で表わしたものである。図２５と比較して、オブジェクトの保持関係が理解しにくくなっている。
【００６２】
図２７は、本発明の第１の変形例におけるプログラム視覚的表示装置を用いたプログラム視覚的表示システムの構成を表わしたものである。プログラム視覚的表示システム８００は、プログラム視覚的表示装置４０１およびこれとインターネット８０１により接続された第１〜第Ｎの端末８０２1〜８０２Nとからなっている。プログラム視覚的表示装置４０１は第１〜第Ｎの端末８０２1〜８０２Nから第１〜第Ｎのプログラム８０４1〜８０４Nと第１〜第Ｎのプログラム視覚的表示要求８０５1〜８０５Nを受信すると、その要求に対する処理をそれぞれ行って、第１〜第Ｎのプログラム視覚的表示処理結果８０６1〜８０６Nを第１〜第Ｎの端末８０２1〜８０２Nに送信するようになっている。
【００６３】
このように複数の端末から複数の処理要求を受け取って処理を行う場合は、特にクラス名の衝突が起こる可能性が高い。プログラム視覚的表示装置４０１では、パッケージによるクラス管理が行われているため、クラス名を衝突させることなく処理を行うことができる。
【図面の簡単な説明】
【００６４】
【図１】本発明の一実施例によるプログラム視覚的表示装置の構成の概要と視覚的に表示させるプログラムとを表わしたシステムの構成図である。
【図２】このプログラム視覚的表示装置の回路構成の概要を表わした構成図である。
【図３】プログラム視覚的表示装置がプログラムファイルを読み込んで図形を表示する処理の流れの前半を表わした流れ図である。
【図４】プログラム視覚的表示装置がプログラムファイルを読み込んで図形を表示する処理の流れの後半を表わした流れ図である。
【図５】プログラム解析部による第１のプログラムの解析結果を表わした説明図である。
【図６】プログラム解析部による第２のプログラムの解析結果を表わした説明図である。
【図７】図形データ記憶部に格納されている図形データファイルの例を表わした説明図である。
【図８】クラス名記憶部に格納されているオブジェクトのクラス名と対応する図形のファイルパスの例を表わした説明図である。
【図９】図３のステップ１０３の処理で一時記憶部に格納されたデータを表わした説明図である。
【図１０】図３のステップＳ１０４における図形データ変更前のＧＵＩ画面を表示した表示部の平面図である。
【図１１】図３のステップＳ１０４における図形データ変更後のＧＵＩ画面を表示した表示部の平面図である。
【図１２】翻訳処理の例を表わした説明図である。
【図１３】完成図形データが出力された表示部の平面図である。
【図１４】全オブジェクトに対する完成済み図形データが存在するときの一時記憶部に格納されたデータを表わした説明図である。
【図１５】ＪＡＶＡ（登録商標）で記述された第３のプログラムを表わした説明図である。
【図１６】ＪＡＶＡ（登録商標）で記述された第４のプログラムを表わした説明図である。
【図１７】ＪＡＶＡ（登録商標）で記述された第５のプログラムを表わした説明図である。
【図１８】ＪＡＶＡ（登録商標）で記述された第６のプログラムを表わした説明図である。
【図１９】図３のステップＳ１０２のプログラム解析部による第３のプログラムの解析結果を表わした説明図である。
【図２０】図３のステップＳ１０２のプログラム解析部による第４のプログラムの解析結果を表わした説明図である。
【図２１】図３のステップＳ１０２のプログラム解析部による第５のプログラムの解析結果を表わした説明図である。
【図２２】図３のステップＳ１０２のプログラム解析部による第６のプログラムの解析結果を表わした説明図である。
【図２３】図３のステップＳ１０４でＧＵＩ画面を用いた図形データ変更後の一時記憶部に格納されたデータを表わした説明図である。
【図２４】図４のステップＳ１０９で全オブジェクトに対する完成済み図形データが存在するときの一時記憶部に格納されたデータを表わした説明図である。
【図２５】第１の変形例のプログラム視覚的表示装置における完成図形データが出力された表示部の平面図である。
【図２６】図２５をＵＭＬ表記で表わした説明図である。
【図２７】本発明の第１の変形例におけるプログラム視覚的表示装置を用いたプログラム視覚的表示システムの構成を表わした構成図である。
【図２８】「Ｄｉｒｅｃｔｏｒｙ」クラスのオブジェクトについてＪＡＶＡ（登録商標）で記述されたプログラムを表わした説明図である。
【図２９】「Ｆｉｌｅ」クラスのオブジェクトについてＪＡＶＡ（登録商標）で記述されたプログラムを表わした説明図である。
【図３０】図２８のプログラムをＵＭＬで表記した説明図である。
【図３１】図２９のプログラムをＵＭＬで表記した説明図である。
【符号の説明】
【００６５】
２００  第１のプログラム
３００  第２のプログラム
４０１  プログラム視覚的表示装置
４０４  処理部
４１０  プログラム解析部
４１１  一時記憶部
４１２  クラス名記憶部
４１３  図形データ記憶部
４１４  図形表示処理部
４１５  翻訳部
４２１  ＣＰＵ
４２３  ＲＯＭ
４２４  ＲＡＭ
４２５  ハード・ディスク・ドライブ
４２６  表示部
４２８  操作部
４２９  通信部
５１６  図形データ
５１７  完成済み図形データファイルパス
５１８  未定義図形データファイルパス
５１９  図形変更アイコン
８００  プログラム視覚的表示システム
８０２  端末
【図１】
2006268171.tif 000003
【図２】
2006268171.tif 000004
【図３】
2006268171.tif 000005
【図４】
2006268171.tif 000006
【図５】
2006268171.tif 000007
【図６】
2006268171.tif 000008
【図７】
2006268171.tif 000009
【図８】
2006268171.tif 000010
【図９】
2006268171.tif 000011
【図１０】
2006268171.tif 000012
【図１１】
2006268171.tif 000013
【図１２】
2006268171.tif 000014
【図１３】
2006268171.tif 000015
【図１４】
2006268171.tif 000016
【図１５】
2006268171.tif 000017
【図１６】
2006268171.tif 000018
【図１７】
2006268171.tif 000019
【図１８】
2006268171.tif 000020
【図１９】
2006268171.tif 000021
【図２０】
2006268171.tif 000022
【図２１】
2006268171.tif 000023
【図２２】
2006268171.tif 000024
【図２３】
2006268171.tif 000025
【図２４】
2006268171.tif 000026
【図２５】
2006268171.tif 000027
【図２６】
2006268171.tif 000028
【図２７】
2006268171.tif 000029
【図２８】
2006268171.tif 000030
【図２９】
2006268171.tif 000031
【図３０】
2006268171.tif 000032
【図３１】
2006268171.tif 000033