JP2015535370A - プログラミング属性のグラフィカル表現 - Google Patents

プログラミング属性のグラフィカル表現 Download PDF

Info

Publication number
JP2015535370A
JP2015535370A JP2015534764A JP2015534764A JP2015535370A JP 2015535370 A JP2015535370 A JP 2015535370A JP 2015534764 A JP2015534764 A JP 2015534764A JP 2015534764 A JP2015534764 A JP 2015534764A JP 2015535370 A JP2015535370 A JP 2015535370A
Authority
JP
Japan
Prior art keywords
data structure
file
graphical representation
data type
data
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.)
Granted
Application number
JP2015534764A
Other languages
English (en)
Other versions
JP2015535370A5 (ja
JP6557603B2 (ja
Inventor
太郎 猪飼
太郎 猪飼
アンダーソン,アーレン
Original Assignee
アビニシオ テクノロジー エルエルシー
アビニシオ テクノロジー エルエルシー
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 アビニシオ テクノロジー エルエルシー, アビニシオ テクノロジー エルエルシー filed Critical アビニシオ テクノロジー エルエルシー
Publication of JP2015535370A publication Critical patent/JP2015535370A/ja
Publication of JP2015535370A5 publication Critical patent/JP2015535370A5/ja
Application granted granted Critical
Publication of JP6557603B2 publication Critical patent/JP6557603B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/185Hierarchical storage management [HSM] systems, e.g. file migration or policies thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/75Structural analysis for program understanding

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】
【解決手段】 情報を表すためのコンピューティング・システムであって、コンピューティング・システムは、情報を処理するように構成された少なくとも1つのプロセッサを含む。処理は、アプリケーションを開発するための少なくとも1つのプログラミング属性の階層を表すデータ構造を定義することを含む。データ構造は、このデータ構造を他のファイルに記憶された他のデータ構造が使用できるようにするために、ファイル内に記憶される。処理は、データ構造のグラフィカル表現及びデータ構造を記憶するファイルのグラフィカル表現を含む、視覚図を生成することも含む。視覚図は、データ構造と別のデータ構造との間の関係のグラフィカル表現、及び、データ構造を記憶するファイルと他のデータ構造を記憶する別のファイルとの間の関係のグラフィカル表現も含む。コンピューティング・システムは、データ構造及びファイルのグラフィカル表現、並びにデータ構造の関係及びファイルの関係のグラフィカル表現を含む、視覚図を提示するための出力デバイスも含む。
【選択図】 図9

Description

優先権の主張
本願は、米国特許法第119条(e)の定めにより、その全文が参照により本明細書に組み込まれた2012年9月28日付け出願の米国特許出願第61/707,343号に対する優先権を主張するものである。
本明細書は、プログラミング属性を表すためのグラフ・ベース手法に関する。
複雑な計算は、しばしば、有向グラフ(「データ・フロー・グラフ」と呼ばれる)を介するデータ・フローとして表すことが可能であり、計算の構成要素はグラフの頂点に関連付けられ、構成要素間のデータ・フローはグラフのリンク(弧、辺)に対応する。構成要素は、1つ又は複数の入力ポートでデータを受信し、データを処理し、1つ又は複数の出力ポートからデータを提供する、データ処理構成要素と、データ・フローのソース又はシンクとして働くデータセット構成要素とを、含むことができる。こうしたグラフ・ベースの計算を実装するシステムは、米国特許第5966072号「EXECUTING COMPUTATIONS EXPRESSED AS GRAPHS」に記載されている。様々なタイプのデータが、グラフの構成要素によって受信、処理、及び出力され得る。同様の処理機能によって、異なるアプリケーションに対して同等タイプのデータを使用及び再使用することができる。
一態様において、情報を表すための方法は、アプリケーションを開発するための少なくとも1つのプログラミング属性の階層を表すデータ構造を定義することを含む。データ構造は、このデータ構造を、他のファイルに記憶された他のデータ構造が使用できるようにするためにファイル内に記憶される。方法は、データ構造のグラフィカル表現及びデータ構造を記憶するファイルのグラフィカル表現を含む、視覚図を生成することも含む。視覚図は、データ構造と別のデータ構造との間の関係のグラフィカル表現、及び、データ構造を記憶するファイルと他のデータ構造を記憶する別のファイルとの間の関係のグラフィカル表現も含む。
別の態様において、コンピュータ読み取り可能記憶媒体は、情報を表現するためのコンピュータ・プログラムを記憶する。コンピュータ・プログラムは、アプリケーションを開発するための少なくとも1つのプログラミング属性の階層を表すデータ構造を、コンピューティング・システムに定義させるための命令を含む。データ構造は、このデータ構造を他のファイルに記憶された他のデータ構造が使用できるようにするために、ファイル内に記憶される。更に命令は、データ構造のグラフィカル表現及びデータ構造を記憶するファイルのグラフィカル表現を含む視覚図を、コンピューティング・システムに生成させる。視覚図は、データ構造と別のデータ構造との間の関係のグラフィカル表現、及び、データ構造を記憶するファイルと他のデータ構造を記憶する別のファイルとの間の関係のグラフィカル表現も含む。
別の態様において、情報を表すためのコンピューティング・システムは、情報を処理するように構成された少なくとも1つのプロセッサを含む。処理は、アプリケーションを開発するための少なくとも1つのプログラミング属性の階層を表すデータ構造を定義することを含む。データ構造は、このデータ構造を他のファイルに記憶された他のデータ構造が使用できるようにするために、ファイル内に記憶される。処理は、データ構造のグラフィカル表現及びデータ構造を記憶するファイルのグラフィカル表現を含む、視覚図を生成することも含む。視覚図は、データ構造と別のデータ構造との間の関係のグラフィカル表現、及び、データ構造を記憶するファイルと他のデータ構造を記憶する別のファイルとの間の関係のグラフィカル表現も含む。コンピュータ・システムは、データ構造及びファイルのグラフィカル表現、並びにデータ構造の関係及びファイルの関係のグラフィカル表現を含む、視覚図を提示するための出力デバイスも含む。
別の態様において、情報を表現するためのコンピューティング・システムは、アプリケーションを開発するための少なくとも1つのプログラミング属性の階層を表すデータ構造を定義することを含む、処理のための手段を含む。データ構造は、このデータ構造を他のファイルに記憶された他のデータ構造が使用できるようにするために、ファイル内に記憶される。処理は、データ構造のグラフィカル表現及びデータ構造を記憶するファイルのグラフィカル表現を含む、視覚図を生成することも含む。視覚図は、データ構造と別のデータ構造との間の関係のグラフィカル表現、及び、データ構造を記憶するファイルと他のデータ構造を記憶する別のファイルとの間の関係のグラフィカル表現も含む。コンピュータ・システムは、データ構造及びファイルのグラフィカル表現、並びにデータ構造の関係及びファイルの関係のグラフィカル表現を含む、視覚図を提示するための手段も含む。
実装は、以下の特徴のうちのいずれか又はすべてを含むことができる。ファイルのグラフィカル表現は、1つ又は複数のデータ構造グループを定義するため、及び、1つ又は複数のデータ構造グループを記憶するための1つ又は複数の新規ファイルを作成するために、データ構造のグラフィカル表現を操作できるように、除去可能な場合がある。定義されたデータ構造は、少なくとも1つのプログラミング属性を調整するように操作可能である。ステートメントを、少なくとも1つのプログラミング属性と共にファイルに挿入することができる。データ構造を操作することは、ドラッグ・アンド・ドロップ動作を含むことができる。定義されたデータ構造を操作することは、プログラミング属性の階層のコンテンツの追加、削除、及び編集のうちの、少なくとも1つを含むことができる。プログラミング属性は、名前付きデータ型、機能などとすることができる。データ構造と他のデータ構造との間の関係は、プログラミング属性の系統を表すことができる。
態様は、以下の利点のうちの1つ又は複数を含むことができる。
プログラミング属性(例えばフィールド、名前付きデータ型構造、関数など)をグラフィカルに表すことで、開発者は、属性の詳細(例えば使用されているデータ型)、及び属性(例えば、以前に定義されたフィールドを使用する名前付きデータ型)と属性を記憶するために使用されるファイルとの間の関係を、比較的迅速に確認することができる。グラフィカル形式で提示された属性、属性を記憶するファイルなどを効率的に操作して、例えば名前付きデータ型構造を編集し、それにより必要に応じて変更を伝搬することができる。
本発明の他の特徴及び利点は、以下の説明から、及び特許請求の範囲から明らかとなろう。
グラフ・ベースの計算を実行するためのシステムを示すブロック図である。 データ型情報を提示するユーザ・インターフェースである。 データ型情報を提示するユーザ・インターフェースである。 データ型情報を提示するユーザ・インターフェースである。 データ型情報を提示するユーザ・インターフェースである。 データ型情報を提示するユーザ・インターフェースである。 データ型情報のグラフィカル表現を提示するユーザ・インターフェースである。 データ型情報のグラフィカル表現を提示するユーザ・インターフェースである。 データ型情報のグラフィカル表現を提示するユーザ・インターフェースである。 データ型情報のグラフィカル表現を提示するユーザ・インターフェースである。 データ型情報のグラフィカル表現を提示するユーザ・インターフェースである。 データ型情報のグラフィカル表現を提示するユーザ・インターフェースである。 例示的なプログラミング属性提示手順のフローチャートである。
図1は、例えば、偶然閲覧した人がコンテンツ、階層、及び属性の系統を効率的に決定できるようにするために、データ型、実行可能関数などのプログラミング属性をグラフィカルに提示することが可能な、例示のデータ処理システム100を示す。一般に、こうした機能を提供するために、システム100は、それぞれが様々な記憶フォーマット(例えば、データベース・テーブル、スプレッドシート・ファイル、フラット・テキスト・ファイル、又はメインフレームによって使用されるネイティブ・フォーマット)のいずれかでデータを記憶することが可能な、記憶デバイス又はオンライン・データ・ストリームへの接続などの、1つ又は複数のデータ・ソースを含み得る、データ・ソース102を含む。この例では、実行環境104が、前処理モジュール106及び実行モジュール112を含む。実行環境104は、UNIXオペレーティング・システムなどの好適なオペレーティング・システムの制御の下で、1つ又は複数の汎用コンピュータ上でホストすることができる。例えば実行環境104は、ローカル(例えば、SMPコンピュータなどのマルチプロセッサ・システム)又はローカル分散型(例えば、クラスタ又はMPPとして結合された複数のプロセッサ)、或いは、リモート又はリモート分散型(例えば、ローカル・エリア・ネットワーク(LAN)及び/又はワイド・エリア・ネットワーク(WAN)を介して結合された複数のプロセッサ)、或いはそれらの任意の組み合わせである、複数の中央処理ユニット(CPU)を使用するコンピュータ・システムの構成を含む、多重ノード並列コンピューティング環境を含むことができる。
前処理モジュール106は、データ・ソース102からデータを読み取り、他のモジュールによる更なる進行を予想して、対応する処理動作を実行する。データ・ソース102を提供する記憶デバイスは、実行環境104に対してローカルであり、例えば実行環境104を実行するコンピュータに接続された記憶媒体(例えばハード・ドライブ108)上に記憶されることが可能であるか、又は、実行環境104に対してリモートであり、例えば、実行環境104を実行するコンピュータとリモート接続を介して通信するリモート・システム(例えばメインフレーム110)上でホストされることが可能である。
実行モジュール112は、例えば、実行環境104にアクセス可能なデータ記憶システム116内に記憶されたデータ114(例えば企業データ、社内記録など)を処理するために、前処理モジュール106によって生成された処理済みデータを使用する。データ記憶システム116は、開発者120がデータ記憶システム116内に記憶された情報の検討、編集などを実行できる、開発環境118にもアクセス可能である。いくつかの配置構成において、開発環境118は、望ましい動作を実行するために実行環境104を作成及び調整する際に使用可能である。例えば開発環境118は、頂点間の(作業要素の流れを表す)有向辺によって接続された(構成要素又はデータセットを表す)頂点を含むデータフロー・グラフとしてアプリケーションを開発するための、システムとすることができる。例えば、こうした環境は、参照により本明細書に組み込まれた、「Managing Parameters for Graph-Based Applications」という名称の米国公開第2007/0011668号に、より詳細に記載されている。こうしたグラフ・ベースの計算を実行するためのシステムは、参照により本明細書に組み込まれた米国特許第5,566,072号、EXECUTING COMPUTATIONS EXPRESSED AS GRAPHSに記載されている。このシステムに従って作られたデータフロー・グラフは、グラフ構成要素によって表される個々のプロセス内外の情報を取得するため、プロセス間で情報を移動させるため、プロセスに関する実行順序を定義するための、方法を提供する。このシステムは、プロセス間通信方法(例えば、グラフの辺に従った通信経路は、TCP/IP又はUNIXドメイン・ソケットを使用すること、又はプロセス間でデータを渡すために共有メモリを使用することが可能である)を選択するアルゴリズムを含む。
前処理モジュール106は、異なる形のデータベース・システムを含む様々なタイプのシステムからデータを受信することができる。データは、場合によってはヌル値を含む、それぞれのフィールド(「属性」又は「列」とも呼ばれる)について値を有するレコードとして編成可能である。データ・ソースから最初にデータを読み取る場合、前処理モジュール106は、典型的には、そのデータ・ソース内のレコードに関する何らかの初期フォーマット情報から始める。いくつかの環境において、データ・ソースのレコード構造は初期には知られていない場合があり、代わりにデータ・ソースの分析後に決定することができる。レコードに関する初期情報は、別個の値、レコード内のフィールドの順序、及び、ビットによって表されるデータ型(例えば、文字列、符号付/符号なし整数)を表す、ビット数を含むことができる。
レコード内で使用されるのと同様に、異なるデータ型(例えば、文字列、整数、フローイング・ポイント値)を、実行環境104、開発環境118などによって実行されるデータ(例えばレコード)を処理するために使用可能である。例えば、レコード(例えば従業員レコード、学生レコードなど)を処理するために、様々なタイプのデータ型を定義及び使用することができる。こうしたレコードを処理するために、個々の基本データ型(例えば、文字列、日付、日時、整数、10進数など)を同時に使用して、データ型構造と呼ばれるデータ型の編成を定義することができる。例えば以下のレコードは、ある人物の属性を表すために4つの基本タイプをグループ化している。
record
string(",")surname;
string(",")given#name;
date("YYYY-MM-DD")date#of#birth;
integer(1)gender; // 0 for male,1 for female
decimal(9)SSN;
end
レコードは、いくつかのフィールド(例えば、個人の氏名はその生年月日、性別、及び社会保障番号と共に表される)を含み、それぞれのフィールドは名前及びデータ型からなる。図2を参照すると、こうしたレコードはエディタによって定義可能である。この例では、ユーザ・インターフェース200は、入力ファイルから読み取られるデータのフォーマットを定義するためのエディタを提示する。読み取られるデータ(例えば、姓、生年月日、性別)を定義すると共に、個々のデータ型(例えば文字列、日付、整数)及び各フィールドに関する制限が定義される。この例は、レコード・タイプを情報の5つの個別エントリを含むものとして提示しているが、レコード・タイプは拡大又は縮小可能である。例えばより多くのデータに、現行データの追加、削除、組み合わせが可能である。上記の命令に続いて、例えば企業団体及び対応する雇用者のリストを表すために、レコード・タイプを入れ子にすることができる。
/* Business entity */
record
string(",")business#name;
decimal(9)tax#payer#id;
decimal(11)main#TEL#no;
record
record
string(",")last;//last name
string(",")first;//first name
end name;//subrecord
record
date("YYYY-MM-DD")date#of#birth;
integer(1)gender;//0 for male,1 for female
end bio;//subrecord
decimal(9)SSN;
end[integer(4)]employees;//vector of employees
end
データ型構造の作成及び名前付けを介して、(例えば、学生情報、いくつかの会社の従業員に関する順序情報などを表すために)同等のフィールドなどを複数のアプリケーションに使用することができる。図3を参照すると、入れ子にされたデータ型情報を含むデータ型構造を提示するために、ユーザ・インターフェース300を実装することができる。この配置構成では、会社に関連付けられたフィールドが上部(括弧302で示される)に定義され、従業員情報に関するフィールドが下部(括弧304で示される)に定義されている。想像し得るように、データ型構造は多種多様のアプリケーションについて定義可能であり、多くの同様のフィールドを(例えば学生情報に関するレコード、従業員情報に関するレコード、などを定義するために)使用及び再使用することができる。
図4を参照すると、例えばアプリケーション開発の際に、フィールドを適切に定義すること、及び、使用のためにデータ型構造を形成するようにフィールドをグループ化することによって、開発者を支援するために、1つ又は複数の技法を実装することができる。例えば、ユーザ・インターフェース400と対話すること(例えばポインティング・デバイスを用いてフィールドを選択すること)によって、ドロップダウン・メニュー402が表示され、アプリケーションで使用するために(開発者によって)潜在的に選択可能な名前付きデータ型構造のリストを提示することができる。ドロップダウン・メニュー402に示されるように、更により多くの名前付きデータ型構造が定義されるため、提示されるリストはユーザにとって煩わしいほど多く、興味ある名前付きデータ型構造を識別するためにナビゲートするのが困難になる可能性がある。例えば、頻繁に選択される名前付きデータ型構造と共に、リストは、特定アプリケーションに固有の多数のほとんど使用されない名前付きデータ型構造を含めるために経時的に多くなっていく可能性がある。図に示されるように、メニュー402内の非常に多くのエントリは、開発者の効率に大きな影響を与える可能性があり、ユーザ・インターフェース400の使用を妨げる場合さえある。更に、(メニュー402のエントリに見られるように)名前のみが割り当てられ、他のいずれの情報もないため、多くの名前付きデータ型構造は冗長であり、他の名前付きデータ型構造間の関係(あれば)に関する情報は一切提供していない可能性がある。
データ型構造のより管理可能な表現を提供するために、1つ又は複数の技法及び方法を実装することができる。一例では、複数の異なるアプリケーションで使用されるデータ型構造は共通に定義可能である。上記の例から、各学生に関するデータ型構造は各会社従業員のデータ型構造と等価であり、以下のように共通に定義可能である。
record
record
string(",")last;//last name
string(",")first;//first name
end name; // subrecord
record
date("YYYY-MM-DD")date#of#birth;
integer(1)gender;//0 for male,1 for female
end bio;//subrecord
decimal(9)SSN;
end
この共通データ型構造に名前(例えば「person#t」)を付けることによって、名前付きデータ型構造を呼び出し、学生及び従業員アプリケーションのための情報を収集するなどの同様の目的で、アプリケーション内で使用することができる。例えば、名前付きデータ型構造(「person#t」)は以下のように定義することができる。
type person#t=
record
record
string(",")last;//last name
string(",")first;//first name
end name;//subrecord
record
date("YYYY-MM-DD")date#of#birth;
integer(1)gender;//0 for male,1 for female
end bio;//subrecord
decimal(9)SSN;
end;
定義されると、名前付きデータ型構造(「person#t」)を使用して、それぞれ会社従業員及びクラス学生のアプリケーションに対してデータ型構造を定義することができる。
/* Business entity */
record
string(",")business#name;
decimal(9)tax#payer#id;
decimal(11)main#TEL;
person#t[integer(4)] employees; // here
end

/* Classroom*/
record
string(",")home#room#instructor;
decimal(2)grade;
person#t[integer(4)] students; // and here
end;
同様に、新規のデータ型構造は複数のアプリケーションで使用するために名前付けすることができる。例えば、名前付きデータ型構造「person#t」を使用する(「business#t」とタイトル付けされた)名前付きデータ型構造を、ビジネス情報を記憶するために定義することができる。
type business#t=
record
string(",")business#name;
decimal(9)tax#payer#id;
decimal(11)main#TEL;
person#t[integer(4)] employees; / /vector of employees
end;
同様に、名前付きデータ型構造「person#t」を使用する(「class#t」と名前付けされた)名前付きデータ型構造を、クラス情報を記憶するために定義することができる。
type class#t=
record
string(",")home#room#instructor;
decimal(2)grade;
person#t[integer(4)] students; // vector of students
end;
複数の他のデータ型構造を定義するために共通のデータ型構造を使用することから、様々な利点が与えられる。例えば、(含まれるデータ型構造を調整するために)2つのデータ型構造を別個に調整することが必要な代わりに、共通に使用される名前付きデータ型構造を1回再定義することができる。それに相応して、名前付きデータ型構造を調整することにより、両方のデータ型構造(及び名前付きデータ型構造を使用する任意の他のデータ型構造)におけるいずれの変化も反映されることになる。それにより、開発者が複数のデータ構造内で使用されている名前付きデータ型構造の単一インスタンスを調整できるようにすることによって、効率を向上させることができる。しかしながら開発者は、(例えば、開発者が、含まれるデータ型構造を使用するデータ型構造のうちのすべてではない、含まれるデータ型構造の調整にのみ関心がある場合)、こうした伝搬調整に引き続き注意すべきである。
図5を参照すると、定義された場合、名前付きデータ型構造を記憶するため、及び使用する構造を取り出すために、1つ又は複数の技法又は方法を実装することができる。例えば、名前付きデータ型構造は、データ操作言語(DML)などの言語で表現すること、及び、テキスト・ファイル(DMLファイルと呼ばれる)に記憶することが可能である。上記で定義された(例えば「person#t」)名前付きデータ型構造を使用して、「project.dml」とタイトル付けされたDMLファイルを記憶デバイス内に記憶し、定義されたデータ型構造を使用するために取り出すことができる。DMLファイル内に記憶された名前付きデータ型構造にアクセスして使用するために、様々な技法を実装することができる。例えば、ファイル(例えば別のDMLファイル)は、1つ又は複数の他のDMLファイル(及びファイル内に定義された名前付きデータ型構造)にアクセスして使用できるようにする、1つ又は複数の命令(例えば「include(含める)」ステートメント、「package(パッケージする)」ステートメントなど)を含むことができる。例えば、DMLファイルのコンテンツは、以下の言語を含むことができる。
include"project.dml";

type sales#prospects#t=
record
class#t[integer(4)]educational;
business#t[integer(4)]commercial;
end;
「include」ステートメントの使用を介してDMLファイル(「project.dml」)にアクセスすることによって、DMLファイル内に定義された名前付きデータ型構造(例えば「business#t」)を取り出し、ファイル内に定義されたデータ型構造(例えば「sales#prospects#t」)を定義するために使用することができる。こうした機能は、矛盾するデータ型構造(例えば、同じ名前であるが異なる型定義を備えるデータ型構造)の可能性と共に、データ型定義の冗長性を低減させる。
図に示されるように、定義及び記憶されると、名前付きデータ型構造は開発者による選択及び使用のために提示することができる。例えば、ユーザ・インターフェース500は、アプリケーション(例えば、グローバル変数(Globals)502、関数(Functions)504、ユーザ定義タイプ(User-Defined Types)506など)を構築するためのプログラミング属性含むことができる。ユーザ・インターフェース500に提示されるように、3つの名前付きデータ型構造(例えば「person#t」、「business#t」、及び「class#t」)がユーザ定義タイプ506に含まれ、開発者が使用のために選択することができる。しかしながら、図3に提示されたドロップダウン・メニュー402と同様に、様々なアプリケーションに関するデータ型構造のリストが増えるにつれて、冗長なエントリが急増すると共にユーザ定義タイプ506に含まれるエントリが扱いにくくなる可能性がある。頻繁に使用される名前付きデータ型構造及びそれほど使用されない名前付きデータ型構造の増加により、いずれの特定データ型構造が使用可能であるかを識別することが困難になる可能性がある。開発者にとって、以前に定義されたデータ型構造を識別することが困難になり、過度に時間のかかるものになるにつれて、冗長性も問題になる可能性がある。ユーザ・インターフェース500の提示によって、各名前付きデータ型構造のリストが提供されるが、追加の情報はほとんど提供されない。例えば、データ型構造間の依存性の系統、及び関連するデータ型を如何にしてグループ化できるかなどは、一般に、ユーザ・インターフェース500にはない。更に、データ型構造の名前は提示されるが、データ型構造のコンテンツに関する情報は、各データ型構造のタイトルからひらめく以外にはインターフェースから一切提供されない。
図6を参照すると、名前付きデータ型構造及び構造を定義するフィールドの集合を表す、グラフィカル表現(graphical representation)600が示されている。加えてグラフィカル表現600は、データ型構造が定義及び記憶されるDMLファイル602(例えば「project.dml」)を識別する。グラフィカル表現600の一部は、ファイルの外部で呼ばれた場合にファイル内に定義された属性の名前の接頭辞を提供する、「package」と呼ばれるファイルに関するオプション名604を提供する。この特定の例において、パッケージ名は空白のままである。
この例では、グラフィカル表現600は、以下に定義されるように名前付きデータ型構造「person#t」を提示する。
type person#t=
record
string(",")surname;
string(",")given#name;
date("YYYY-MM-DD")date#of#birth;
integer(1)gender; // 0 for male,1 for female
decimal(9)SSN;
end
この例では、グラフィカル表現600は、閲覧者の左から右へと読み取られるように配向され、最初に名前付きデータ型構造606(例えば「person#t」)を閲覧者の左側に提示する。上記で定義された構造から、一連の矩形は、データ型構造「person#t」に入れ子にされた個々のフィールド(例えば、surname(姓)608、given#name(名)610、date of birth(生年月日)612、gender(性別)614、及びsocial security number(社会保障番号)616)を提示している。グラフィカル表現600は、名前付きデータ型構造及びそのコンテンツの階層レイアウトを伝える。グラフィカル表現600の一番左側に配置された名前606は構造全体を識別し、個々のフィールド608、610、612、614、616は更に右側に配置され、データ型構造の階層内の下位レベルに常駐することを示す。この提示から、閲覧者には、名前付きデータ型構造に関連付けられた情報の読みやすいグラフィカル・レイアウトが提供される。この場合、情報を提示するために矩形の形状が使用されているが、他の形状及び/又は異なる形状の集合も提示に使用可能である。閲覧者が効率的に名前付きデータ型構造の情報を確認するのを支援するために、他のグラフィカル特徴を組み込むことも可能である。例えば、異なる色を実装し、例えば閲覧者に潜在的な問題(例えば、名前付きデータ型構造内に反復又は矛盾するフィールドが定義されていること)を迅速に警告することが可能である。このインスタンスでは、情報を提示するために静的グラフィックが使用されているが、例えば閲覧者の注意を即時に引き付けるために、経時的に変化するグラフィクス(例えばアニメーション、ビデオなど)も使用可能である。例えば左から右への読み取り方向を使用する代わりに、他のグラフィカル表現も使用可能であり、1つ又は複数の名前付きデータ構造を提示するために他のレイアウト及び方向が実装可能である。
図7を参照すると、グラフィカル表現700は、3つの名前付きデータ型構造が定義された(例えば「project.dml」と名付けられた)DMLファイルを示す。特に、以前に定義された名前付きデータ型構造「person#t」(図6に図示)のグラフィカル表現600と共に、2つの追加の(「business#t」及び「class#t」とタイトル付けされた)名前付きデータ型構造がDMLファイル内にグラフィカルに表現されている。
type business#t=
record
string(",")business#name;
decimal(9)tax#payer#id;
decimal(11)main#TEL;
person#t[integer(4)] employees; // here
end
及び
type class#t=
record
string(",")home#room#instructor;
decimal(2)grade;
person#t[integer(4)] students; / /and here
end;
対応するグラフィカル表現702、704によって示された、「business#t」名前付きデータ型構造及び「class#t」名前付きデータ型構造の両方が、名前付きデータ型構造「person#t」によって定義されたフィールド(例えば、「business#t」名前付きデータ型構造に含まれる「employee」フィールド、及び「class#t」データ型構造に含まれる「student」フィールド)を含む。「business#t」及び「person#t」名前付きデータ型構造による「person#t」名前付きデータ型構造の使用をグラフィカルに示すために、対応する矢印706、708は、名前付きデータ型構造のペア間の接続を示している。これらのグラフィカルに表された関係から、閲覧者(例えば開発者)は、データ型構造間で共有される情報、(「person#t」などの)以前に定義された名前付きデータ型構造の使用の系統などの、名前付きデータ型構造間の関係を、比較的迅速に識別することができる。名前付きデータ型構造の関係のレイアウトを提供すると共に、グラフィカル表現700は、潜在的な調整の問題を閲覧者に視覚的に警告する。例えば、「person#t」名前付きデータ型構造が変更される場合、矢印706、708によって示されるように、「business#t」及び「class#t」の名前付きデータ型構造の両方が、この変更によって影響を受けることになる(例えば、「business#t」名前付きデータ型構造の「employees」フィールド及び「class#t」名前付きデータ型構造の「students」フィールドは、「person#t」名前付きデータ型構造へのいずれの変更も体験することになる)。データ型構造間の関係を提示することと同様に、ファイル間の関係などの他のタイプの関係をグラフィカルに提示することができる。
図8を参照すると、2つのDMLファイルがそれらの関係と共にグラフィカルに表されている。「project.dml」ファイル(図7に表示)のグラフィカル表現700は、DMLファイルによって定義された3つの名前付きデータ構造(例えば、「class#t」名前付きデータ構造702、「business#t」名前付きデータ構造704、及び「person#t」名前付きデータ構造600)と共に提示されている。加えて、「CRM.dml」とタイトル付けされた別のDMLファイルが、(「sales#prospects#t」とタイトル付けされた)名前付きデータ型構造が示されたグラフィカル表現800と共に示されている。この例では、2つの名前付きデータ型構造が「CRM.dml」ファイルによって定義され(例えば「educational」及び「commercial」と名付けられ)、2つの名前付きデータ型構造のそれぞれが、「project.dml」によって提供された名前付きデータ型構造を介して定義される。特に「educational」名前付きデータ型構造は「class#t」名前付きデータ型構造から定義され、「commercial」名前付きデータ型構造は「business#t」名前付きデータ型構造によって定義される。「CRM.dml」ファイルと「project.dml」ファイルとの間のこれら2つの関係を表すために、2つの矢印802、804がファイルの2つのグラフィカル表現をリンクしているものとして示されている。ファイル内でリンクされている名前付きデータ型構造の表現と同様に、2つ又はそれ以上のファイル間のフィールド及び名前付き型定義などのリンクを介して同様の関係を形成することが可能である。例えば、「project.dml」ファイル内の「class#t」名前付きデータ型構造702又は「business#t」名前付きデータ型構造704の定義に対して行われる(例えば「person#t」名前付きデータ構造600の変更による)調整は、リンクされた「CRM.dml」ファイル内のフィールド(例えば「educational」及び「commercial」)及び名前付きデータ型構造(例えば「sales#prospects#t」名前付きデータ型構造)に影響を与えることができる。
複数ファイルのフィールド及び名前付きデータ型構造間の関係についてグラフィカル表現を提示すると共に、ファイル間の関係を閲覧者にグラフィカルに表現することができる。例えばファイル・レベル動作を表現することができる。この例では、CRM.dmlファイルのフィールド(例えば「educational」及び「commercial」)が「project.dml」ファイル内の名前付きデータ型構造へのアクセスを達成するために、「project.dml」ファイルが「CRM.dml」ファイルによって識別される必要がある。「project.dml」ファイルへのアクセスを達成するために、例えば「include」ステートメントを「CRM.dml」ファイル内に入力することができる。識別をグラフィカルに表現するために、グラフィカル表現800内に独自のファイル名806をリスト表現すると共に、必要なパッケージ808として1つ又は複数の必要なファイル(例えば「project.dml」)も表現される。更にこの例では、破線矢印810が、「project.dml」ファイルのコンテンツへのアクセスを達成するために、「include」ステートメントを使用する「CRM.dml」ファイルのファイル・レベル動作をグラフィカルに表現している。
図9aを参照すると、様々なタイプのグラフィカル表現を使用して、ファイル、フィールド、及び名前付きデータ型構造の間の関係を示すことができる。例えばグラフィカル表現の視覚的な複雑さを低減させるために、様々な量の細部を削減又は除去することができる。示された例では、2つのDMLファイルのグラフィカル表現900、902から個々のフィールド情報が除去される。情報を除去することにより、データ型構造のグラフィカル表現904、906、908、910は、各名前付きデータ型構造の名前(例えば、「person#t」、「business#t」、「class#t」、及び「sales#prospects#t」)を簡単に表現することによって簡略化される。グラフィカル表現の視覚的ビジネスの量を削減すると共に、ファイル内の名前付きデータ型構造間の関係を表す矢印912、914、及び異なるファイル内に常駐する名前付きデータ型構造間の関係を表す矢印916、918などの、他の情報のために、面積が節約される。同様に、面積が節約されることによって、例えば、ファイル・アクセスを提供するための「include」ステートメントの使用を示すために、破線矢印920を用いてファイルが他のファイルを識別する、他の関係を、閲覧者が迅速に認識するのを助けることができる。名前付きデータ型構造及びそれらの関係の簡潔なビューを閲覧者(例えば開発者)に提供すると共に、グラフィカル表現によって他の機能を提供することができる。例えば、フィールド、名前付きデータ型構造、及び関連情報を操作することは、グラフィカル表現を使用することによってより効率的に実行することができる。
図9bを参照すると、ファイル・データ型構造、ファイルなどを効率的に構築、再構築などするために、グラフィカル表現を調整及び操作することができる。例えば、新規ファイルを定義するために、データ構造の表現を別々にグループ化することができる。図に示されるように、ファイルのグラフィカル表現(例えばDMLファイル表現900及び902)が除去され、開発者はデータ型構造のグラフィカル表現904、906、908、910のグループ化を調整することができる。同じか又は異なるファイル内に記憶するためにデータ型構造を認識可能にすると共に、こうした操作は、ファイル間の関係を向上させ、不必要な「include」ステートメントの発生を削減することができる。単に示された例で説明するために、(データ型構造「business#t」に関する)グラフィカル表現906を、より効率的な動作のために、(データ型構造「sales#prospects#t」に関する)グラフィカル表現910とグループ化することができる。グループ化されると、グラフィカル表現は、新規にグループ化されたデータ型構造を記憶するためのファイル作成を開始することができる。データ型構造のグループ化及び操作のためにこうした動作を使用すると共に、ファイル・レベル動作を実行することも可能である。例えば、ファイルのコンテンツ(例えばデータ型構造)の組み合わせ、除去、付加などのために、ファイルのグラフィカル表現(例えば表現900、902)を操作することが可能である。
図10を参照すると、フィールド、名前付きデータ型構造、及び他のタイプのプログラミング属性のグラフィカル表現を操作するためのエディタ1002を提供する、ユーザ・インターフェース1000が示されている。エディタ1002は、フィールド、名前付きデータ型構造、及び関連情報(例えばデータ型の関係を表現するための矢印)のグラフィカル表現を提示する、ウィンドウ1004を含む。エディタ1002は、ユーザ(例えば開発者)が、開発中のアプリケーション内に含めるために、様々なフィールド、名前付きデータ型構造などから選択できるようにするパレット1006も含む。例えば、図中に太字の矢印1008で示されるように、ポインティング・デバイスを使用して、名前付きデータ型構造を選択し、プロジェクト開発用のウィンドウ1004内に挿入すること(例えばドラッグ・アンド・ドロップ)ができる。同様に、選択及び挿入動作を逆に実行して、(開発された後の)名前付きデータ型構造をウィンドウ1004から選択し、パレット1006内に挿入することができる。選択及び挿入動作は、ウィンドウ1004又はパレット1006内で単独に実行することも可能である。例えば動作(例えばドラッグ・アンド・ドロップ動作)は、1つ又は複数のフィールド、名前付きデータ型構造などの作成、編集などのために、パレット1006内で実行することができる。同様に、動作(例えば選択、挿入、削除、付加など)は、フィールド、名前付きデータ型構造などを調整するために、ウィンドウ1004内でユーザによって開始することができる。他のタイプの操作動作も実行することが可能であり、例えば、フィールド、名前付きデータ型構造、ファイル(例えばDMLファイル)などの間の関係をグラフィカルに操作することができる。
図11を参照すると、フィールド、名前付きデータ型構造、ファイルなど、及び関係を操作するための動作は、ユーザ(例えば開発者)によってグラフィカルに開始することができる。例えば、フィールド及び名前付きデータ型構造間の関係を調整するために、矢印を操作(例えば削除、追加、移動など)することができる。この図示された例では、2本の線1100及び1102が削除される(ユーザのポインティング・デバイスを介してグラフィカル記号「x」を各線上にそれぞれ配置することによって示されている)。線の削除によって「project.dml」ファイルと「CRM.dml」ファイルとの間で処理される関係に基づき、「CRM.dml」はもはや「project.dml」ファイルのコンテンツにアクセスする必要がない。したがって、「project.dml」ファイルにアクセスするための「CRM.dml」ファイル内の命令(例えば「include「project.dml」」)は、(破線ボックス1104によって示されるように)「CRM.dml」ファイルから除去される。したがって、「CRM.dml」ファイルと「project.dml」ファイルとの間のこの関係を表す破線1106も、同様に、ファイルのグラフィカル表現から除去することができる。別の方法として、ファイル間のこうした関係が(例えば2つのファイルを線1100及び1102によって接続することによって)確立又は再確立される場合、命令(例えば「include「project.dml」」)を適切なファイル(例えば「CRM.dml」)内に挿入又は再挿入することが可能であり、この関係を示すために、グラフィカル表現(例えば破線1106)を再度提示することができる。
図12を参照すると、名前付きフィールド、名前付きデータ型構造、ファイルなどの量が増えるにつれて、ユーザ(例えば開発者)が、アプリケーション開発中に使用するために選択可能な潜在的フィールド、名前付きデータ型構造、ファイルなどの間をナビゲートするのを支援するために、1つ又は複数の技法を実装することができる。例えば、1つ又は複数のグラフィカル表現は、使用可能なフィールド及び名前付きデータ型構造を含むファイルの選択可能リストを提示することができる。いくつかの配置構成において、階層リストを使用して、ユーザがファイル、名前付きデータ型構造などをナビゲートする際に支援することができる。図に示されるように、ユーザが異なるパッケージ(例えば、XML処理データ型、ルックアップ・データ型、メタ・プログラミング・データ型、日付/時刻データ型、メタデータ型など)のリスト間をナビゲートできるようにするペイン1200が、ユーザ・インターフェース1202内に含められる。一配置構成において、選択が実行されると、名前付きデータ型構造及び関数などの選択されたパッケージ内に定義されたアーチファクトを、ユーザ・インターフェース1202の右側に配置されたグラフィカル表現内に表示し、必要に応じて操作(例えば選択、ナビゲート、ペイン1200上へのドラッグ・アンド・ドロップ)することができる。
アプリケーション開発のためのフィールド、名前付きデータ型構造、ファイルの編成、操作などと共に、開発者を支援するために他のタイプのプログラミング属性を同様にグラフィカル表現することができる。例えば、アプリケーションによって使用される関数、変数などは、更に多くのこうしたプログラミング属性が作成され、後に取り出して再使用するためにライブラリに記憶されるにつれて、同様に扱いにくくなっていく可能性がある。開発者が適切なプログラミング属性を識別及び選択する際に支援するための、他の技法も実装可能である。例えば、ファイル間でプログラミング属性を論理的に分散させるためのアルゴリズム(クラスタリング・アルゴリズムと呼ばれる)を、例えばフィールド、名前付きデータ型構造、関数などを編成するために使用することができる。こうした編成技法を介して、名前付きデータ型構造の冗長使用と共に、命令(例えば「include」ステートメント)の量を削減することができる。
図13を参照すると、フローチャート1300が、アプリケーション開発で使用される名前付きデータ型構造などのプログラミング属性をグラフィカルに表現するための手順の動作を示している。動作は、典型的には単一のコンピューティング・デバイス(例えば開発環境を提供する)によって実行されるが、動作は、複数のコンピューティング・デバイスによる実行も可能である。単一サイトでの実行と共に、動作の実行は2つ又はそれ以上の場所に分散させることが可能である。
動作は、アプリケーションを開発するための1つ又は複数のプログラミング属性の階層を表すデータ構造を定義すること1302を、含むことができる。1つ又は複数のデータ構造グループを定義するため、及び1つ又は複数のデータ構造グループを記憶するための1つ又は複数の新規ファイルを作成するために、データ構造のグラフィカル表現を操作できるようにするために、ファイルのグラフィカル表現を除去することができる。例えば、サブレコード、レコード、フィールド、名前付きデータ型構造などの階層を使用して、データ構造を定義することができる。データ構造は(記憶のために)単一ファイル内に含めるように定義されるが、いくつかの配置構成では、データ構造は(記憶及びその後の取り出しのために)複数ファイル内に含めることが可能である。動作は、データ構造のグラフィカル表現及びデータ構造を記憶するファイルのグラフィカル表現を含む視覚図を生成すること1304も含む。視覚図は、データ構造と別のデータ構造との間の関係のグラフィカル表現、及び、データ構造を記憶するファイルと他のデータ構造を記憶するファイルとの間の関係のグラフィカル表現も含む。例えば図7に示されるように、2つの名前付きデータ型構造(例えば「business#t」及び「class#t」)が、ファイル「project.dml」内に含まれる名前付きデータ型構造を表す視覚図内にグラフィカルに表現される。同じく視覚図内に示されたグラフ線706、708によって示されるように、他の名前付きデータ型構造(例えば「business#t」及び「class#t」)の両方によって使用されるフィールドの階層を含む、第3のデータ型構造(例えば「person#t」)も提示される。各データ構造のコンテンツを示すと共に、例えば、フィールド、名前付きデータ型構造などの系統及びそれらの関係を、閲覧者(例えば開発者)が比較的迅速に確認できるようにするために、データ構造間の関係がグラフィカルに表現されている。
前述の計算アーチファクトをグラフィカルに表現するための手法は、コンピュータ上で実行するためのソフトウェアを使用して実装可能である。例えば、ソフトウェアは、それぞれが少なくとも1つのプロセッサ、少なくとも1つのデータ記憶システム(揮発性及び不揮発性のメモリ及び/又は記憶素子を含む)、少なくとも1つの入力デバイス又はポート、及び少なくとも1つの出力デバイス又はポートを含む、1つ又は複数のプログラム済み又はプログラム可能なコンピュータ・システム(分散型、クライアント/サーバ、又はグリッドなどの様々なアーキテクチャとすることが可能である)上で実行する、1つ又は複数のコンピュータ・プログラム内に手順を形成する。ソフトウェアは、例えば、データフロー・グラフの設計及び構成に関する他のサービスを提供する、より大きなプログラムの1つ又は複数のモジュールを形成することが可能である。グラフのノード及び要素は、コンピュータ読み取り可能媒体内に記憶されたデータ構造、又は、データ・リポジトリ内に記憶されたデータ・モデルに準拠する他の編成済みデータとして実装可能である。
ソフトウェアは、汎用又は特定用途向けのプログラム可能コンピュータによって読み取り可能であるか、或いは、ネットワークの通信媒体を介して、実行されるコンピュータの記憶媒体へと送達される(伝搬信号内に符号化される)、CD−ROMなどの、記憶媒体上に提供することが可能である。すべての機能は、特定用途向けコンピュータ上で、又は、コプロセッサなどの特定用途向けハードウェアを使用して、実行可能である。ソフトウェアは、ソフトウェアによって指定された計算の異なる部分が異なるコンピュータによって実行される、分散様式で実装可能である。こうした各コンピュータ・プログラムは、好ましくは、本明細書で説明される手順を実行するために、記憶媒体又はデバイスがコンピュータ・システムによって読み取られた時にコンピュータを構成及び動作させるために、記憶媒体又はデバイス(例えば、ソリッド・ステート・メモリ又は媒体、或いは磁気又は光媒体)上に記憶されるか又はダウンロードされる。本発明のシステムは、コンピュータ・プログラムで構成された、コンピュータ読み取り可能記憶媒体として実装されるものとみなすことも可能であり、そのように構成された記憶媒体は、本明細書で説明された機能を実行するために、特定の事前に定義された様式でコンピュータ・システムを動作させる。
以上、本発明のいくつかの実施形態を説明してきた。しかしながら、本発明の趣旨及び範囲を逸脱することなく、様々な修正が実行可能であることを理解されよう。例えば、上記で説明したステップのいくつかは順序に依存していない場合があるため、説明した順序とは異なる順序で実行することができる。
前述の説明は、添付の特許請求の範囲によって定義される本発明の範囲を例示するものであり、それらを制限することは意図されていない旨を理解されよう。例えば、前述のいくつかの機能ステップは、処理全体に大きく影響を与えることなく異なる順序で実行可能である。他の実施形態は、以下の特許請求の範囲の範囲内にある。

Claims (13)

  1. 情報を表すための方法であって、
    アプリケーションを開発するための少なくとも1つのプログラミング属性の階層を表すデータ構造を定義することであって、前記データ構造は、前記データ構造を、他のファイルに記憶された他のデータ構造が使用できるようにするためにファイル内に記憶される、定義すること、及び、
    前記データ構造のグラフィカル表現及び前記データ構造を記憶する前記ファイルのグラフィカル表現を含む、視覚図を生成することであって、前記視覚図は、前記データ構造と別のデータ構造との間の関係のグラフィカル表現、及び、前記データ構造を記憶する前記ファイルと前記他のデータ構造を記憶する別のファイルとの間の関係のグラフィカル表現も含む、生成すること、
    を含む、方法。
  2. 前記ファイルの前記グラフィカル表現は、1つ又は複数のデータ構造グループを定義するため、及び、前記1つ又は複数のデータ構造グループを記憶するための1つ又は複数の新規ファイルを作成するために、前記データ構造の前記グラフィカル表現を操作できるように、除去可能である、請求項1に記載の方法。
  3. 前記少なくとも1つのプログラミング属性を調整するために、前記定義されたデータ構造を操作すること、
    を更に含む、請求項1に記載の方法。
  4. 前記少なくとも1つのプログラミング属性をファイルに挿入するために、前記定義されたデータ構造を操作すること、
    を更に含む、請求項1に記載の方法。
  5. 前記少なくとも1つのプログラミング属性と共に、ステートメントが前記ファイルに挿入される、請求項4に記載の方法。
  6. 前記データ構造を操作することはドラッグ・アンド・ドロップ動作を含む、請求項4に記載の方法。
  7. 前記定義されたデータ構造を操作することは、前記プログラミング属性の前記階層のコンテンツを追加すること、削除すること、及び編集することのうちの少なくとも1つを含む、請求項3に記載の方法。
  8. 前記プログラミング属性は名前付きデータ型である、請求項1に記載の方法。
  9. 前記プログラミング属性は関数である、請求項1に記載の方法。
  10. 前記データ構造と前記他のデータ構造との間の前記関係は、前記プログラミング属性の系統を表す、請求項1に記載の方法。
  11. 情報を表現するためのコンピュータ・プログラムを記憶するコンピュータ読み取り可能記憶媒体であって、前記コンピュータ・プログラムは、
    アプリケーションを開発するための少なくとも1つのプログラミング属性の階層を表すデータ構造を定義することであって、前記データ構造は、前記データ構造を、他のファイルに記憶された他のデータ構造が使用できるようにするためにファイル内に記憶される、定義すること、及び、
    前記データ構造のグラフィカル表現及び前記データ構造を記憶する前記ファイルのグラフィカル表現を含む、視覚図を生成することであって、前記視覚図は、前記データ構造と別のデータ構造との間の関係のグラフィカル表現、及び、前記データ構造を記憶する前記ファイルと前記他のデータ構造を記憶する別のファイルとの間の関係のグラフィカル表現も含む、生成すること、
    を、コンピューティング・システムに実行させるための命令を含む、コンピュータ読み取り可能記憶媒体。
  12. 情報を表すためのコンピューティング・システムであって、
    情報を処理するように構成された少なくとも1つのプロセッサであって、前記処理は、
    アプリケーションを開発するための少なくとも1つのプログラミング属性の階層を表すデータ構造を定義することであって、前記データ構造は、前記データ構造を、他のファイルに記憶された他のデータ構造が使用できるようにするためにファイル内に記憶される、定義すること、及び、
    前記データ構造のグラフィカル表現及び前記データ構造を記憶する前記ファイルのグラフィカル表現を含む、視覚図を生成することであって、前記視覚図は、前記データ構造と別のデータ構造との間の関係のグラフィカル表現、及び、前記データ構造を記憶する前記ファイルと前記他のデータ構造を記憶する別のファイルとの間の関係のグラフィカル表現も含む、生成すること、
    を含む、少なくとも1つのプロセッサと、
    前記データ構造及びファイルの前記グラフィカル表現、及び、前記データ構造の前記関係及び前記ファイルの前記関係のグラフィカル表現を含む、前記視覚図を提示するための出力デバイスと、
    を含む、コンピューティング・システム。
  13. 情報を表現するためのコンピューティング・システムであって、
    アプリケーションを開発するための少なくとも1つのプログラミング属性の階層を表すデータ構造を定義することであって、前記データ構造は、前記データ構造を他のファイルに記憶された他のデータ構造が使用できるようにするために、ファイル内に記憶される、定義すること、及び、
    前記データ構造のグラフィカル表現と、前記データ構造と別のデータ構造との間の関係のグラフィカル表現とを含む、視覚図を生成すること、
    を含む、処理のための手段、及び、
    前記データ構造及びファイルの前記グラフィカル表現、及び、前記データ構造の前記関係及び前記ファイルの前記関係の前記グラフィカル表現を含む、前記視覚図を提示するための手段、
    を含む、コンピューティング・システム。
JP2015534764A 2012-09-28 2013-09-27 プログラミング属性のグラフィカル表現 Active JP6557603B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261707343P 2012-09-28 2012-09-28
US61/707,343 2012-09-28
PCT/US2013/062369 WO2014052873A1 (en) 2012-09-28 2013-09-27 Graphically representing programming attributes

Publications (3)

Publication Number Publication Date
JP2015535370A true JP2015535370A (ja) 2015-12-10
JP2015535370A5 JP2015535370A5 (ja) 2016-11-10
JP6557603B2 JP6557603B2 (ja) 2019-08-07

Family

ID=49448262

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015534764A Active JP6557603B2 (ja) 2012-09-28 2013-09-27 プログラミング属性のグラフィカル表現

Country Status (9)

Country Link
US (1) US9852153B2 (ja)
EP (1) EP2901272B1 (ja)
JP (1) JP6557603B2 (ja)
KR (1) KR102021915B1 (ja)
CN (1) CN104685467B (ja)
AU (1) AU2013323260B2 (ja)
CA (1) CA2884365C (ja)
HK (1) HK1208544A1 (ja)
WO (1) WO2014052873A1 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2940960A1 (en) 2008-12-02 2010-06-10 Ab Initio Technology Llc Visualizing relationships between data elements and graphical representations of data element attributes
US10924467B2 (en) * 2016-11-04 2021-02-16 Microsoft Technology Licensing, Llc Delegated authorization for isolated collections
US10514854B2 (en) 2016-11-04 2019-12-24 Microsoft Technology Licensing, Llc Conditional authorization for isolated collections
KR101971900B1 (ko) * 2018-04-23 2019-04-24 한다시스템 주식회사 Gui 기반의 프로그램 개발 환경 제공 방법 및 이를 위한 컴퓨터 프로그램
CN110244978A (zh) * 2019-06-14 2019-09-17 上海英方软件股份有限公司 一种图形化显示数据结构的方法及装置
US10795796B1 (en) 2020-01-24 2020-10-06 Qumulo, Inc. Predictive performance analysis for file systems
KR102364893B1 (ko) * 2020-02-19 2022-02-18 (주)파모즈 서버 개발 서비스 제공 방법 및 서버 개발 서비스 제공 방법을 수행하기 위한 프로그램이 저장된 저장매체
US11775481B2 (en) 2020-09-30 2023-10-03 Qumulo, Inc. User interfaces for managing distributed file systems
US11567660B2 (en) 2021-03-16 2023-01-31 Qumulo, Inc. Managing cloud storage for distributed file systems
US11669255B2 (en) 2021-06-30 2023-06-06 Qumulo, Inc. Distributed resource caching by reallocation of storage caching using tokens and agents with non-depleted cache allocations
US11599508B1 (en) * 2022-01-31 2023-03-07 Qumulo, Inc. Integrating distributed file systems with object stores
US11722150B1 (en) 2022-09-28 2023-08-08 Qumulo, Inc. Error resistant write-ahead log
US11729269B1 (en) 2022-10-26 2023-08-15 Qumulo, Inc. Bandwidth management in distributed file systems
KR102659150B1 (ko) * 2023-08-04 2024-04-19 인스피언 주식회사 애플리케이션 서비스 제공 장치, 애플리케이션 서비스 제공 방법 및 애플리케이션 서비스를 제공하는 컴퓨터로 실행가능한 프로그램을 저장하는 저장매체
US11921677B1 (en) 2023-11-07 2024-03-05 Qumulo, Inc. Sharing namespaces across file system clusters
US11934660B1 (en) 2023-11-07 2024-03-19 Qumulo, Inc. Tiered data storage with ephemeral and persistent tiers

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04267434A (ja) * 1991-02-22 1992-09-24 Hitachi Ltd データ管理方式
JPH07319676A (ja) * 1994-05-20 1995-12-08 Hitachi Ltd メッセージフロー図生成方式
WO2001082072A1 (en) * 2000-04-21 2001-11-01 Togethersoft Corporation Methods and systems for generating source code for object-oriented elements
WO2001082068A1 (en) * 2000-04-21 2001-11-01 Togethersoft Corporation Methods and systems for identifying dependencies between object-oriented elements
JP2012510688A (ja) * 2008-12-02 2012-05-10 アビニシオ テクノロジー エルエルシー データ要素とデータ要素の属性のグラフ表現との関係の視覚化

Family Cites Families (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3079881B2 (ja) 1993-08-10 2000-08-21 三菱自動車工業株式会社 道路交通状況推定方法および車両運転特性制御方法
JP3239170B2 (ja) 1994-07-25 2001-12-17 アタカ工業株式会社 攪拌曝気装置における軸流インペラ
US5966072A (en) 1996-07-02 1999-10-12 Ab Initio Software Corporation Executing computations expressed as graphs
US6003040A (en) 1998-01-23 1999-12-14 Mital; Vijay Apparatus and method for storing, navigating among and adding links between data items in computer databases
US7725433B1 (en) 1998-01-26 2010-05-25 International Business Machines Corporation Data navigation system and method employing data transformation lineage model
JPH11307412A (ja) 1998-04-20 1999-11-05 Matsushita Electron Corp 半導体製造データ処理方法
US6742003B2 (en) 2001-04-30 2004-05-25 Microsoft Corporation Apparatus and accompanying methods for visualizing clusters of data and hierarchical cluster classifications
US6725227B1 (en) 1998-10-02 2004-04-20 Nec Corporation Advanced web bookmark database system
US7117219B1 (en) 2000-05-05 2006-10-03 Group 1 Software, Inc. Method and apparatus for creating a lineage of a data field in a data flow system
US6859217B2 (en) * 2000-07-19 2005-02-22 Microsoft Corporation System and method to display and manage data within hierarchies and polyarchies of information
JP2002288403A (ja) 2001-03-27 2002-10-04 Ntt Comware Corp プロジェクト管理システム、プロジェクト管理方法、及びプロジェクト管理プログラム
EP1258814A1 (en) 2001-05-17 2002-11-20 Requisite Technology Inc. Method and apparatus for analyzing the quality of the content of a database
US7970240B1 (en) 2001-12-17 2011-06-28 Google Inc. Method and apparatus for archiving and visualizing digital images
US7401064B1 (en) 2002-11-07 2008-07-15 Data Advantage Group, Inc. Method and apparatus for obtaining metadata from multiple information sources within an organization in real time
US7546226B1 (en) 2003-03-12 2009-06-09 Microsoft Corporation Architecture for automating analytical view of business applications
US7120619B2 (en) 2003-04-22 2006-10-10 Microsoft Corporation Relationship view
US20040255239A1 (en) 2003-06-13 2004-12-16 Ankur Bhatt Generating electronic reports of data displayed in a computer user interface list view
EP1510938B1 (en) 2003-08-29 2014-06-18 Sap Ag A method of providing a visualisation graph on a computer and a computer for providing a visualisation graph
EP1510937A1 (en) 2003-08-29 2005-03-02 Sap Ag A method of providing a visualisation graph on a computer and a computer for providing a visualisation graph
US7698348B2 (en) 2003-12-19 2010-04-13 Kinaxis Holdings Inc. Extended database engine providing versioning and embedded analytics
US7197502B2 (en) 2004-02-18 2007-03-27 Friendly Polynomials, Inc. Machine-implemented activity management system using asynchronously shared activity data objects and journal data items
US7594227B2 (en) 2004-03-08 2009-09-22 Ab Initio Technology Llc Dependency graph parameter scoping
US7496583B2 (en) 2004-04-30 2009-02-24 Microsoft Corporation Property tree for metadata navigation and assignment
KR101126028B1 (ko) 2004-05-04 2012-07-12 더 보스턴 컨설팅 그룹, 인코포레이티드 관련된 데이터베이스 레코드들을 선택하고, 분석하며,네트워크로서 비주얼화하기 위한 방법 및 장치
US7177883B2 (en) 2004-07-15 2007-02-13 Hitachi, Ltd. Method and apparatus for hierarchical storage management based on data value and user interest
US7456840B2 (en) 2004-08-31 2008-11-25 Oracle International Corporation Displaying information using nodes in a graph
US7844582B1 (en) 2004-10-28 2010-11-30 Stored IQ System and method for involving users in object management
US7899833B2 (en) 2004-11-02 2011-03-01 Ab Initio Technology Llc Managing related data objects
US7363315B2 (en) * 2005-02-22 2008-04-22 Sap Ag Creating, editing, and displaying hierarchical data structures associated with data in a data source
US8176002B2 (en) 2005-03-24 2012-05-08 Microsoft Corporation Method and system for user alteration of the configuration of a data warehouse
US7734619B2 (en) 2005-05-27 2010-06-08 International Business Machines Corporation Method of presenting lineage diagrams representing query plans
US7877350B2 (en) 2005-06-27 2011-01-25 Ab Initio Technology Llc Managing metadata for graph-based computations
US7716630B2 (en) 2005-06-27 2010-05-11 Ab Initio Technology Llc Managing parameters for graph-based computations
US20070061287A1 (en) 2005-09-09 2007-03-15 Jian Le Method, apparatus and program storage device for optimizing a data warehouse model and operation
US7493570B2 (en) 2005-09-12 2009-02-17 International Business Machines Corporation User interface options of a data lineage tool
US8577852B2 (en) 2006-03-23 2013-11-05 Infaxiom Group, Llc Automated records inventory and retention schedule generation system
WO2007127956A2 (en) 2006-04-28 2007-11-08 Business Objects, S.A. Apparatus and method for merging metadata within a repository
GB0608926D0 (en) 2006-05-05 2006-06-14 Ibm An assessment method and apparatus for matching vendor offerings to service provider requirements
US8654125B2 (en) 2006-06-22 2014-02-18 International Business Machines Corporation System and method of chart data layout
JP2008134705A (ja) 2006-11-27 2008-06-12 Hitachi Ltd データ処理方法及びデータ分析装置
US7590672B2 (en) 2006-12-11 2009-09-15 Bycast Inc. Identification of fixed content objects in a distributed fixed content storage system
US8640086B2 (en) 2006-12-29 2014-01-28 Sap Ag Graphical user interface system and method for presenting objects
US20080172629A1 (en) 2007-01-17 2008-07-17 Microsoft Corporation Geometric Performance Metric Data Rendering
US7849050B2 (en) 2007-01-29 2010-12-07 Business Objects Data Integration, Inc. Apparatus and method for analyzing impact and lineage of multiple source data objects
CA2593233A1 (en) 2007-07-06 2009-01-06 Cognos Incorporated System and method for federated member-based data integration and reporting
US8266122B1 (en) 2007-12-19 2012-09-11 Amazon Technologies, Inc. System and method for versioning data in a distributed data store
US8332782B1 (en) 2008-02-22 2012-12-11 Adobe Systems Incorporated Network visualization and navigation
US9760612B2 (en) 2008-02-26 2017-09-12 Ab Initio Technology, Llc Graphic representations of data relationships
US8819010B2 (en) 2010-06-28 2014-08-26 International Business Machines Corporation Efficient representation of data lineage information
WO2012031301A1 (en) * 2010-09-03 2012-03-08 Jackson Robert Lewis Jr Sparse dynamic selection trees
US9256350B2 (en) 2011-03-30 2016-02-09 Nexsan Technologies Incorporated System for displaying hierarchical information
US20120310875A1 (en) 2011-06-03 2012-12-06 Prashanth Prahlad Method and system of generating a data lineage repository with lineage visibility, snapshot comparison and version control in a cloud-computing platform
US9659042B2 (en) 2012-06-12 2017-05-23 Accenture Global Services Limited Data lineage tracking
US10089335B2 (en) 2012-07-10 2018-10-02 Microsoft Technology Licensing, Llc Data lineage across multiple marketplaces
US20160063106A1 (en) * 2012-08-08 2016-03-03 Google Inc. Related Entity Search
US9075860B2 (en) 2012-10-18 2015-07-07 Oracle International Corporation Data lineage system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04267434A (ja) * 1991-02-22 1992-09-24 Hitachi Ltd データ管理方式
JPH07319676A (ja) * 1994-05-20 1995-12-08 Hitachi Ltd メッセージフロー図生成方式
US20020032900A1 (en) * 1999-10-05 2002-03-14 Dietrich Charisius Methods and systems for generating source code for object oriented elements
US20020097253A1 (en) * 1999-10-05 2002-07-25 Dietrich Charisius Methods and systems for identifying dependencies between object-oriented elements
WO2001082072A1 (en) * 2000-04-21 2001-11-01 Togethersoft Corporation Methods and systems for generating source code for object-oriented elements
WO2001082068A1 (en) * 2000-04-21 2001-11-01 Togethersoft Corporation Methods and systems for identifying dependencies between object-oriented elements
JP2012510688A (ja) * 2008-12-02 2012-05-10 アビニシオ テクノロジー エルエルシー データ要素とデータ要素の属性のグラフ表現との関係の視覚化

Also Published As

Publication number Publication date
EP2901272B1 (en) 2021-01-06
CN104685467B (zh) 2018-06-29
US20140095560A1 (en) 2014-04-03
HK1208544A1 (en) 2016-03-04
AU2013323260B2 (en) 2018-08-09
KR20150063409A (ko) 2015-06-09
AU2013323260A1 (en) 2015-03-19
CN104685467A (zh) 2015-06-03
US9852153B2 (en) 2017-12-26
EP2901272A1 (en) 2015-08-05
CA2884365A1 (en) 2014-04-03
JP6557603B2 (ja) 2019-08-07
CA2884365C (en) 2020-09-08
KR102021915B1 (ko) 2019-09-17
WO2014052873A1 (en) 2014-04-03

Similar Documents

Publication Publication Date Title
JP6557603B2 (ja) プログラミング属性のグラフィカル表現
AU2018213989B2 (en) Visualizing relationships between data elements and graphical representations of data element attributes
JP6488317B2 (ja) キー指定される実体の属性のマッピング

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160920

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160920

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170823

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170919

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20171212

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180316

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180822

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20181120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190122

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190613

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190712

R150 Certificate of patent or registration of utility model

Ref document number: 6557603

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250