JP2010157004A - 情報編集支援装置、方法及びプログラム - Google Patents

情報編集支援装置、方法及びプログラム Download PDF

Info

Publication number
JP2010157004A
JP2010157004A JP2008333287A JP2008333287A JP2010157004A JP 2010157004 A JP2010157004 A JP 2010157004A JP 2008333287 A JP2008333287 A JP 2008333287A JP 2008333287 A JP2008333287 A JP 2008333287A JP 2010157004 A JP2010157004 A JP 2010157004A
Authority
JP
Japan
Prior art keywords
information
property
arrangement
class
editing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2008333287A
Other languages
English (en)
Inventor
Akira Hosokawa
晃 細川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2008333287A priority Critical patent/JP2010157004A/ja
Priority to US12/561,444 priority patent/US20100169760A1/en
Publication of JP2010157004A publication Critical patent/JP2010157004A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • G06F9/4492Inheritance

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】1つ以上のプロパティを有するクラスのプロパティ値を編集する際に、ユーザの意図を考慮した柔軟な配置でプロパティ列を表示可能にする情報編集支援技術を提供する。
【解決手段】操作情報抽出部105は、入力受付部102が入力を受け付けた各種操作の内容を抽出し、所定の種類の操作に関する操作情報を生成してこれを操作対象のクラスと対応付けて操作情報記憶部106に記憶させる。配置情報生成部107は、操作情報を用いて、プロパティ列の配置を決定し、当該配置を示す配置情報を生成してこれを操作対象のクラスと対応付けて配置情報記憶部108に記憶させる。表示データ生成部104は、配置情報によって示される配置で、操作対象のクラスの有するプロパティ列を表示装置101に表示させるための表示データを生成する。
【選択図】図2

Description

本発明は、情報編集支援装置、方法及びプログラムに関する。
オブジェクト指向では、クラスを構成要素とする階層構造を有し、当該階層構造において下位のクラスが上位のクラスのプロパティを継承する仕組みを有する。各クラスには、当該クラスの実体を表すデータが対応付けられており、一般に個々のデータをインスタンスと呼ぶ。インスタンスは、クラスが有するプロパティとその値とのペアを最小要素として、そのペアの組み合わせでデータとして表現される。
工業製品や部品の電子カタログに関する国際規格であるISO13584(PLIB)もオブジェクト指向的に下位のクラスが上位のクラスのプロパティを継承するデータ構造を有する。PLIBでは、ユニークなIDを表す「BSUコード」や「推奨名称」などクラス及びプロパティのスキーマが定義されており、これらに従って各クラスや各プロパティのメタデータが記述される。このようにして記述されたクラス及びプロパティの情報は辞書と呼ばれ、この辞書に従ってカタログが記述される。
ユーザがクラスのインスタンスを編集したり閲覧したりする場合、その一覧性や操作性の観点から、列毎に各種のプロパティが配置され行毎に各列にインスタンスを配して対応するプロパティの値であるインスタンスが記述される複数のプロパティ列からなる表を、インタフェースとして表示する場合が多い。特に、記述や閲覧するインスタンスの数が多くなるほど、その利点は大きくなる。ここで、各列はプロパティのIDなど互いを一意に識別できるものを見出し、さらにプロパティの名称やデータ型などの付加情報を含めるなどして構成される。
上述のISO13584でも、その分冊であるISO/TS13584-35で、複数のプロパティ列からなる表形式のインタフェースが規格化されている。ISO/TS13584-35では、メタデータやスキーマを記述するヘッダセクションと、スキーマに従って値を記述するデータセクションとから構成されるシートで、辞書やインスタンスを表現する。ここで、ヘッダセクションの各列には、各列を識別するための見出しとして少なくともプロパティのIDが付与される。
一般に、複数のプロパティ列からなる表をインタフェースとしてデータを表示するアプリケーションでは、列の配置が物理的又は論理的に制限されていない限り、ユーザはデータの編集前、編集中及び編集後のそれぞれの過程で自由に列の配置を変更することができる。この時、ユーザはポインティングデバイスなどを利用して列全体をドラッグし、所定の位置にドロップする。また、一部のアプリケーションでは列の「切り取り」や「貼り付け」で、同様のオペレーションを実現している。ここで、いくつかのアプリケーションでは、1度のオペレーションで複数の列を移動することができる。この場合、いくつかのアプリケーションでは、物理的に離れた位置に表示される列を選択することができる。これにより、値を直接編集する列や関連する他の列を編集の過程で表示領域に適宜移動することで、画面を何度もスクロールするなどのオペレーションが不要になる。このため、ユーザの負担を減らすことができ、操作効率の大幅な向上が期待できる。
列の配置が物理的又は論理的に規定されていない場合、ファイルやデータベースなどで永続化されたデータを読み込んで複数のプロパティ列からなる表で表示する際に、何らかの方法で配置が決定される。例えば、表計算アプリケーションでファイルからデータを読み込んだ場合には、ファイル中の物理的な位置情報を利用して、データが表示される。しかしながら、この配置はユーザにとって必ずしも最適なものとは限らない。例えば、プロパティの識別子の昇順による配置など、固定的な配置で表示した場合、ユーザはデータを表示する度に、その操作の効率化のために参照するプロパティの列を所望の位置に移動する必要があるという問題点がある。また、ワークフロー中で多数のユーザがデータを順次編集していく場合、前のユーザが編集した状態が次のユーザに引き継がれることが多い。この時、ユーザの操作内容ごとに直接編集するプロパティや参照するプロパティが異なると、散在するプロパティを所望の位置に再配置する必要が生じる、という問題点がある。
これに対して、例えば特許文献1では、ユーザがクラス毎に参照するプロパティ及びその配置を設定することで、当該クラスのインスタンスの表示に所望の列の配置を適用する方法が提案されている。しかしながら、特許文献1においては、プロパティの数が増加するほどその操作が煩雑になるという問題点がある。また、ユーザがプロパティの選択や構成を明示的に決定する必要があるため、実際の操作内容をよく理解したユーザ以外には、操作効率の向上のための設定を行うことが難しいという問題点がある。一方、特許文献2では、プロパティに対するアクセス回数を記録し、アクセス回数の大きなものから順に配置する方法が提案されている。
特開2004−177996号公報 特開2000−322260号公報
しかしながら、特許文献2においては、個々のプロパティのアクセスにのみ着目したものであるため、プロパティの値であるインスタンスの編集に際して関連する他のプロパティが存在しても、参照先のプロパティの表示位置をユーザが探し出す必要があるという問題点がある。また、ユーザが行う列の移動操作による配置の変更を考慮していないため、ユーザの意図を考慮した柔軟な配置を行うことが難しいという問題点がある。
本発明は、上記に鑑みてなされたものであって、1つ以上のプロパティを有するクラスのプロパティ値を編集する際に、ユーザの意図を考慮した柔軟な配置でプロパティ列を表示することを容易に実現可能な情報編集支援装置、方法及びプログラムを提供することを目的とする。
上述した課題を解決し、本発明は、1つ以上のプロパティを有するクラスについて、当該クラスのインスタンスデータを編集する手段として、当該プロパティをヘッダとし、当該プロパティの値であるプロパティ値をデータとする複数のプロパティ列からなるインスタンスデータを表示するための情報編集支援装置であって、ユーザの操作の入力を受け付ける入力受付部と、入力が受け付けられた前記操作が前記プロパティ値の編集に関する操作及び参照に関する操作のうち少なくとも一方の操作である場合、当該操作に関連する操作情報を当該操作に関連するプロパティが属するクラスと対応付けて生成する操作情報生成部と、前記操作情報を用いて前記クラスの有する各プロパティの値がプロパティ毎に並ぶ各プロパティ列の配置を決定する配置決定部と、決定された各プロパティ列の配置を示す配置情報を生成する配置情報生成部と、前記配置情報を前記クラスと対応付けて記憶する配置情報記憶部と、前記配置情報に基づいて、前記クラスの有する前記プロパティ列を表示させるための表示データを生成する表示データ生成部とを備えることを特徴とする。
また、本発明は、1つ以上のプロパティを有するクラスについて、当該クラスのインスタンスデータを編集する手段として、当該プロパティをヘッダとし、当該プロパティの値であるプロパティ値をデータとする複数のプロパティ列からなるインスタンスデータを表示するための情報編集支援装置で実行される情報編集支援方法であって、前記情報編集支援装置は、入力受付部と、操作情報生成部と、配置決定部と、配置情報生成部と、配置情報記憶制御部と、表示データ生成部とを備え、前記入力受付部が、ユーザの操作の入力を受け付ける入力受付ステップと、前記操作情報生成部が、入力が受け付けられた前記操作が前記プロパティ値の編集に関する操作及び参照に関する操作のうち少なくとも一方の操作である場合、当該操作に関連する操作情報を当該操作に関連するプロパティが属するクラスと対応付けて生成する操作情報生成ステップと、前記配置決定部が、前記操作情報を用いて前記クラスの有する各プロパティの値がプロパティ毎に並ぶ各プロパティ列の配置を決定する配置決定ステップと、前記配置情報生成部が、決定された各プロパティ列の配置を示す配置情報を生成する配置情報生成ステップと、前記配置情報記憶制御部が、前記配置情報を前記クラスと対応付けて第2記憶部に記憶させる順序記憶制御ステップと、前記表示データ生成部が、前記配置情報に基づいて、前記クラスの有する前記プロパティ列を表示させるための表示データを生成する表示データ生成ステップとを含むことを特徴とする。
また、本発明は、プログラムであって、上記の情報編集支援方法をコンピュータに実行させる。
本発明によれば、1つ以上のプロパティを有するクラスのプロパティ値を編集する際に、ユーザの意図を考慮した柔軟な配置でプロパティ列を表示することが可能になる。
以下に添付図面を参照して、この発明にかかる情報編集支援装置、方法及びプログラムの最良な実施の形態を詳細に説明する。
[実施の形態]
(1)構成
まず、本実施の形態にかかる情報編集支援装置のハードウェア構成について説明する。図1は、本実施の形態において情報編集支援装置として機能するクライアント端末100のハードウェア構成を例示する図である。クライアント端末100は、装置全体を制御するCPU(Central Processing Unit)等の制御部101と、各種データや各種プログラムを記憶するROM(Read Only Memory)104やRAM105(Random Access Memory)等の記憶部と、各種データや各種プログラムを記憶するHDD(Hard Disk Drive)やCD(Compact Disk)ドライブ装置等の外部記憶部107と、これらを接続するバス108とを備えており、通常のコンピュータを利用したハードウェア構成となっている。また、クライアント端末100には、情報を表示する表示部103と、ユーザの指示入力を受け付けるキーボードやマウス等の操作部102と、外部装置の通信を制御する通信I/F(interface)とが有線又は無線により各々接続される。
次に、このようなハードウェア構成において、クライアント端末100のCPUが記憶装置や外部記憶装置に記憶された各種プログラムを実行することにより実現される各種機能について具体的に説明する。図2は、クライアント端末100の機能的構成を例示する図である。クライアント端末100は、入力受付部102と、辞書記憶部103と、表示データ生成部104と、操作情報抽出部105と、操作情報記憶部106と、配置情報生成部107と、配置情報記憶部108とを有する。これらの各部のうち、入力受付部102と、表示データ生成部104と、操作情報抽出部105と、配置情報生成部107とは、制御部101のプログラム実行時にRAM105などの記憶部上に生成されるものである。辞書記憶部103と、操作情報記憶部106と、配置情報記憶部108とは、例えば外部記憶部107に記憶されるものである。
辞書記憶部103は、上述したクラスを構成要素とする階層構造を有し、クラスの階層及び各クラスが有するプロパティを特定可能に示す辞書情報を記憶している。辞書情報は、具体的には、少なくともクラス間の階層関係を情報として示すクラステーブルと、少なくとも各クラスが有し且つその上位のクラスが有さないプロパティをクラス毎に対応付けた情報を示すプロパティテーブルとを含む。尚、各クラスには、当該クラスを一意に識別可能なクラスIDが付与されており、各プロパティには、当該プロパティを一意に識別可能なプロパティIDが付与されている。
図3は、クラスを構成要素とする階層構造を概念的に例示する図である。図3では、各クラスにはC01からC06までの各クラスIDが各々付与されており、クラスC01からクラスC06までの6個のクラスで階層構造が構成されていることが示されている。それぞれのクラスは、上位である親クラスを矢印の先端とする実線の矢印で結ばれている。図3では、各クラスで1個から3個のプロパティが定義され、その場で利用されていることが示されている。例えば、クラスC01では2つのプロパティP01とP02とが定義され、その場で利用が開始されている。同様に、クラスC02では3つのプロパティP03とP04とP05とが定義されて、その場で利用が開始されている。オブジェクト指向に従い、上位のクラスが有するプロパティは下位のクラスに継承されている。例えば、クラスC02はクラスC01が有するプロパティP01とP02を継承して有している。同様に、クラスC03はクラスC02が有するプロパティP01からP05を継承して有している。
図4は、図3に例示した階層構造に応じて、辞書記憶部103で辞書情報として記憶されるクラステーブル301及びプロパティテーブル302を例示する図である。同図に示されように、クラステーブル301は、クラス毎に当該クラスのクラスIDと当該クラスの直上のクラスである親クラスのクラスIDとを対応付けて記憶する。プロパティテーブル302は、プロパティ毎に当該プロパティのプロパティIDと当該プロパティを定義し、かつ利用を開始するクラスのクラスIDとを対応付けて記憶する。尚、同図において、プロパティテーブル302では、上位のクラスから継承されるプロパティを省略しているが、クラステーブル301から得られるクラス間の階層関係とプロパティテーブル302とから、継承されるプロパティを特定することができる。例えば、クラスC02の有するプロパティはP03〜P05であることがプロパティテーブル302によって特定することができ、クラスC02の親クラスはC01であることがクラステーブル301によって特定することができる。そして、クラスC01の有するプロパティは、P01〜P02であることがプロパティテーブル302によって特定することができる。従って、クラスC02の有するプロパティは、P01〜P05であることが特定できる。このようにして、クラステーブル301及びプロパティテーブル302によって、図3に例示した階層構造を完全に特定することができる。
図2の説明に戻る。入力受付部102は、入力装置を介して各種操作の入力を受け付ける。また、入力受付部102は、入力装置を介して、操作対象のクラスを指定する入力を受け付ける。操作情報抽出部105は、入力受付部102が入力を受け付けた各種操作の内容を抽出して、所定の種類の操作に関連するプロパティに対する操作情報を生成してこれを、操作対象のクラスのクラスIDと対応付けて操作情報記憶部106に記憶させる。所定の種類の操作とは、プロパティの値であるプロパティ値の編集及びプロパティ値の参照のうち少なくとも一方に関する操作である。操作情報記憶部106は、操作情報抽出部105が生成した操作情報を操作対象のクラスと対応付けて記憶する。尚、所定の種類の操作及び操作情報の詳細については後述の動作欄で説明する。配置情報生成部107は、操作情報記憶部106に記憶された操作情報を用いて、ユーザの操作よって行われ得るプロパティ値の編集及びプロパティ値の参照のうち少なくとも一方に応じて、操作対象のクラスの有するプロパティの値がプロパティ毎に並ぶ各プロパティ列の配置を決定する。そして、配置情報生成部107は、決定した配置を示す配置情報を生成してこれを、操作対象のクラスと対応付けて配置情報記憶部108に記憶させる。配置情報記憶部108は、配置情報生成部107が生成した配置情報を、操作対象のクラスと対応付けて記憶する。
表示データ生成部104は、操作対象のクラスの有するプロパティのプロパティ列を表示装置101に表示させる際に、当該クラスの配置情報が配置情報記憶部108に記憶されているか否かに基づいて、当該クラスの有するプロパティ列の配置を決定し、辞書記憶部103に記憶された辞書情報を用いて、決定した配置で当該クラスの有する全部又は一部のプロパティ及び当該プロパティの値であるインスタンスを表示装置101に表示させるための表示データを生成する。具体的には、配置情報記憶部108に当該クラスの配置情報が記憶されている場合は、表示データ生成部104は、当該配置情報によって示される配置を、各プロパティ列を表示する際の配置として決定する。配置情報記憶部108に当該クラスの配置情報が記憶されていない場合は、表示データ生成部104は、所定の方法又は任意の方法により当該プロパティ列の配置を決定する。その後表示データ生成部104は、いずれかの場合において決定した配置で当該プロパティ列を表示装置101に表示させるための表示データを生成する。表示データの生成については、具体的には、表示データ生成部104は、辞書記憶部103に記憶された辞書情報を用いて、当該クラスの有するプロパティ及びインスタンスを示すインスタンステーブルを生成し、このインスタンステーブルにおいて示される一部又は全部のプロパティ列を表示装置101に表示させるための表示データを生成する。
図5は、インスタンステーブルを例示する図である。図5においては、図3に例示したクラスC03を操作対象として、当該クラスC03のインスタンスを編集するためのインスタンステーブルが例示されている。同図に示されるように、クラスC03が有するプロパティP01からP07までが順に列として配置されている。また、同図に示されるように、プロパティ値が入力されるセルが空白の場合、この値は「NULL」として解釈される。尚、以降、同図に示される各プロパティに対応する各列であり行毎にプロパティ値が示される各列がプロパティ列である。
尚、インスタンステーブルは、プロパティ列の項目として、プロパティ列を識別するためのプロパティID以外に、人やコンピュータが利用するメタデータを暗黙的又は明示的に含んでいても良い。たとえば、図5の例では、2行目に、リレーショナルデータベースで一般的に利用されているテーブル制御用の情報がヘッダとして付与されている。テーブル制御用の情報としては、例えば、「KEY」キーワード(キー情報)と、「UNIQUE」キーワード(一意性制約)と、「NOT NULL」キーワード(「NOT NULL」制約)とがある。「KEY」キーワードは、インスタンステーブル内の各行に記述されるインスタンスと他の行に記述されるインスタンスとの識別に用いるプロパティを規定するものであり、インスタンステーブルごとに複数の「KEY」プロパティを設定することができる。「UNIQUE」キーワードは、これが設定されたプロパティの各行の値が当該プロパティの他の行の値であるインスタンスと重複しないことを規定するものである。「NOT NULL」キーワードは、各インスタンスに対して、これが設定されたプロパティの値が必須であることを規定するものである。但し、テーブル制御のために記述するキーワードや種類や用途はこれに限るものではなく、他の様々な情報を記述しても良い。また、テーブル制御の他に様々な情報を示すようインスタンステーブルを構成しても良い。また、本実施の形態にかかるクライアント端末100ではインスタンステーブルによって示される情報の管理形態は限定されず、例えば、情報を個々のファイルに直接設定したり、サーバなどに登録することで複数のアプリケーションで情報を共有したりしても良い。また、クラスの継承関係を利用して上位のクラスに設定された情報を下位のクラスが参照して利用しても良い。
図6は、図5に例示されたインスタンステーブルの一部であり、表示装置101の画面に実際に表示される範囲である表示範囲G1を例示する図である。この例では、インスタンステーブルにおいて示されるプロパティ列のうち、プロパティP01〜P03までが一画面の表示範囲G1として同時に表示されることが示されている。なお、この例は、クラスC03の配置情報が配置情報記憶部108に記憶されていない場合に、表示データ生成部104が図6の通りプロパティIDの昇順で各プロパティ列を表示させるために生成した表示データによって画面に表示される例である。また、ここでは、インスタンスが一つも登録されていないため、プロパティIDとテーブル制御情報で構成されるヘッダ以外の情報は表示されていないことが示されている。
(2)動作
次に、本実施の形態にかかるクライアント端末100の行う処理の手順について説明する。本実施の形態においては、図5に例示したクラスC03のインスタンステーブルにおいて示される一部のプロパティ列を表示装置101に表示させて、インスタンスを編集する操作がユーザにより行われる場合を例にして説明する。この場合、まず、操作対象のクラスとしてクラスC03が入力装置を介して指定される。クライアント端末100は、操作対象のクラスC03の指定の入力を受け付けると、当該クラスC03のインスタンステーブルにおいて示される一部のプロパティ列を表示装置101に表示させるべく、表示データ生成部104の機能により、辞書記憶部103に記憶されている辞書情報を用いて当該クラスC03のインスタンステーブルにおいて示される一部のプロパティ列を表示装置101に表示させるための表示データを生成してこれを記憶装置上にロードする。その際に、クライアント端末100は、操作情報を生成する操作情報抽出処理を行い、生成された操作情報を用いて配置情報を生成する配置情報生成処理を行う。その後、クライアント端末100は、クラスC03のインスタンステーブルにおいて示される一部のプロパティ列を表示装置101に改めて表示させる際に、配置情報生成処理で生成した配置情報を用いた表示を行うことができる。
ここで、まず、操作情報抽出処理の手順について図7を用いて説明する。操作情報抽出部105の機能により、クラスC03に対応付けられた配置情報が配置情報記憶部108に記憶されているか否かを確認する(ステップS601)。ここで、クラスC03に対応付けられた配置情報が記憶されていない場合は(ステップS602:no)、クライアント端末100は、処理を継続して、ステップS603に進む。ここでは、クラスC03に対応付けられた配置情報が配置情報記憶部108に記憶されていないとして以降の説明を続ける。尚、クラスC03に対応付けられた配置情報が記憶されている場合は(ステップS602:yes)、クライアント端末100は、処理を終了する。そして、クライアント端末100は、クラスC03に対応付けられた配置情報に示される配置でクラスC03のインスタンステーブルにおいて示される一部のプロパティ列を表示装置101に表示させるための表示データを生成してこれを記憶装置上にロードすることになる。
ステップS603では、クライアント端末100は、表示データ生成部104の機能により、クラスC03のインスタンステーブルにおいて示される一部のプロパティ列を表示するための表示データをロードしたとき、配置情報生成部107の機能により、その時点のプロパティ列の配置を示す配置情報を生成してこれを配置情報記憶部108に記憶させる。更に、クライアント端末100は、当該表示データをロードした時点で表示装置101に表示されている表示範囲を抽出し、当該表示範囲内に表示されるプロパティ列に対応するプロパティIDをRAMなどの記憶装置に記憶させる(ステップS604)。
次に、クライアント端末100は、操作情報抽出部105の機能により、表示装置101上でユーザがインスタンスを編集する際に行う各種操作のうち、所定の種類の操作について当該操作を示す操作情報を生成しこれを操作情報記憶部106に記憶する(S605)。図8は、操作情報を生成する処理の詳細な手順を示すフローチャートである。表示装置101に表示されたインスタンステーブルにおいて示される一部のプロパティ列に対して、ユーザが入力装置を介して各種操作を行うと、クライアント端末100は、入力受付部102の機能により、当該操作の入力を受け付け、操作情報抽出部105の機能により、当該操作の内容を抽出し(ステップS701)、当該操作の種類を判定する(ステップS702)。ここで、クライアント端末100は、操作の種類が、所定の種類の操作であるか否かを判定することになる。所定の種類の操作には、プロパティ値の編集に関する操作として、以下に説明するように、プロパティ値の編集の操作自体があり、プロパティ値の参照に関する操作として、プロパティ列の移動及び表示範囲の変更の各操作がある。
操作の種類が、プロパティ列の移動である場合(ステップS702:move)、即ち、あるプロパティ列を他のプロパティ列間に挿入することにより当該プロパティ列を移動させてその配置を変更するものである場合、クライアント端末100は以下の処理を行う。クライアント端末100は、移動した全てのプロパティ列についてのプロパティIDの順列と、あるプロパティ列が挿入された前後の各プロパティ列についての各プロパティIDと、移動後に表示装置101に表示されるプロパティ列についてのプロパティIDとを示す操作情報を生成してこれを操作対象のクラスC03と対応付けて操作情報記憶部106に記憶させる(ステップS703)。その後クライアント端末100は、次の操作が入力されるまで待機する。尚、あるプロパティ列が挿入される位置が特定できる場合は、クライアント端末100は、あるプロパティ列が挿入された前後の各プロパティ列については、前後の各プロパティ列の両方ではなく、前及び後ろのいずれか一方のプロパティ列についてのプロパティIDを示すように操作情報を生成するようにしても良い。
図9は、図6に例示したクラスC03のインスタンステーブルにおいて、プロパティP04,P05の2つのプロパティ列を、プロパティP01,P02のプロパティ列間に移動させた場合の表示範囲G2を例示する図である。図9の例では、プロパティP4,P5の各プロパティ列の移動により表示装置101に表示される表示範囲G2内のプロパティ列はP01とP04とP05とになる。この場合、ステップS703では、クライアント端末100は、移動した全てのプロパティ列についてのプロパティIDの順列としてP04,P05と、プロパティP04,P05の各プロパティ列が挿入された直前および直後のプロパティ列の各プロパティIDであるP01,P02と、移動後に表示装置101に表示されるプロパティ列についてのプロパティIDであるP01,P04,P05とを示す操作情報を生成してこれを操作対象のクラスC03と対応付けて操作情報記憶部106に記憶させる。
一方、操作の種類が、プロパティ値を編集するものである場合(ステップS702:edit)、クライアント端末100は、値を編集したプロパティのプロパティIDを抽出し、当該プロパティIDと、編集した値の行とを示す操作情報を生成してこれを操作対象のクラスC03と対応付けて操作情報記憶部106に記憶させる(ステップS704)。その後クライアント端末100は、次の操作が入力されるまで待機する。
図10は、図9の例でプロパティP01,P04,P05の1行目及び2行目の各プロパティ値を編集した場合の表示範囲G3を例示する図である。同図においては、プロパティP01,P04,P05の各々について1行目及び2行目に編集された値が示されている。この場合、ステップS704では、クライアント端末100は、値を編集したプロパティのプロパティIDとしてP01,P04,P05を抽出し、当該P01,P04,P05と、編集したプロパティ値の行である「1行目」及び「2行目」とを示す操作情報を生成してこれを操作対象のクラスC03と対応付けて操作情報記憶部106に記憶させる。
また、操作の種類が、プロパティ列の表示範囲を変更するものである場合(ステップS702:scroll)、即ち、インスタンステーブルにおける列方向にスクロールすることにより表示対象のプロパティ列を変更するものである場合、クライアント端末100は以下の処理を行う。クライアント端末100は、スクロール後に表示装置101に表示されるプロパティ列のプロパティIDの順列を抽出し、当該プロパティIDを示す操作情報を生成してこれを操作対象のクラスC03と対応付けて操作情報記憶部106に記憶させる(ステップS705)。その後クライアント端末100は、次の操作が入力されるまで待機する。
図11は、図10の例でプロパティP04に対応するプロパティ列をプロパティP07に対応するプロパティ列の直後に移動させた後、プロパティP06,P07,P04の各プロパティ列が表示されるように列方向へのスクロールによって表示範囲を変更し、更に、プロパティP06,P07の1行目の各プロパティ値を編集した場合の表示範囲G4を示す図である。この場合、ステップS702では、moveの場合のステップS703の処理と、editの場合のステップS704の処理と、scrollの場合のステップS705の処理とを全て行うことになる。この場合、ステップS703では、クライアント端末100は、移動された全てのプロパティ列についてのプロパティIDの順列としてP04と、プロパティP04が挿入された位置の直前のプロパティ列の各プロパティIDであるP07と、移動後に表示装置101に表示されるプロパティ列についてのプロパティIDであるP01,P05,P03とを示す操作情報を生成してこれを操作対象のクラスC03と対応付けて操作情報記憶部106に記憶させる。また、ステップS704では、クライアント端末100は、値を編集したプロパティのプロパティIDとしてP06,P07を抽出し、当該P06,P07及びそれらの値を編集した行である「1行目」及び「2行目」とを示す操作情報を生成してこれを操作対象のクラスC03と対応付けて操作情報記憶部106に記憶させる。更に、ステップS705では、クライアント端末100は、スクロール後に表示装置101に表示されるプロパティ列のプロパティIDの順列としてP06,P07,P04を抽出し、当該P06,P07,P04を示す操作情報を生成してこれを操作対象のクラスC03と対応付けて操作情報記憶部106に記憶させる。尚、これらの操作は一連の操作であるため、クライアント端末100は、これらの3つの操作情報を1つのデータとして生成してクラスC03と対応付けて操作情報記憶部106に記憶させる。
操作の種類が、編集の終了である場合(ステップS702:end)、クライアント端末100は、操作情報抽出処理を終了する。また、操作の種類が、上記(move,edit,scroll,end)以外である場合(ステップS702:other)、クライアント端末100は、次の操作が入力されるまで待機する。
尚、move,edit,scroll,end以外に、表示領域の遷移、ユーザが参照しているかどうかを明示的に示すための方法(チェックボタンなど)等の編集操作を含んでもよい。例えば、表形式のデータの中にある値の「検索」機能において、該当のデータを検出した領域に自動的にフォーカスが移動して該当箇所が表示される場合などが表示領域の遷移である。また、検索の機能によって誤ったセルを参照する場合などを考慮し、参照しているかどうかのチェックボタンを導入した場合、同様に操作情報抽出処理を行っても良い。
図12は、操作情報記憶部106で記憶される操作情報を例示する図である。同図に例示される操作情報は、図5に例示したクラスC03のインスタンステーブルにおいてユーザが行った各操作に応じて生成されたものである。各操作は、図9〜11に示した一連の操作である。このため、これらの操作に関する操作情報が1つのデータとして生成されている。同図の操作情報においては、操作情報抽出部105がその内容を抽出した各操作について一行毎に示されている。例えば、「begin」で開始される1行目には、初期状態のプロパティのプロパティIDの順列が示されている。「display」で開始される2行目には、表示に関し、表示範囲内にあるプロパティのプロパティIDの順列が示されている。「move」で開始される3行目には、移動の操作に関し、移動対象のプロパティ列のプロパティIDと当該プロパティが挿入される直前および直後のプロパティ列のプロパティIDが示されている。「edit」で開始される各行では、編集の操作に関し、インスタンスが編集されるプロパティのプロパティID及びその値を編集した行が示されている。
次に、以上のようにして生成して操作情報記憶部106に操作対象のクラスC03と対応付けて記憶させた操作情報を用いて配置情報を生成する配置情報生成処理の手順について図13を用いて説明する。まず、クライアント端末100は、配置情報生成部107の機能により、ユーザが入力装置を介して指定した操作対象のクラスに対応付けられて操作情報記憶部106に記憶された操作情報を読み出す(ステップS1201)。例えば、操作対象としてクラスC03が指定された場合、上記で説明した図12に例示される操作情報が読み出される。
次に、クライアント端末100は、読み出した操作情報について、プロパティ列の移動の操作を基本単位として、処理ブロックを抽出する(ステップS1202)。プロパティ列の移動の操作が連続している場合はそれらを1つの単位としてクライアント端末100は処理を行う。
次に、クライアント端末100は、抽出した各処理ブロックに対して、プロパティ列の移動毎に行なわれ得たプロパティ値の編集及びプロパティ値の参照のうち少なくとも一方に応じて各プロパティのスコアを計算するスコア計算処理を行う。具体的には、まず、クライアント端末100は、スコア計算処理を行っていない処理ブロックがある場合(ステップS1203:yes)、当該処理ブロックに対してスコア計算処理を行う(ステップS1204)。スコア計算処理では、クライアント端末100は、値の編集されたプロパティと、編集の際に値が参照されたであろうプロパティ、即ち、編集の前にプロパティ列の移動や画面のスクロールによって表示装置101の画面に表示されたプロパティ列のプロパティとに対して、その頻度に応じてスコアを計算する。そして、クライアント端末100は、各プロパティに対して計算したスコアをRAMなどの記憶装置に記憶させる(ステップS1205)。
図14は、図12に例示した操作情報について、各処理ブロックで各プロパティに対して計算されるスコアを例示する図である。この例では、スコアの計算の際に重み付けを行うものとする。具体的には、その値が編集された場合にプロパティに「1」の重みを与え、編集されてはいないが値が参照されたであろうプロパティに「0.5」の重みを与えるものとする。最初に抽出される第1処理ブロックは、「move」で開始される3行目から「edit」で開始される8行目までである。当該第1処理ブロックでは、プロパティP01,P04,P05が画面に表示された状態でそれぞれの値が2回ずつ編集されているため、それぞれのスコアは「2」として計算される。一方、次に抽出される第2処理ブロックは、「move」で開始される9行目から「edit」で開始される12行目までである。当該第2処理ブロックでは、プロパティP06,P07,P04が画面に表示された状態で、プロパティP06,P07の各値がそれぞれ1回ずつ編集されているため、それぞれのスコアは「1」として計算される。プロパティP04については、その値は編集されていないが、移動によって表示装置101の画面に表示されているため、その値が参照されたであろうから、そのスコアは「0.5」として計算される。
このようにして、全ての処理ブロックに対してスコア計算処理を行った場合(ステップS1203:no)、クライアント端末100は、次いで、以下のようにして配置情報を生成する(ステップS1206)。
図15は、ステップS1206で行う配置情報を生成する処理の詳細な手順を示すフローチャートである。まず、クライアント端末100は、スコア計算処理で各処理ブロックにおいて計算して記憶したプロパティのスコアのうち、最も高いスコアを当該処理ブロックのスコアとして例えば記憶装置に記憶する(ステップS1501)。次に、クライアント端末100は、処理ブロックのスコアのうち、スコアの高い処理ブロックを優先するよう、各処理ブロックの優先順位を決定する(ステップS1502)。次に、クライアント端末100は、各プロパティについて、各処理ブロックでのスコアを参照し、最も高いスコアが計算された処理ブロックを当該プロパティの所属先として設定する(ステップS1503)。最後に、クライアント端末100は、各処理ブロックの中で、当該処理ブロックに所属するプロパティのスコアの高さに従って、プロパティの列の配置を決定する(ステップS1504)。そして、クライアント端末100は、ステップS1504で決定した、プロパティ列の配置を示す配置情報を生成する(ステップS1505)。
図13の説明に戻る。その後、クライアント端末100は、ステップS1206のステップS1505で生成した配置情報を操作対象のクラスと対応付けて配置情報記憶部108に記憶させる(ステップS1207)。
図16は、図14に例示したクラスC03の配置情報を例示する図である。図14で例示したように、クラスC03については、ステップS1501で、第1処理ブロックについてスコアは「2」と計算され、第2処理ブロックについてスコアは「1」と計算される。このため、ステップS1502では、この順が当該各処理ブロックの優先順位として決定される。そして、ステップS1503では、各プロパティの所属先として、プロパティP01,P05については第1処理ブロックが決定され、プロパティP06,P07については第2処理ブロックが決定される。プロパティP04については、所属先として、第1処理ブロック及び第2処理ブロックの両方の可能性があるが、ここでは、よりスコアの大きい第1処理ブロックとして決定され、第2処理ブロックに近い位置での表示が決定される。プロパティP02,P03についてはどの処理ブロックにも所属しないため、当該各プロパティの列の配置は最後尾に決定される。従って、クラスC03については、プロパティ列の配置は、P01,P05,P04,P06,P07,P02,P03の順で決定され、当該配置を示す配置情報が操作対象のクラスC03と対応付けられて配置情報記憶部108に記憶される。
以上のようにして配置情報記憶部108に操作対象のクラスC03と対応付けられて配置情報が記憶されると、次に、操作対象としてクラスC03が指定されて、当該クラスC03の一部のプロパティ列を表示装置101に改めて表示させる場合、図7の操作情報抽出処理が行われると、ステップS602の判定結果が肯定的となる。この場合、クライアント端末100は、当該クラスC03に対応付けられた配置情報に示される配置でインスタンステーブルにおいて示される一部のプロパティ列を表示装置101に表示させるための表示データを生成してこれを記憶装置上にロードする。この結果、ユーザの実際の編集操作に基づいてユーザの操作内容や嗜好などに応じた配置でクラスC03のインスタンステーブルにおいて示される一部のプロパティ列が表示されることになる。即ち、ユーザがインスタンスを編集するのに最適な配置で各プロパティが表示される。
以上のような構成によれば、従来手動で行っていたプロパティの列の配置の設定を自動的に行うことができ、特にプロパティ数が増大した場合に設定にかかるユーザの負荷を大幅に軽減することができる。
また、手動で行っていたプロパティ列の配置の従来の設定方法では、設定内容が必ずしもユーザの実際の操作に適しているわけではないという問題があった。しかし、本実施の形態の構成によれば、ユーザの実際の操作に基づいてプロパティ列の配置が決定されるため、ユーザが意識することなく最適な表示を行うことが可能となる。
また、手動で行っていたプロパティ列の配置の従来の設定方法では、ユーザの編集操作の経験が浅いほど正確な設定を行うことが難しいという問題があった。しかし、本実施の形態の構成によれば、同じ編集操作を行うユーザの間で操作情報を共有可能になり、経験者の信頼性の高い操作情報から、編集内容に適した表示状態を生成することができる。このため、経験の浅いユーザの編集操作の効率の向上やノウハウの継承などが可能となる。
また、プロパティのアクセス回数の大きさに従って行っていたプロパティの列の配置の従来の設定方法では、プロパティの値であるインスタンスの編集に際して関連するプロパティが必ずしも近辺に表示されるわけではないという問題があった。しかし、本実施の形態の構成によれば、プロパティの値を編集中の表示状態を考慮することで、編集中に参照される可能性が高いプロパティを考慮した配置でプロパティ列を表示することができ、ユーザが、編集対象のプロパティに関連するプロパティの値を容易に参照することが可能となる。
以上のことから、本実施の形態によれば、ユーザに特別な設定を強いることなく操作内容や嗜好に最適な配置でプロパティ列を表示させることができ、効率の良い編集環境を提供することができる。従って、プロパティを有するクラスのインスタンスが複数のプロパティ列で表示されるインスタンスデータにおいてユーザが編集することを効果的に支援することができる。
[変形例]
なお、本発明は前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。また、以下に例示するような種々の変形が可能である。
<変形例1>
上述した実施の形態において、クライアント端末100で実行される各種プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また当該各種プログラムを、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成しても良い。
<変形例2>
上述した実施の形態において、情報編集支援装置として機能するものとしてクライアント端末100を例にして説明したが、これに限るものではなく、サーバクライアントシステムの形態で実施しても良い。この場合、上述したクライアント端末100の有する機能の全部又は一部をサーバ側で実現するように構成し、上述したクライアント端末100の有する機能を、クライアント端末100が例えばWebブラウザを介してサーバと通信することにより実現させるように構成しても良い。例えば、辞書記憶部103はクライアント端末100が有するのではなくサーバが有するように構成しても良い。
<変形例3>
上述した実施の形態において、辞書記憶部103の有する階層構造を図3では単純木で示しているが、これに限らず、例えば、複数の親クラスを持つ「多重継承」や、厳密な親子関係ではないが、いくつかのプロパティを輸入する関係で形成される「部分継承」といった様々な階層構造を辞書記憶部103は有するようにしても良い。
また、階層構造の特殊な場合として、階層を持たないフラットな構造を辞書記憶部103は有するようにしても良い。すなわち、どのクラスも他のクラスの下位クラスにならず、自らが定義したプロパティのみを有するものであっても良い。
また、クラステーブル301においては、親子関係を定義することにより階層構造を表すように構成しているが、これに限らず、複数世代の子孫関係を定義することにより階層構造を表すように構成しても良い。
また、図3に例示した階層構造を表す辞書情報として、図4にクラステーブル301及びプロパティテーブル302を例示したが、本実施の形態においてはこれに限らない。また、クラスやプロパティに対する名称や定義などの情報を辞書情報が含むようにしても良く、これを情報の表示や制御に当該辞書情報を用いるようにしても良い。
また、プロパティにグループが設定され、辞書情報は、プロパティの属するグループを更に示すように構成しても良い。この場合、クライアント端末100は、操作情報と、プロパティの属するグループとを用いて、プロパティ列の配置を決定するようにしても良い。
<変形例4>
上述した実施の形態において、操作対象のクラスの配置情報が配置情報記憶部108に記憶されていない場合、表示データ生成部104は、所定の方法又は任意の方法により当該クラスの有するプロパティ列の配置を決定するようにした。しかし、当該クラスの配置情報が配置情報記憶部108に記憶されていなくても、当該クラスの上位のクラスの配置情報が記憶されている場合は、表示データ生成部104はこれを、操作対象のクラスの配置情報として用いるようにしても良く、当該列情報によって示される配置を、インスタンステーブルにおいて示される各プロパティ列の配置の初期状態として用いるようにしても良い。
<変形例5>
上述した実施の形態において、操作情報の書式を図12に例示したが、操作情報の書式はこれに限るものではなく、コンピュータ可読であればその書式は限定されない。また、操作情報は、コメントデータなど、上記以外の情報を記憶しても良い。
また、操作の種類が、プロパティ値を編集するものである場合、クライアント端末100は、値を編集したプロパティのプロパティIDと、編集した値の行とを含む操作情報を生成したが、編集した値の行を含まない操作情報を生成するようにしても良い。
また、操作情報は、クラス毎に複数存在しても良く、即ち、各クラスに対して各々異なる複数の操作情報が操作情報記憶部106に記憶されても良い。
<変形例6>
上述した実施の形態において、クライアント端末100は、ステップS1501で各処理ブロックのスコアを計算する際、最も高いプロパティのスコアを当該処理ブロックのスコアとして計算したが、これに限らず、各プロパティのスコアの合計値を当該処理ブロックのスコアとして計算するようにしても良い。
また、クライアント端末100は、ステップS1503で各プロパティの所属先の処理ブロックを決定する際、予め設定された閾値以上のスコアが計算された処理ブロックを抽出し、これらが複数抽出された場合に、ステップS1502で決定された優先順位を用いて、最も優先順位の高い処理ブロックを所属先として決定しても良い。
また、クライアント端末100は、ステップS1504で、各処理ブロックの中でプロパティ列の配置を決定する際、当該処理ブロックの前の処理ブロックまたは後ろの処理ブロックにも属する可能性があるプロパティを、それぞれ前の処理ブロック、後ろの処理ブロックに近い位置に配置するよう当該プロパティ列の配置を決定しても良い。
<変形例7>
上述した実施の形態において、クライアント端末100は、ステップS1504で、各処理ブロックの中でプロパティ列の配置を決定する際、辞書記憶部103に記憶された辞書情報以外にインスタンステーブルに個々に設定された情報を利用しても良い。例えば、図5に示したように、インスタンステーブルにキー情報が設定されている場合は、クライアント端末100は、これを先頭に表示し、これと残りのプロパティのスコアに基づいてプロパティ列の配置を決定しても良い。また、プロパティ列に一意性制約や「NOT NULL」制約などの各種制約が設定されている場合、同じスコアのプロパティの中でこれらの制約が付随するものを優先してプロパティ列の配置を決定しても良い。
<変形例8>
上述した実施の形態において、インスタンスが1つも登録されていない初期状態のインスタンステーブルの一部のプロパティ列を表示装置101に表示するための表示データが生成されるようにしたが、これに限らず、ユーザが一時的に保存したデータなど、いくらかのインスタンスが既に登録された状態でインスタンステーブルの一部のプロパティ列を表示するための表示データが生成され、当該表示データにより表示装置101において表示が行われるようにしても良い。この場合、クライアント端末100は、ステップS1206では、配置情報生成部107の機能により、インスタンスの登録状態に応じて一部の処理ブロックの情報のみを用いてプロパティ列の配置を再生成し、これに従って表示データを生成しても良い。
また、クライアント端末100は、ステップS1504で、各処理ブロックの中でプロパティ列の配置を決定する際、プロパティの値であるインスタンスの編集状況を抽出しても良い。即ち、クライアント端末100は、インスタンステーブルにおいてどのプロパティの値が登録されているかを編集状況として抽出する。また、配置情報記憶部108は、各クラスに対して複数の配置情報が記憶可能である。この場合、クライアント端末100は、表示データを生成する際、各行のプロパティの値の編集状況と当該クラスに対応付けられた各操作情報とを照らし合わせ、以降の操作を推定して参照する操作情報を推定することで、選択した操作情報から決定される配置でインスタンステーブルにおいて示される一部のプロパティ列を表示装置101に表示させるための表示データを生成すれば良い。
<変形例9>
上述した実施の形態において、クライアント端末100は、図13に示した配置情報生成処理では、操作情報記憶部106が記憶する操作情報を用いたが、これに限らず、例えばサーバなどの共有空間で管理されるユーザのグループやロールに基づいた共有の操作情報を用いるようにしても良い。図17は、本変形例にかかるクライアント端末100の機能的構成を例示する図である。クライアント端末100は、入力受付部102と、辞書記憶部103と、表示データ生成部104と、操作情報抽出部105と、操作情報記憶部106と、配置情報生成部107と、配置情報記憶部108とに加え、ユーザ情報記憶部109を有する。ユーザ情報記憶部109は、例えばHDDなどの外部記憶装置やRAMなどの記憶装置に記憶される。ユーザ情報記憶部109は、入力装置を介して各種操作を行うユーザを識別するユーザ情報と、当該ユーザの操作分担や権限などのユーザの属するロールを示すロール情報を対応付けて記憶する。ユーザのロールとは、例えば、辞書情報の閲覧のみが可能であるとか、辞書情報の登録や削除が可能であるとかなどであり、各ユーザに対して予め設定されているものである。入力受付部102は、入力装置を介して、各種操作の入力と共に、当該操作を行ったユーザのユーザ情報の入力とを受け付ける。操作情報抽出部105は、入力受付部102が入力を受け付けた各種操作の内容を抽出して、所定の種類の操作についての操作情報を生成してこれを、操作対象のクラスのクラスIDと、入力受付部102が入力を受け付けたユーザ情報に対応付けられたロール情報とを対応付けて操作情報記憶部106に記憶させる。そして、配置情報生成部107は、ユーザが入力装置を介して指定した操作対象のクラスに対応付けられ且つ当該ユーザのユーザ情報に対応するロール情報に対応付けられて操作情報記憶部106に記憶された操作情報を読み出して、上述の配置情報生成処理を行えば良い。また、ユーザ情報記憶部109は、ロール情報と同様にして、ユーザが属するグループを示すグループ情報をユーザ情報と対応付けて記憶するようにしても良い。このような構成によれば、同一のグループやロールに属する複数のユーザで操作情報を共有することが可能になり、グループやロールに特有の編集操作に適した配置での表示を行うことが可能になる。
プロパティのアクセス回数の大きさに従って行っていたプロパティ列の配置の従来の設定方法では、プロパティ列の移動やユーザのロールや表示データがロードされた時点のインスタンステーブルの編集状況などを考慮していないため、ユーザの編集状況に応じた柔軟なプロパティ列の配置が難しいという問題があった。しかし、本変形例で説明した上述した様々な情報を選択的に適用することで、ユーザの編集状況に適した配置でプロパティ列を表示することが可能となる。
<変形例10>
上述した実施の形態において、クライアント端末100は、配置情報について、プロパティ列の配置をクエリ形式で表現しても良い。例えば、リレーショナルデータベースの問い合わせ言語であるSQLのSelect句でプロパティを指定し、From句以降で様々な条件を設定して利用しても良い。
<変形例11>
上述した実施の形態において、クライアント端末100は、ステップS602の判定結果が肯定的となる場合、操作対象のクラスに対応付けられて配置情報記憶部108に記憶された配置情報を用いて表示を行うか否かをユーザに問い合わせるダイアログを表示装置101に表示させるようにしても良い。そして、当該問い合わせに対して肯定的な回答が入力装置を介して入力された場合に、クライアント端末100は、上述したように、操作対象のクラスに対応付けられた配置情報に示される配置でインスタンステーブルにおいて示される一部のプロパティ列を表示装置101に表示させるための表示データを生成してこれを記憶装置上にロードすれば良い。
一実施の形態にかかるクライアント端末100のハードウェア構成を例示する図である。 同実施の形態にかかるクライアント端末100の機能的構成を例示する図である。 クラスを構成要素とする階層構造を概念的に例示する図である。 図3に例示した階層構造に応じて、辞書記憶部103で辞書情報として記憶されるクラステーブル301及びプロパティテーブル302を例示する図である。 同実施の形態にかかるインスタンステーブルを例示する図である。 図5に例示されたインスタンステーブルの一部であり、表示装置101の画面に実際に表示される範囲である表示範囲G1を例示する図である。 同実施の形態にかかる操作情報抽出処理の手順を示すフローチャートである。 同実施の形態にかかる操作情報を生成する処理の詳細な手順を示すフローチャートである。 図6に例示したクラスC03のインスタンステーブルにおいて、プロパティP04,P05の2つのプロパティ列を、プロパティP01,P02のプロパティ列間に移動させた場合の表示範囲G2を例示する図である。 図9の例でプロパティP01,P04,P05の1行目及び2行目の各インスタンスを編集した場合の表示範囲G3を例示する図である。 図10の例でプロパティP04に対応するプロパティ列をプロパティP07に対応するプロパティ列の直後に移動させた後、プロパティP06,P07,P04の各プロパティ列が表示されるように列方向へのスクロールによって表示範囲を変更し、更に、プロパティP06,P07の1行目の各インスタンスを編集した場合の表示範囲G4を示す図である。 同実施の形態にかかる操作情報記憶部106で記憶される操作情報を例示する図である。 同実施の形態にかかる配置情報を生成する配置情報生成処理の手順を示すフローチャートである。 図12に例示した操作情報について、各処理ブロックで各プロパティに対して計算されるスコアを例示する図である。 同実施の形態にかかるステップS1206で行う配置情報を生成する処理の詳細な手順を示すフローチャートである。 図14に例示したクラスC03の配置情報を例示する図である。 一実施の形態の一変形例にかかるクライアント端末100の機能的構成を例示する図である。
符号の説明
100 クライアント端末
101 表示装置
102 入力受付部
103 辞書記憶部
104 表示データ生成部
105 操作情報抽出部
106 操作情報記憶部
107 配置情報生成部
108 配置情報記憶部
109 ユーザ情報記憶部
301 クラステーブル
302 プロパティテーブル

Claims (19)

  1. 1つ以上のプロパティを有するクラスについて、当該クラスのインスタンスデータを編集する手段として、当該プロパティをヘッダとし、当該プロパティの値であるプロパティ値をデータとする複数のプロパティ列からなるインスタンスデータを表示するための情報編集支援装置であって、
    ユーザの操作の入力を受け付ける入力受付部と、
    入力が受け付けられた前記操作が前記プロパティ値の編集に関する操作及び前記プロパティ値の参照に関する操作のうち少なくとも一方の操作である場合、当該操作に関連する操作情報を当該操作に関連するプロパティが属するクラスと対応付けて生成する操作情報生成部と、
    前記操作情報を用いて前記クラスの有する各プロパティの値がプロパティ毎に並ぶ各プロパティ列の配置を決定する配置決定部と、
    決定された各プロパティ列の配置を示す配置情報を生成する配置情報生成部と、
    前記配置情報を前記クラスと対応付けて記憶する配置情報記憶部と、
    前記配置情報に基づいて、前記クラスの有する前記プロパティ列を表示させるための表示データを生成する表示データ生成部とを備える
    ことを特徴とする情報編集支援装置。
  2. 前記配置決定部は、前記操作情報を用いて、前記複数のプロパティ列の移動の操作毎に行なわれ得た前記プロパティ値の編集に関する操作及び前記プロパティ値の参照に関する操作のうち少なくとも一方の操作に応じて、前記クラスに属する各々の前記プロパティのスコアを計算するスコア計算部を有し、前記スコアを用いて、前記クラスが有する各前記プロパティ列の配置を決定する
    ことを特徴とする請求項1に記載の情報編集支援装置。
  3. 複数の前記クラスを構成要素とする階層構造を有し、上位のクラスが有するプロパティがその下位のクラスに継承されるオブジェクト指向に従った辞書情報を記憶する辞書記憶部を更に備え、
    前記表示データ生成部は、前記辞書情報を用いて前記表示データを生成する
    ことを特徴とする請求項1又は2に記載の情報編集支援装置。
  4. 前記辞書情報は、前記クラス間の階層関係及び各前記クラスが有するプロパティを特定可能に示し、
    前記辞書情報を用いて、前記クラスが有する全部又は一部のプロパティの各前記プロパティ値を含むインスタンスを前記複数のプロパティ列で表示するインスタンステーブルを生成するテーブル生成部を更に備え、
    前記表示データ生成部は、前記配置情報に基づいて、前記インスタンステーブルを前記表示装置に表示させるための前記表示データを生成する
    ことを特徴とする請求項3に記載の情報編集支援装置。
  5. 前記入力受付部は、操作対象のクラスを指定する入力を更に受け付け、
    前記表示データ生成部は、指定された前記クラスに対応付けられた前記配置情報が前記配置情報記憶部に記憶されている場合に、当該当該配置情報によって示されるプロパティ列の配置で前記インスタンステーブルを前記表示装置に表示させるための前記表示データを生成する
    ことを特徴とする請求項4に記載の情報編集支援装置。
  6. 前記表示データ生成部は、指定された前記クラスに対応付けられた前記配置情報が前記配置情報記憶部に記憶されていない場合であって、当該クラスの上位のクラスに対応付けられた前記配置情報が前記配置情報記憶部に記憶されている場合、当該配置情報によって示されるプロパティ列の配置で前記インスタンステーブルを前記表示装置に表示させるための前記表示データを生成する
    ことを特徴とする請求項5に記載の情報編集支援装置。
  7. 指定された前記クラスについて前記インスタンステーブルにおける前記プロパティ値の編集状況を抽出する編集状況抽出部を更に備え、
    前記配置情報記憶部は、前記クラスに対して複数の前記配置情報を記憶しており、
    前記表示データ生成部は、指定された前記クラスに対応付けられた前記配置情報記憶部に記憶された前記配置情報の中から、前記インスタンステーブルに記憶された各インスタンスの編集状況を取得し、当該状況と前記配置情報とを照らし合わせて以降の操作を推定することで、編集状況に適したプロパティ列の配置で前記インスタンステーブルを前記表示装置に表示させるための前記表示データを生成する
    ことを特徴とする請求項5又は6に記載の情報編集支援装置。
  8. 前記辞書情報は、前記プロパティの属するグループを更に示し、
    前記配置決定部は、前記操作情報と、前記プロパティのグループとを用いて、前記クラスの有する各前記プロパティ列の配置を決定する
    ことを特徴とする請求項7に記載の情報編集支援装置。
  9. 前記インスタンステーブルには、前記インスタンスを識別するためのキー情報と、当該インスタンステーブルの中で当該インスタンスのプロパティ値が他のインスタンスの当該プロパティ値と重複しないことを規定する一意性制約情報又は各インスタンスが必ずプロパティ値を持つことを規定するNOT NULL制約情報とのうち少なくとも1つの情報が設定されており、
    前記配置決定部は、前記操作情報及び前記インスタンステーブルに設定された前記情報を用いて、前記クラスの有する各前記プロパティ列の配置を決定する
    ことを特徴とする請求項5乃至8のいずれか一項に記載の情報編集支援装置。
  10. 前記操作情報に関連するプロパティとクラスとを対応付けて記憶する操作情報記憶部を更に備える
    ことを特徴とする請求項1乃至9いずれか一項に記載の情報編集支援装置。
  11. 前記操作情報記憶部は、前記クラスに対して複数の前記操作情報を記憶する
    ことを特徴とする請求項10に記載の情報編集支援装置。
  12. 前記ユーザを識別するユーザ情報と、当該ユーザが属するロールを示すロール情報とを対応付けて記憶するユーザ情報記憶部を更に備え、
    前記入力受付部は、前記ユーザ情報の入力を受け付け、
    前記操作情報記憶部は、前記操作情報と、前記クラスと、前記ロール情報とを対応付けて記憶する
    ことを特徴とする請求項1乃至11のいずれか一項に記載の情報編集支援装置。
  13. 前記配置決定部は、前記ロール情報に対応付けられて前記操作情報記憶部に記憶された前記操作情報を用いて、前記クラスの有する各前記プロパティ列の配置を決定する
    ことを特徴とする請求項12に記載の情報編集支援装置。
  14. 前記ユーザを識別するユーザ情報と、当該ユーザが属するグループを示すグループ情報とを対応付けて記憶するグループ情報記憶部を更に備え、
    前記入力受付部は、前記ユーザ情報の入力を受け付け、
    前記操作情報記憶部は、前記操作情報と、前記クラスと、前記グループ情報とを対応付けて記憶する
    ことを特徴とする請求項1乃至12のいずれか一項に記載の情報編集支援装置。
  15. 前記配置情報生成部は、クエリ形式で表現される前記配置情報を生成する
    ことを特徴とする請求項1乃至14のいずれか一項に記載の情報編集支援装置。
  16. 前記クラスが有する全てのプロパティの各前記プロパティ値を含みユーザの操作に応じて編集可能なインスタンスを前記複数のプロパティ列で表示する表示装置を更に備える
    ことを特徴とする請求項1乃至11いずれか一項に記載の情報編集支援装置。
  17. 前記プロパティ値の参照に関する操作は、前記プロパティ列の移動及び前記表示装置における表示範囲の変更のうち少なくとも1つであり、
    前記操作情報生成部は、前記操作が前記プロパティ列の移動に関する操作である場合、操作対象のプロパティ列と、当該プロパティ列の前及び後のうち少なくとも一方のプロパティ列と、移動後に前記表示範囲に含まれるプロパティ列とを示す操作情報を生成し、前記操作が前記プロパティ値の編集に関する操作である場合、操作対象のプロパティ列を示す操作情報を生成し、前記操作が前記表示範囲の変更に関する操作である場合、前記表示範囲に含まれるプロパティ列及びその配置を示す操作情報を生成する
    ことを特徴とする請求項16に記載の情報編集支援装置。
  18. 1つ以上のプロパティを有するクラスについて、当該クラスのインスタンスデータを編集する手段として、当該プロパティをヘッダとし、当該プロパティの値であるプロパティ値をデータとする複数のプロパティ列からなるインスタンスデータを表示するための情報編集支援装置で実行される情報編集支援方法であって、
    前記情報編集支援装置は、入力受付部と、操作情報生成部と、配置決定部と、配置情報生成部と、配置情報記憶制御部と、表示データ生成部とを備え、
    前記入力受付部が、ユーザの操作の入力を受け付ける入力受付ステップと、
    前記操作情報生成部が、入力が受け付けられた前記操作が前記プロパティ値の編集に関する操作及び参照に関する操作のうち少なくとも一方の操作である場合、当該操作に関連する操作情報を当該操作に関連するプロパティが属するクラスと対応付けて生成する操作情報生成ステップと、
    前記配置決定部が、前記操作情報を用いて前記クラスの有する各プロパティの値がプロパティ毎に並ぶ各プロパティ列の配置を決定する配置決定ステップと、
    前記配置情報生成部が、決定された各プロパティ列の配置を示す配置情報を生成する配置情報生成ステップと、
    前記配置情報記憶制御部が、前記配置情報を前記クラスと対応付けて第2記憶部に記憶させる順序記憶制御ステップと、
    前記表示データ生成部が、前記配置情報に基づいて、前記クラスの有する前記プロパティ列を表示させるための表示データを生成する表示データ生成ステップとを含む
    ことを特徴とする情報編集支援方法。
  19. 請求項18に記載の情報編集支援方法をコンピュータに実行させるためのプログラム。
JP2008333287A 2008-12-26 2008-12-26 情報編集支援装置、方法及びプログラム Pending JP2010157004A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008333287A JP2010157004A (ja) 2008-12-26 2008-12-26 情報編集支援装置、方法及びプログラム
US12/561,444 US20100169760A1 (en) 2008-12-26 2009-09-17 Apparatus for displaying instance data, method, and computer program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008333287A JP2010157004A (ja) 2008-12-26 2008-12-26 情報編集支援装置、方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2010157004A true JP2010157004A (ja) 2010-07-15

Family

ID=42286417

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008333287A Pending JP2010157004A (ja) 2008-12-26 2008-12-26 情報編集支援装置、方法及びプログラム

Country Status (2)

Country Link
US (1) US20100169760A1 (ja)
JP (1) JP2010157004A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014123158A1 (ja) * 2013-02-08 2014-08-14 株式会社 東芝 情報処理装置およびその方法、ならびにプログラム
WO2014189056A1 (ja) * 2013-05-21 2014-11-27 株式会社 東芝 データ処理装置および方法
JP5877488B1 (ja) * 2015-06-08 2016-03-08 Mrd株式会社 Rdbシステム

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120030612A1 (en) * 2010-07-30 2012-02-02 Sap Ag Dynamic property attributes
US9075519B2 (en) * 2012-10-11 2015-07-07 Apple Inc. System and method for interacting with a displayed work space
JP6523188B2 (ja) * 2016-02-18 2019-05-29 株式会社東芝 作業手順生成支援装置、作業手順生成支援方法、およびプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4181080B2 (ja) * 2004-03-31 2008-11-12 株式会社東芝 階層型データベース管理システム、階層型データベース管理方法及び階層型データベース管理プログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014123158A1 (ja) * 2013-02-08 2014-08-14 株式会社 東芝 情報処理装置およびその方法、ならびにプログラム
JP2014153938A (ja) * 2013-02-08 2014-08-25 Toshiba Corp 情報処理装置およびその方法、ならびにプログラム
WO2014189056A1 (ja) * 2013-05-21 2014-11-27 株式会社 東芝 データ処理装置および方法
JP2014229016A (ja) * 2013-05-21 2014-12-08 株式会社東芝 データ処理装置、方法およびプログラム
JP5877488B1 (ja) * 2015-06-08 2016-03-08 Mrd株式会社 Rdbシステム

Also Published As

Publication number Publication date
US20100169760A1 (en) 2010-07-01

Similar Documents

Publication Publication Date Title
RU2427896C2 (ru) Аннотирование документов в совместно работающих приложениях данными в разрозненных информационных системах
US7493561B2 (en) Storage and utilization of slide presentation slides
JP3692054B2 (ja) 文書構造変換方法および文書構造変換装置およびプログラム
US7788590B2 (en) Lightweight reference user interface
US7971139B2 (en) Correlation, association, or correspondence of electronic forms
JP5550669B2 (ja) 検索装置、検索方法およびプログラム
US10657323B2 (en) Method of preparing documents in markup languages
US8086573B2 (en) System and method for identifying computer users having files with common attributes
EP2269147B1 (en) User translated sites after provisioning
US9372843B2 (en) Document association device, document association method, and non-transitory computer readable medium
JP2010157004A (ja) 情報編集支援装置、方法及びプログラム
JP2006331419A (ja) 情報を意味的にズームするためのシステム及び方法
US20210103565A1 (en) Single Table Multi-Schema Data Store In A Key Value Store
JP5289535B2 (ja) 検索結果提供方法及びシステム
JP2004145706A (ja) マルチメディアデータ検索システム
JP7298208B2 (ja) 情報処理装置及びプログラム
US11163938B2 (en) Providing semantic based document editor
JP2004133742A (ja) 作業支援方法、作業支援プログラムおよび作業支援システム
JP3933407B2 (ja) 文書処理装置、文書処理方法および文書処理プログラムが格納された記憶媒体
JP4703705B2 (ja) 構造化データ検索プログラム及び構造化データ検索装置
JP2006072705A (ja) 文書検索装置および方法
JP6836185B2 (ja) ファイル管理装置、ファイル管理システム、ファイル管理方法、及びプログラム
JP4755531B2 (ja) 構造化データ処理装置、構造化データ処理方法、および記録媒体
JP2008140085A (ja) 情報共有システム及び情報共有プログラム
JP2006293656A (ja) 文書検索処理方法とその記録媒体