(57)【特許請求の範囲】
【請求項１】
機能が異なる複数のプログラムによって作成された複数のデータを含むファイルを編集する際に前記複数のデータの各々を処理するデータ処理装置であって、
前記複数のプログラムが提供する機能および各プログラムが処理できるデータの形式を記憶する記憶手段と、
前記ファイル中の処理対象のデータを処理する候補プログラムを前記記憶手段の記憶内容に基づいて前記複数のプログラムの中から選択する選択手段と、
前記選択手段によって選択された候補プログラムが複数ある場合に、これら複数の候補プログラムの機能を比較してそれぞれに優先順位を付与する優先順位付与手段と、
前記優先順位付与手段によって付与された最優先の候補プログラムに基づいて処理対象のデータを処理するデータ処理手段とを備えたことを特徴とするデータ処理装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、データ処理装置に関し、特に機能が異なるプログラムによって作成された複数のデータを含むファイルを編集する際に該複数のデータの各々を処理するデータ処理装置に関する。
【０００２】
【従来の技術】
ドキュメントは、一般に、その構成を２つ以上の部分に分解することができる場合が多い。ドキュメントを構成する部分の代表的なものにはテキスト、グラフィックス、表などがある。このような複数の構成要素を持つドキュメントを作成する方法としては、従来、ワードプロセッサやグラフィック・ソフトウェアなどの特定の機能に特化した専用のプログラムを複数使用して各部分を作成した後でそれらを組み合わせる方法が主流であった。しかし、この場合、ドキュメントを構成する各部分とそれを作成した各アプリケーション・プログラムとが１対１で対応付けられているため、作成したアプリケーション・プログラムを用意したり、プログラムを変換しないと、ドキュメントを開くことができないという問題がある。
【０００３】
これに対して、機能の異なった複数のアプリケーション・プログラムを組み合わせた統合ソフトウェアと呼ばれる単一のプログラムでは、ドキュメントのすべての部分を作成して組み合わせることが可能である。ただし、ほとんどの統合ソフトウェアでは、装置が大きくならないように各機能が主要なものに限られ、低機能に抑えられているため、高度なドキュメントの作成には不向きである。さらに、他のアプリケーション・プログラムで作成されたドキュメントとの組合せにおいては、先述した場合と同様に、作成したアプリケーション・プログラムを用意したり、プログラムを変換しないと、ドキュメントを開くことができないという問題がある。
【０００４】
また、ドキュメントの各部分に対してそれぞれ専用の編集機能を持つプログラムを割り当て、ドキュメント上で直接各部分を編集する方法が用いられる場合もある。このような方法は、プログラムの種類やトータルのプログラム量が多くなることから高価なものとなるため、比較的高級なワークステーションの一部に採用されているに過ぎない。
【０００５】
一方、ファイルのフィールドへのアクセスに対して、それに対応付けられた処理を自動的に実行するための従来公知の方法の１つとして、例えば特開平５−１３４９１７号公報に記載されているように、ファイル内のフィールドにアクセスされた際に実行される前処理と後処理を登録しておくことにより、アプリケーション・プログラムからファイルのフィールドにアクセスするだけで対応付けられた処理を自動的に行わせるものがある。
【０００６】
【発明が解決しようとする課題】
上述したように、従来技術でも、ドキュメントやファイルの各部分とプログラムを関連付けることは可能であった。ただし、過去に作成したドキュメントの一部あるいは全部を流用して新たなドキュメントを作成するような場合は、元のドキュメントを作成したプログラムが必要となる。このような場合は、同一プログラムでなければドキュメントの各部分の再利用が極度に制限されてしまうという問題がある。別のプログラムが要求する形式にドキュメントを変換することにより、ある程度の対処は可能であるが、適切と思われる別のプログラムの選択は利用者に委ねられているのが現状である。このような問題はとりわけ元のドキュメントの作成者と新たなドキュメントの作成者が異なる場合に深刻である。
【０００７】
しかしながら、同様の機能を持つプログラムによって代用が可能である場合、その処理を自動的に行うことにより、ドキュメントの再利用の促進と利用者に課せられる負担の軽減が期待できる。そこで、本発明は、同様の機能を持つプログラムによって代用できる処理が存在する場合のドキュメント再利用の促進と利用者の負担軽減を可能としたデータ処理装置を提供することを目的とする。
【０００８】
【課題を解決するための手段】
本発明によるデータ処理装置は、機能が異なる複数のプログラムによって作成された複数のデータを含むファイルを編集する際に該複数のデータの各々を処理するデータ処理装置であって、複数のプログラムが提供する機能および各プログラムが処理できるデータの形式を記憶する記憶手段と、ファイル中の処理対象のデータを処理するプログラムを記憶手段の記憶内容に基づいて複数のプログラムの中から選択する選択手段と、この選択手段によって選択された候補プログラムが複数ある場合に、これら複数の候補プログラムの機能を比較してそれぞれに優先順位を付与する優先順位付与手段と、この優先順位付与手段によって付与された最優先の候補プログラムに基づいて処理対象のデータを処理するデータ処理手段とを備えた構成となっている。
【０００９】
【作用】
上記構成のデータ処理装置において、処理対象のデータとそのデータに適用される命令を受け取ると、選択手段は複数のプログラムの中から、使用可能なものを記憶手段に記憶されている複数のプログラムが提供する機能および各プログラムが処理できるデータの形式に基づいて選択する。このとき、優先順位付与手段は、選択された候補プログラムが複数ある場合に、これら複数の候補プログラムの機能を比較してそれぞれに優先順位を付与する。これにより、処理対象のデータに対しその処理に最適と思われるプログラムを、複数のプログラムの中から特定できる。データ処理手段は、この特定された最優先の候補プログラムにしたがって処理対象のデータを処理する。
【００１０】
【実施例】
以下、本発明の一実施例について図面を参照しつつ詳細に説明する。
【００１１】
図１は、本発明の一実施例を示すブロック図である。なお、本実施例においては、機能が異なる複数のプログラムを機能毎に分類される理論的なシステムとしてグループ化し、その１つのグループが例えば３つのプログラムＡ，Ｂ，Ｃを管理する場合を例にとって説明する。このグループは、それ自身が実行環境上で単一のプログラムとして認識される形態で実現される。本実施例に係るデータ処理装置は、機能が異なるプログラムによって作成された複数のデータを含むファイル（図示せず）を編集する際のデータ処理に適用されるものである。
【００１２】
その機能を実現するために、機能が異なる３つのプログラムを格納したプログラム格納部１と、外部から供給される命令を受け取りその命令を実行するために必要となる機能あるいは複数の機能の組合せを特定するための命令解釈部２と、プログラム格納部１に格納されているプログラムの中から使用可能なプログラムの候補を選択するための候補選択部３と、候補として選択されたプログラムの中から実際に使用するプログラムを決定するために候補プログラムのそれぞれに対して優先順位を付与するための優先順位決定部４と、選択したプログラムとの間でデータの受け渡しを行い処理結果を要求先に返すためのデータ処理部５と、このデータ処理部５に含まれデータの受け渡しの際に必要に応じてデータを妥当な形式に変換するための形式変換部６とが設けられている。
【００１３】
また、候補プログラムを選択するための情報として、機能とそれを提供するプログラムとを結び付け、さらにそのプログラムの選択の基準として使用できる任意の情報を保持するタグを含む記憶手段としての機能／プログラムデータベース７が設けられている。すなわち、機能／プログラムデータベース７は、プログラムとそれが提供する機能とプログラムが処理できるデータの形式とプログラムの処理結果のデータ形式に関する詳細情報を管理する。候補選択部３は、この機能／プログラムデータベース７の管理内容を参照しつつ命令解釈部２によって特定された必要機能をすべて提供し且つ現時点において使用することができるプログラムの候補をプログラム格納部１に格納されているプログラムの中から選択する。
【００１４】
さらに、以前に必要となった機能およびそれを実現するために使用したプログラムを記憶しておき、将来において同様の候補プログラムを選択する場合に可能な限り簡単な処理で候補プログラムを得るために活用することを目的とした優先順位表を格納する優先順位格納部８と、適当な候補プログラムが見つからない場合や複数の候補プログラムの中から使用するプログラムを１つに特定することが不可能あるいは困難な場合に使用する利用者指定順位表を格納する利用者指定順位表格納部９とが設けられている。優先順位格納部８に格納されている優先順位表は、候補プログラムの選択実行時に更新可能となっている。
【００１５】
また、利用者指定順位表格納部９に格納された利用者指定順位表は、利用者がプログラムの優先順位を任意の時点で指示できるようになっている。優先順位決定部４は、優先順位表および利用者指定順位表の少なくとも一方を用いて、候補プログラムのそれぞれに対して優先順位を付与する。すなわち、機能／プログラムデータベース７の検索結果から、処理対象のデータに対してどの程度の処理が可能であるかを考慮しつつ、同等の優先順位を持つ候補プログラムに対しては利用者による指示を加える。
【００１６】
なお、本実施例においては、形式変換部６をデータ処理部５の内部に設ける構成としたが、形式変換部６については必ずしもグループ内部で実現する必要はなく、汎用のデータ形成変換プログラム１０を利用して実現する構成とすることも可能である。
【００１７】
次に、上記構成のデータ処理装置における処理手順について、図２および図３のフローチャートにしたがって説明する。なお、図２および図３のフローチャートにおいて、ステップＳ１，Ｓ２の各処理は命令解釈部２、ステップＳ３〜Ｓ１０の各処理は候補選択部３、ステップＳ１１〜Ｓ１３の各処理は優先順位決定部４、ステップＳ１４〜Ｓ１９の各処理はデータ処理部５によってそれぞれ実行される。
【００１８】
命令解釈部２は、利用者あるいは外部のプログラムから命令およびデータを受け取ると（ステップＳ１）、命令を実行するために必要となる機能あるいは複数の機能の組合せを特定するためにその命令を解釈する（ステップＳ２）。次に、候補選択部３は、機能／プログラムデータベース７を参照することによって命令の実行に必要な機能およびその機能を実現しているプログラムを検索し（ステップＳ３）、当該機能が機能／プログラムデータベース７に登録されているか否かを判断する（ステップＳ４）。
【００１９】
そして、少なくとも１件でも登録されていれば、それを候補プログラムとして選択する（ステップＳ５）。登録されていない場合は、利用者に新たにプログラムを登録するか否かを問い合わせ（ステップＳ６）、利用者によって新たにプログラムが登録された場合には、その登録プログラムを候補プログラムとして選択する（ステップＳ７）。また、登録を拒否された場合は、処理の続行が不可能であるためエラーによって処理を中断する（ステップＳ８）。続いて、得られた候補プログラムの中から使用可能なプログラムのみを選択し（ステップＳ９）、この時点で候補プログラムの数を確認し（ステップＳ１０）、その数が“０”であれば、ステップＳ６に戻って利用者の指示を求める。
【００２０】
１つ以上の候補プログラムが得られた場合は、優先順位決定部４は、それらの候補プログラムの機能を比較し、それぞれに優先順位を付与する（ステップＳ１１）。そして、複数の候補プログラムを１つに特定可能であるか否かを判断する（ステップＳ１２）。このとき、最優先の候補プログラムが複数個存在し、１つに特定することが不可能あるいは困難である場合は利用者の指示によって特定する（ステップＳ１２）。候補プログラムが１つに特定されると、データ処理部５は、形式変換が必要であるか否かを判断し（ステップＳ１４）、選択したプログラムの要求するデータ形式と処理対象のデータ形式が異なる場合はデータ形式変換を行う（ステップＳ１５）。
【００２１】
そして、選択したプログラムを起動し、変換したデータと命令を与えることによって当該プログラムによる編集等の処理を行う（ステップＳ１６）。選択したプログラムによる処理が終了すると、その処理後のデータに対して形式変換が必要である否かを判断し（ステップＳ１７）、変換が必要であれば、データ形式を変換し（ステップＳ１８）、しかる後要求元にデータを出力する（ステップＳ１９）。以上の動作説明から明らかなように、アプリケーション・プログラムを機能別にグループ化することで、各グループはそれ自身単一のプログラムのように振る舞うことができる。
【００２２】
上述したように、同様の機能を提供する２つ以上のプログラムをグループとして統一的に扱うようにしたことにより、機能単位でプログラムを扱うことが可能となるので、処理対象のデータを作成したプログラムが何らかの理由によって使用できない場合でも、特別な操作をしなくても自動的に代替のプログラムを実行して処理を進めることができる。したがって、ドキュメントの一部分を利用して新たなドキュメントを作成する場合などに有効となる。また、新しいプログラムをグループに登録するだけで直ちにそれが利用可能となるため、処理対象のデータと処理プログラムを対応させる利用者の負担も軽減される。
【００２３】
【発明の効果】
以上説明したように、本発明によれば、機能が異なる複数のプログラムによって作成された複数のデータを含むファイルを編集する際に各データを処理するデータ処理装置において、複数のプログラムが提供する機能および各プログラムが処理できるデータの形式を記憶しておき、この記憶内容を参照しつつ処理対象のデータを処理するプログラムを複数のプログラムの中から選択するとともに、選択した候補プログラムが複数ある場合に、これら複数の候補プログラムの機能を比較してそれぞれに優先順位を付与し、最優先の候補プログラムに基づいてデータ処理する構成としたことにより、同様の機能を持つプログラムによって代用が可能である場合、その処理を自動的に行うことができるので、ドキュメントの再利用を促進できるとともに、利用者に課せられる負担を軽減できることになる。
【図面の簡単な説明】
【図１】  本発明の一実施例を示すブロック図である。
【図２】  データ処理の手順を示すフローチャート（その１）である。
【図３】  データ処理の手順を示すフローチャート（その２）である。
【符号の説明】
１  プログラム格納部
２  命令解釈部
３  候補選択部
４  優先順位決定部
５  データ処理部
７  機能／プログラムデータベース
８  優先順位表格納部
９  利用者指定優先順位表格納部
【図１】
0003637606.tif 000002
【図２】
0003637606.tif 000003
【図３】
0003637606.tif 000004