JP2003505785A - 階層構造制御情報エディタ - Google Patents

階層構造制御情報エディタ

Info

Publication number
JP2003505785A
JP2003505785A JP2001513029A JP2001513029A JP2003505785A JP 2003505785 A JP2003505785 A JP 2003505785A JP 2001513029 A JP2001513029 A JP 2001513029A JP 2001513029 A JP2001513029 A JP 2001513029A JP 2003505785 A JP2003505785 A JP 2003505785A
Authority
JP
Japan
Prior art keywords
context
data
parameter
specifying
hierarchical
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
JP2001513029A
Other languages
English (en)
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 JP2003505785A publication Critical patent/JP2003505785A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Document Processing Apparatus (AREA)

Abstract

(57)【要約】 第1プロセスは、階層構造の制御情報を作成し、変更し、かつ表示する文脈依存エディタを提供する。このエディタは、即時現行文脈に適した動作選択を提示し、それによりユーザの操作プロトコルを簡素化する。エディタは文脈間の関係および多義性を理解するので、そのエディタおよびディスプレイは、スクリプト言語に頼ることなくブロックの反復性および条件制限を表現する。エディタは、関連文脈の表示規則に従って制御情報を表示する。提示はバルクテキストと、テキストが存在している構造と、パラメータ化された要素とを明瞭に区別する。エディタはメタ制御情報であるものを情報としての表示の仕方で効果的に操作する。第2プロセスは、制御情報をコードジェネレータスクリプトデータなど、機械に理解可能なフォーマットに系統的に変換する方法を提供する。

Description

【発明の詳細な説明】
【0001】
【技術分野】
本発明は、グラフィカルユーザインタフェースを利用して原始コードテンプレ
ートを目標言語で編集するためのシステムおよび方法に関する。さらに詳しくは
、本発明は、プログラマがアプリケーションドメインによって提供される文脈メ
タデータにより目標原始コードをパラメータ化するシステムおよび方法に関する
。彼は、視覚的に明瞭であり、維持が容易であり、かつ完全に首尾一貫したコー
ドの反復ネスティング構造を決定する。
【0002】
【背景技術】
オブジェクト指向技術は、実世界を従来の技術より厳密にモデル化するのに役
立ち、それは主としてモデルリングツールを用いて行なわれる。複雑なシステム
を構築しながら、ソフトウェアプログラマおよびクライアントは彼らの共通語彙
を容易に設定することができ、それは彼らがシステム要件を効果的に洗練するの
に役立つ。オブジェクト指向技術はまた、特にフレームワークが使用されるとき
に、彼らが容易に拡張可能であるシステムを構築するのに役立つ。
【0003】 モデリングツールは、特定のプログラミング言語、オペレーティングシステム
、およびアプリケーションを実行するハードウェアの「物理的実現」から抽象化
されるアプリケーションの事業目的を論理的に叙述するために、プログラマまた
はアナリストによって使用される。
【0004】 オブジェクト指向プログラミングが普及してきている理由の1つは、ソフトウ
ェアの再使用がいっそう重要になってきていることである。新しいシステムの開
発は高価であり、それらの維持はさらにいっそう高価である。米国国立標準局の
ウィルマ・オズボーン(Wilma Osborne)による最近の研究は、ソ
フトウェアの総費用の60ないし85パーセントが維持のためのものであること
を示唆している(Ware Meyers, Interview with
Wilma Osborne. IEEE Software 5(3): 1
04−105, 1988)。
【0005】 プログラマは伝統的に「カットアンドペースト」技法を使用して、反復または
準反復手法の実現を促進する。一種のテンプレートは、変更が必要な場所に注釈
を付け、共通場所に保存され、何らかの手動的介在によりプログラマによって再
使用される目標原始コードのブロックである。そのブロックの目標コードを作成
したプログラマまたは別のプログラマはその後、適切な行をコピーして彼が作業
しているコード内にペーストし、その特定の使用のために適切な変更を行なうこ
とによって、これらの行を再使用することができる。この方法は、コードの正し
い行をしばしば繰返しコピーすることに加えて、プログラマは全ての適切なコン
ポーネントの名前をそれらの適切な同等物に置換しなければならないので、誤り
を生じやすく、かつ時間を要する。これは、注釈付き原始コードテンプレートに
よるコーディングと呼ばれる。
【0006】 一部の生成ソフトウェアツールは、プログラマがパラメータ化された原始コー
ドの行から成るテキスト生成テンプレートを使用して、新しいオペレーションま
たはコンポーネントを作成することを可能にする。これらのテキスト生成テンプ
レートは、プログラマがフィルタ変数を用いることによりコードを生成すること
を希望する、選択したコンポーネントを指定するだけでなく、文脈変数によって
パラメータ化された目標原始コードを用いてオペレーションの完全な仕様を定義
することをも可能にする。コンポーネントおよび属性フィルタ変数は、モデリン
グツールからの情報をフィルタリングするため、およびその動的生成文脈を実装
するための選択基準として、コードジェネレータによって使用される。文脈変数
は、コードジェネレータがその動的文脈で見つかった現行コンポーネントまたは
属性に関連付けられる実特性値に置換する、コンポーネントまたは属性特性名を
参照する。
【0007】 これらのコードジェネレータは、今日のモデリングツールおよびプログラミン
グ言語を用いて開発されたコンポーネントをフレームワークに統合するための生
成時間制御およびカスタマイズを果たすために用いられる。テキスト生成テンプ
レートは、厳格な構文を用いて与えられ、かつ提供されるパラメータ化原始コー
ド内の文脈変数と置換するために原始コードジェネレータにより使用される、プ
ログラマの命令を付けて作成される。例えば、1行のコードは“persist
enceSchema=new PersistenceSchema(“%0
01”);with (&class name)”とすることでき、ここで“
%001”は、ジェネレータによって文脈変数の値、例えば文脈変数“<クラス
名>”が置かれる場所を表わすパラメータ記号である。プログラマは、これらの
記号を用いてテキスト生成テンプレートを作成しなければならない。それぞれ文
脈変数に関連付ける必要のあるパラメータ記号が%001から%999まで2つ
以上ある場合には特に、プログラマがコンポーネントの命名において一貫性を維
持するために、そのようなシンボルのメンタルリストを構築しなければならない
。パラメータ記号は常に同一文脈変数に関連付けられるので、それはパラメータ
化された原始コード内に2回以上現われることができる。そのような記号は、プ
ログラマが非パラメータ化形式で通常行なうようにコードをタイプすることがで
きないという意味で、ユーザフレンドリではない。加えて、これらの記号は、ジ
ェネレータによる適切な解釈を確実にするために、コード行内で定義しなければ
ならない。前の例では、パラメータ記号“%1”をジェネレータの動的文脈内で
見つかる現行クラスに関連付けられる文脈変数の現行値で置換するようにジェネ
レータに指示するために、命令“with (&class name)”を追
加しなければならない。また、コードの特定の部分を、フィルタ変数によって提
供される選択基準をアドレス指定するコンポーネントの属性に対して2回以上繰
り返さなければならない場合、準反復オペレーションを確実にするために、“r
epeatForEach &attribute private inst
ance using (&attribute name; &attrib
ute attributeClassName;”のような種類の命令を含め
なければならない。この場合、コードジェネレータはテンプレートを受け取り、
次いで、どのテンプレートをどのコンポーネントに使用するかを指定するために
定義されたシステムおよびフィルタ変数のモデル宣言を使用して、原始コードに
変換する。
【0008】 キーワード(すなわち%001)およびそのようなキーワードの定義(すなわ
ちrepeatForEach....using...またはwith...
)に頼ってそのような構文を使用する代わりに、プログラマは、パラメータ化さ
れたコードを、所定のプログラミング言語で実装されたアルゴリズムによって実
行される命令の結果と連結することを決定することができる。例えばリンゼー(
Lindsey)の米国特許第5,675,801号に教示されているように、
ソフトウェアは別のオペレーションの結果によりパラメータ化された形の式を解
く。さらに詳しくは、NumericDataItemObjectとして知ら
れ“IdNumber”と呼ばれるC変数を表わすデータ指向オブジェクト用の
C言語の宣言原始コードテンプレートの例では、“int<self VarN
ame>;”のような種類の命令はこの原始コードテンプレートの原始コード断
片部分であり、ジェネレータのための指示は“<self VarName>”
である。この例では、“<“および”>”は、ジェネレータの指示の始めと終り
を示す任意の区切り記号である。この場合、オブジェクト識別子はトークン“s
elf”であり、これはそれ自体を、すなわちその変数名、“IdNumber
”を生成するように要求されるオブジェクトを指す。メッセージ識別子は、オブ
ジェクト“self”に送られるメッセージとなるトークン“varName”
である。このメッセージはオブジェクト“self”に、変数宣言で使用された
ときにそれ自体を表わす文字列を返すように指示する。リンゼーのこの例では、
名前が“IdNumber”であるNumericDataItemObjec
tは、文字列“idNumber”を返す。結果的に得られる目標言語の原始コ
ード断片は“int idNumber”であり、これはC言語原始コード断片
である。
【0009】 色およびその他の表示アーチファクトの使用は、アルゴリズムの手続きの流れ
を理解を高めるために原始コードエディタで用いられてきたが、反復的および/
またはネスト文脈ブロックなど、提供される情報の構造を説明するため用いられ
たことはない。例えば、その条件式に異なる色を使用するIf−then−el
se文、条件式の結果に基づいて実行しなければならないその真式、および偽式
など。表示アーチファクトは、各属性が1組の選択基準を満たすたびに同じif
−then−else式が所定のコンポーネントアルゴリズム内で繰り返される
ことを示すために使用されたことはない。
【0010】
【発明の開示】
したがって、本発明の目的は、プログラマが視覚的に明瞭かつ効率的なテンプ
レートを作成することを可能にするエディタを提供することである。
【0011】 本発明の別の目的は、反復的コードおよびネストコードが明瞭に識別されるエ
ディタを提供することである。
【0012】 本発明の別の目的は、所望のテンプレートを得るために最小限のプログラマの
介在を必要とする原始コードテンプレートを作成するためのエディタを提供する
ことである。
【0013】 本発明のさらに別の目的は、ウェブをベースとするサーバ、フレームワーク環
境、コードジェネレータまたはその他などのあらゆる種類の環境で使用できるテ
ンプレート原始コードを編集する要求を満たすテンプレートエディタを提供する
ことである。
【0014】 本発明の別の目的は、エディタを使用してスクリプトテンプレートを生成する
ことである。
【0015】 コンピューティング環境で上記の目的を達成するため、および本書で大まかに
説明する発明の目的に従って、コンポーネントをベースとする原始コードのテン
プレートを編集するためのシステムを提供する。このシステムは、原始コードを
入力するための文脈エディタ、およびパラメータ化されている場合、生成時にジ
ェネレータによって実特性値と置換されるコンポーネントまたは属性特性名を表
わす文脈変数を含む。原始コードは実際には、相互にネストすることのできる文
脈ブロック内に取り込まれる。それらは固定、条件付き、または反復的文脈ブロ
ックを表わすことができ、その場合、文脈ブロックが生成されるかどうか、およ
びそれが何回発生するかを決定するために、条件式が提供される。
【0016】 第2の方法は、原始コードテンプレートを作成し、制御情報を文脈的に取り込
み、表示効果を用いて文脈変数および文脈ブロックを表現することに備える。こ
れらの効果は、とりわけ特殊フォント、変形カーソル動作、または音響効果さえ
も含む。
【0017】 本発明の一般的態様で、2つの独自の好適な実施形態を提供し、それらは両方
とも階層構造制御情報の操作に関連する。第1プロセスは、人間のために制御情
報の効果的な作成、変形、および視覚化を可能にする。第2プロセスは、この制
御情報から機械に理解可能なフォーマットへの決定的変換を実現する。
【0018】 第1プロセスは、階層構造の制御情報を作成し、変更し、かつ表示する文脈依
存エディタを提供する。このエディタは、即時現行文脈に適した動作選択を提示
し、それによりユーザの操作プロトコルを簡素化する。エディタは文脈間の関係
および多義性(multiplicity)を理解するので、そのグラフィカル
ユーザインタフェースは、スクリプト言語に頼ることなくブロックの反復性およ
び条件制限を表現する。エディタは、関連文脈の提示規則に従って制御情報を表
示する。提示はバルクテキストと、テキストが存在している構造と、パラメータ
化された要素とを明瞭に区別する。エディタはメタ制御情報であるものを情報と
して表示する方法で効果的に操作する。
【0019】 本発明の好適な実施形態では、階層構造データを表示するための方法およびシ
ステムを提供する。この方法およびシステムは、階層構造データのパラメータ要
素に関する制御情報を指定し、階層構造データ用のテンプレートを編集し、かつ
データの非パラメータ要素を指定し、文脈パラメータをデータのパラメータ要素
として指定し、少なくとも1つの非パラメータ要素および1つのパラメータ要素
を含む階層構造データの少なくとも1ブロックのためのフィルタリングオプショ
ンを指定し、表示特性を各フィルタリングオプションに関連付け、表示特性を用
いて識別された階層構造データを表示することを含む。
【0020】 第2プロセスは、制御情報を機械に理解可能なフォーマットに系統的に変換す
る方法を提供する。
【0021】 本発明の別の好適な実施形態では、階層構造データをコードジェネレータスク
リプトデータに変換するための方法を提供する。この方法は、階層構造データの
パラメータ要素に関する制御情報を指定し、階層構造データ用のテンプレートを
編集し、かつデータの非パラメータ要素を指定し、文脈パラメータをデータのパ
ラメータ要素として指定し、少なくとも1つの非パラメータ要素および1つのパ
ラメータ要素を含む階層構造データの少なくとも1ブロックのためのフィルタリ
ングオプションを指定し、所望の原始コード言語に制御情報、テンプレート、フ
ィルタリングオプション、および文脈パラメータを使用してコードジェネレータ
スクリプトデータを生成することを含む。
【0022】 このように本発明の性質を一般的に説明したが、今から、例証としてその好適
な実施形態を示す添付の図面を参照しながら説明しよう。
【0023】
【好適な実施形態の詳細な説明】
テンプレートプログラマのコーディングプロセスを容易にするために、新階層
構造制御情報エディタ(以下、「テンプレートエディタ」という)を作成した。
このテンプレートエディタはエディタを使用して、階層構造およびパラメータ化
コードを表示する。
【0024】 階層構造制御情報エディタの主目的は、ジェネレータへの任意の入力に対して
どのような出力が生成されるかが即座に明瞭になるように、プログラマが生成出
力に視覚的に近い形で生成テンプレートを作成しかつ編集することを可能にする
ことである。これを可能にするために、テンプレートエディタは、プログラマが
テキスト(24)をタイプし、文脈変数(25)を挿入し、または文脈ブロック
(23)を挿入することのできるグラフィカル文脈エディタ(図2)を提供する
。ユーザ入力テキストと様々な種類の文脈変数(25)または文脈ブロック(2
3)との間の違いは、テキスト/背景色、カーソル/テキスト動作などのような
様々な視覚的効果によって示される(図1の文脈提示規則31を参照されたい)
。文脈変数(25)は変更できない。それらは読出し専用文字列である。文脈変
数文字列に対して可能な唯一の動作は、それらを置換または削除することである
【0025】 図1は、エディタの実装の統一モデリング言語(UML)を示す。主クラスは
文脈ブロック23、文脈変数25、およびテキスト文字列24である。以下の本
文は、グラフィカルユーザインタフェース(GUI)の編集およびスクリプト言
語の変換の両方に関連するそれらの役割を説明する。
【0026】 テキスト文字列24は、文脈ブロック23における静的データ(すなわち1組
の文字)を表わす。文脈ブロックによってテキストの外観は変化する。加えて、
各文字はそれ自体の編集ルーチンの組を持つ。これらのルーチンは、プログラマ
がその文字を変更しようとするときに実行される。テキスト文字列24の各文字
はまた、それ自体の振舞い特性の組をも持つ。文字の振舞い特性は多くの連続文
字の実行に対してそれ自体繰り返す傾向があるので、コンピュータメモリを節約
するために疎表現が使用される。
【0027】 文脈変数25はその文脈ブロック23によってモデルオブジェクトにリンクさ
れ、したがってそのオブジェクトの様々な特性を表わすことができる。テンプレ
ートエディタ20では、文脈変数25の各文字はテキスト文字列24のそれと同
一構造を持つ。テンプレートエディタ20は、表現の編集を許可しないことによ
って、文脈変数25の完全性を維持する。
【0028】 文脈ブロック23はテキスト文字列24、および/または文脈変数25、およ
び/またはその他のネスト文脈ブロック23を含む。文脈ブロック23の役割は
、それに対して設定された条件に従ってその内容を繰返し、または条件付きで生
成することである。繰り返すことが必要な文脈ブロック23の場合、プログラマ
は、繰返しの回数を決定するために必要な選択基準(すなわち条件およびフィル
タ変数)を提供しなければならない。プログラマは、基準の使用を通して繰返し
ごとの文脈ブロック23の順序付けを制御する。
【0029】 文脈ブロック23にフィルタまたは条件基準が設けられている場合、その基準
の要件が満たされない限り、ブロックは生成されない。文脈ブロック23は、選
択基準に整合する各オブジェクトに対してインスタンス生成される。
【0030】 文脈ブロック23は、条件付き(33)、固定(23)、および反復(32)
の3つのフォーマットを持つ。条件付き文脈ブロック(33)は、そのフィルタ
(すなわち基準)によって捕獲された各オブジェクトに対して一意に生成される
。固定文脈ブロック(23)は、その条件が常に真である条件付き文脈ブロック
(33)のようなものである。しかし、反復文脈ブロック(32)は、文脈ブロ
ック条件(例えば、クラスの全ての目標役割)によって捕獲された各項目ごとに
オブジェクト内で繰返し生成される。反復文脈ブロック(32)はまた、ブロッ
クの各繰返しの間に、1つのコンマとその後に続く1つの空白を挿入するなど、
ユーザ定義デリミタテキストを挿入することも可能である。
【0031】 オブジェクト指向言語で開発される実際の実現では、テキスト(24)は文字
列オブジェクトおよび文字列と同一サイズの配列オブジェクトから成る。テキス
トの配列オブジェクトは、テキストの振舞い特性を表わす。文字列オブジェクト
内の各文字ごとに、色、フォントサイズ、太字またはイタリック体特性など、文
字の図形表示のための情報を含むオブジェクトが対応する配列位置にある。この
振舞い特性はまた、それが文脈変数であるか、それともテキスト文字列24であ
るかにかかわらず、文字の型をも格納する。これらの特性は振舞い特性を含み、
スクリーンのテキストをテンプレートエディタのクラス図のオブジェクトにリン
クする。
【0032】 テンプレートエディタに入力された生成テンプレートのスクリプト言語フォー
マットへの変換について、今から説明する。クラス図(図1)に示すように、生
成テンプレートは一連の文脈ブロック23である。文脈ブロックは一連のテキス
ト文字列24、文脈変数25、および文脈ブロック23を含む。
【0033】 テキスト文字列24は静的テキストを表わし、それはスクリプト言語フォーマ
ットでそのまま表わされる。
【0034】 文脈変数は、スクリプト言語フォーマットでは、変数の値が図形表示される位
置に配置される。これは、スクリプト言語フォーマットでは「%」が前に付く番
号によって示される(例:%001)。文脈変数の値は、それが使用される文脈
によって異なる。
【0035】 スクリプト言語フォーマットに変換すると、文脈ブロックは1組の基準によっ
てスクリプト言語フォーマットで書かれる。反復文脈ブロックの場合、スクリプ
ト言語フォーマットはブロックの反復を表わすように書かれる。
【0036】
【実施例】
今から、本発明の好適な実施形態をよりよく解説するために、一例を説明しよ
う。この例は、いかにして文脈階層(図1参照)および階層の各レベルの幾つか
の提示規則(表1参照)を定義し、表2に定義する制御情報データを使用し、J
avaメソッド(図2)を表わすテンプレートを定義し、テンプレートを生成し
てスクリプトを得(図3)、「Source Code Template G
enerator Associated with Component D
evelopment」と称する公開されたPCT国際公開第WO 00/22
517号のシステムを使用してこのスクリプトを実行するかを示す(図4)。
【0037】 以下の文脈階層は、表2および表3ならびに図2、図3、図4で使用する可能
な文脈を説明する。この例で使用する全てのオブジェクトは階層のレベルの1つ
に属し、そのレベルに関連付けられる文脈特性を獲得する。
【0038】 以下の表は各文脈を定義する。各文脈について、それはまた、可能な文脈変数
、下位文脈、およびオブジェクトに利用可能な特性をも定義する。この定義によ
り、テンプレートエディタ(20)は異なる文脈ブロック(23)のサブメニュ
ー、フォント、および色を表示することが可能になる。
【表1】
【0039】 テンプレートのインスタンス生成を駆動するために使用される情報(UMLモ
デルからの)を、表2に示す。
【表2】
【0040】 階層構造化制御情報エディタのテンプレートを図2に示す。この例はクラスご
とにインスタンス生成される。
【0041】 クラス図と例との間の関係を示す。生成テンプレートの1つのインスタンスは
このテンプレートに対応する。このインスタンスは、クラス文脈を参照する文脈
ブロックを含む。この文脈ブロックは、次のものを含む。
【表3】 図2は、以下の注記を用いてより容易に理解される。 34.これらのブロックは、クラスごとにインスタンス生成される。全ての制御
情報(バルクテキスト、文脈変数、または従属ブロック)は1クラスごとに1回
インスタンス生成される。 35.文脈変数がある。非インスタンス生成形では、それらは「<」と「>」の
中に特性の名前として現われる。 36.このブロックは属性ごとにインスタンス生成される。親ブロック(con
taining block)はクラスごとにインスタンス生成されるので、こ
のブロックはクラスのインスタンス生成のたびに属性の数だけ繰り返すことがで
きる。実際にはこの数は零またはそれ以上の任意の数とすることができる。(ク
ラス内の属性の数が零の場合には、このブロックはスキップされる。) 37.これらの文脈変数は、1クラス1属性ごとに1回インスタンス生成される
【0042】 図3のスクリプティングコードは、表2に記載した制御データを図2に表示し
たテンプレートに渡すことによって生成される。
【0043】 テンプレート生成プロセスは次のように起こる(図2および図3に関連して)
【0044】 生成テンプレートのインスタンスは既知の情報を示した。この既知の情報はテ
ンプレートに導入されることになる。それはテンプレート名、フィルタ(この場
合、フィルタは「全クラス」である)、およびテンプレート特性(この場合、テ
ンプレートはJavaオペレーションを生成する)を提供する。
【数1】
【0045】 次いでスクリプティングの責任が、テンプレートのクラス文脈ブロックに渡さ
れる。スクリプト文脈では、文脈ブロックは次のフォーマットに埋め込まれる。
【数2】 したがって、ブロックはその導入のためにスクリプトを次のように書く。
【数3】
【0046】 この後、責任はその子の各々に渡される。第1の子はテキスト文字列である。
テキスト文字列は、それがあたかもスクリプトに現われているように生成され、
したがって第1テキスト文字列はそれ自体次のように書く。
【数4】
【0047】 次の要素は文脈変数である。スクリプト言語では、前に説明した通り、文脈変
数はオブジェクトへの参照を書かなければならない。スクリプトでは、パラメー
タは文脈変数が出現する順序に従って参照される。この順序は、その文脈変数の
リストを登録し、かつ各変数に数字を帰属させることによってそれらを順序付け
る、文脈ブロックによって決定される。
【0048】 この例では、我々はクラス名の文脈変数を持つ。文脈変数はその文脈ブロック
への呼出しを実行して、その出現の順序を要求する。
【0049】 それは第1の文脈変数であるので、変数はその順序を得て、次のように書く。
【数5】
【0050】 このプロセスがブロックの全ての要素に対して同様に繰り返され、結果として
次のスクリプトテキストが得られる。
【数6】
【0051】 責任は文脈ブロックに与えられ、それは感嘆符(!)でそれ自体を終了しなけ
ればならないことを理解する。ブロックが反復性ではなく、少なくとも1つの文
脈変数を含む場合、次のように書かれる。
【数7】 それが反復文脈ブロックであった場合(属性の場合のように)、次のように書か
れたであろう。
【数8】 この場合、フィルタは無いが、属性がプライペートである場合、&attrib
uteの後に“private”と書かれたであろう。
【0052】 次に、文脈ブロックは、各文脈変数にその初期化振舞い特性を書くように要求
する。したがってブロックは
【数9】 と書き、次いで各文脈変数がその書込みの順番になる。クラス名文脈変数は次の
ように書く。
【数10】
【0053】 第1ブロックは他の文脈変数を持たないので、ブロックはパラメータ用の括弧
を閉じ、次いで文脈ブロックはそれ自体用の括弧を閉じる。
【数11】
【0054】 スクリプトの生成は、スクリプト言語のテンプレートが完全に生成されるまで
、現行生成テンプレートに属する追加のブロックに対して繰返し続く。
【0055】 図3で、太字のテキストは図2のテンプレートに見られるテキストから直接導
出される。下線付きのテキストは文脈変数に関連し、他のテキストはスクリプト
言語に関連する構造化コードである。
【0056】 次の点に注意する必要がある。 75.主ブロックはクラスごとにインスタンス化される。全ての制御情報−バル
クテキスト、文脈変数または従属ブロックは1クラスごとに1回インスタンス生
成される。 文脈変数76および77は1クラスごとに1回置換される。 76.置換された文脈変数を受容する位置 77.文脈変数置換を駆動する命令 78.このブロックは属性ごとにインスタンス生成される。親ブロックはクラス
ごとにインスタンス生成されるので、このブロックはクラスのインスタンス生成
のたびに、属性の数だけ繰り返すことができる。実際にはこの数は零またはそれ
以上の任意の数とすることができる。(クラス内の属性の数が零の場合には、こ
のブロックはスキップされる。) 文脈変数79および80は、1クラス1属性ごとに1回インスタンス生成される
。 79.置換した文脈変数を受容する位置 80.文脈変数の置換を駆動する命令
【0057】 図4は目標言語(この場合、Java)で生成されたコードを含む。このコー
ドは、図2に示したテンプレートから生成できるコードの唯一のインスタンスで
ある。図2に示したユーザインタフェースは全ての可能なインスタンスを暗黙に
管理する。 次のことに注意する必要がある。 81.クラスごとに生成されるコードのセクション 82.「cityinfo」に置換される文脈変数<クラス名> 83.インスタンスからのデータに置換される文脈変数。置換がどのように行な
われたかについては、表2および図2を参照されたい。 属性領域ごとに 84.国属性から生成される文脈ブロック 85.人口属性から生成される文脈ブロック 86.名前属性から生成される文脈ブロック
【0058】 今から、本発明の好適な実施形態について、図5のブロック図ならびに図6お
よび図7の流れ図を用いて説明しよう。
【0059】 図5は、階層構造データ用のシステムおよびコードジェネレータスクリプトデ
ータを生成するためのシステムのブロック図である。エディタ120はテンプレ
ートを入力し、かつ変更するために使用される。エディタは文脈デファイナ(c
ontent definer)121を用いて文脈変数およびパラメータ要素
を導入する。次に、文脈デファイナ121は階層情報デファイナ122を用いて
、テンプレートの文脈に関する情報を得る。この文脈は、例えばUMLモデリン
グツールから得ることができる。エディタ120はまたフィルタデファイナ12
3を使用して、原始コードの生成のためのフィルタオプションを定義する。文脈
デファイナ121はまた文脈識別子125とやり取りして、表示特性124を各
文脈変数に割り当てる。最後に、エディタ120はテンプレートを表示のために
ディスプレイ126に送る。ディスプレイ126は表示特性124を用いて、テ
ンプレートの各パラメータ要素および非パラメータ要素を表示する。任意選択的
に、システムは、エディタ120のテンプレート、フィルタデファイナオプショ
ン123、および文脈デファイナ121の文脈パラメータを使用してコードジェ
ネレータスクリプトデータを生成する、コードジェネレータスクリプトジェネレ
ータ127をも有する。
【0060】 図6は、本発明の好適な実施形態による方法で起きるステップの流れ図である
。階層情報が指定される130。テンプレート131が編集される。文脈パラメ
ータが指定される132。フィルタリングオプションも指定される133。表示
特性が文脈パラメータに関連付けられる134。最後に、データがユーザ135
に対して表示される135。
【0061】 図7は、本発明の好適な実施形態による別の方法の流れ図である。階層情報が
指定される140。テンプレートが編集される141。文脈パラメータが指定さ
れる142。フィルタリングオプションも指定される143。次いで、テンプレ
ート、文脈パラメータ、およびフィルタリングオプションを使用して、コードジ
ェネレータスクリプトデータが生成される145。
【0062】 コードジェネレータスクリプトデータは、好適な実施形態から、コードジェネ
レータのための全ての関連情報を含み、かつコードジェネレータが目標言語で原
始コードを生成することを可能にする単一ファイルであることが理解されるが、
コードジェネレータスクリプトデータは、コードジェネレータによって使用され
るときにそれが目標言語の原始コードを生成することを可能にする、2つ以上の
データファイルを含むことができることを理解されたい。コードジェネレータス
クリプトデータは、文脈独立型であり生成されるメソッドおよびクラスを含む第
1ファイル、およびモデルでの詳細など文脈依存情報を含むことのできる第2フ
ァイルを含むことができる。コードジェネレータスクリプトデータはまた、文脈
独立データのみを含むことができ、コードジェネレータは別のソースに頼って文
脈従属情報を提供する。
【0063】 ユーザインタフェースのスクリーンショットが本発明の好適な実施形態に従っ
て作成されるユーザインタフェースの特定の例を今から示す。
【0064】 図8は、新オペレーションシグネチャツール38を示す。テンプレート名40
は、オペレーション41の可視度、継承43、およびオペレーションが静的であ
るかどうかと共に示さなければならない。リターンの型は、そのクラス名44お
よびそのパッケージ45によって定義しなければならない。オペレーションの名
前は46にタイプされる。情報が完全であるときに、OK39ボタンを押す。
【0065】 図9は、ちょうど作成したばかりのオペレーションのためのシグネチャ52を
持つテンプレートエディタ50を示す。テキストは、組織者(organize
r)によって管理されるので、直接変更することができない。変更を行なうため
に、シグネチャの文字列をダブルクリックすることができ、オペレーションシグ
ネチャツールが再び現われる。このテキストがシグネチャツールから作成された
ことを示すために、それは異なる可視態様で現われる。図では、図面が白黒なの
で、フォントの色および背景の色はグレーの陰影になっている。しかし、テンプ
レートに現われるテキストの性質の相違を増強するために、任意の視覚的特性を
使用することができる。例えばシグネチャは、ダブルクリックするだけでプログ
ラマがその文字列に含まれるものを変えることができることを意味する、青を背
景にして現われることができる。空間53は、オペレーションをコード化するた
めに利用可能である。それは、プログラマによって埋めることができることを示
すために異なる色の背景で表わされる。例えばプログラマに視覚障害がある場合
、スクリーンの視覚的効果を音に置き換えることができる。実際、コードの何ら
かの部分が異なる特性を持つことを示すものがある限り、何を使用してもよい。
クラスフィルタ51は、どのコンポーネント(単数または複数)のためにこのグ
ラフィカル生成テンプレートが生成されるかを決定するために指定される。(こ
れらのステップは図には示されない。)
【0066】 図10は、オペレーション内の注釈58の作成を示す。見て分かるように、属
性名60などの文脈変数59を注釈に加えることができる。図11は、プログラ
マがタイプした注釈65および幾つかの目標原始コードの完了を示す。図12に
示すように、図10で説明したプロセスを使用することにより、文脈変数「属性
名」が命令のコード71に追加された。
【0067】 図13は、単一名オペレーションの作成を示す。再び、シグネチャ95は異な
る背景色で提示される。注釈96があり、オペレーションは97でコード化され
る。オペレーションのコードの一部をコンポーネントの一部または全ての属性に
対して繰り返す必要がある場合、属性レベル98を入力してループを作成するこ
とができる。図14は、コードのループ部分に異なる背景色103を使用して、
一部の属性に対して繰り返される1行のコード104を示す。再び、例えば属性
名など、属性レベルの文脈変数109を装入することができる。最後に、図16
でテンプレートは完全に作成される。このテンプレートが保存された場合、前述
したPCT公開WO 00/22517内のものなどのコードジェネレータはテ
ンプレートおよびモデル宣言を使用して、原子コードを作成する。
【0068】 本発明は様々な環境で使用することができ、その中の一部をここで説明する。
【0069】 本発明の1つの用途は、国際公開番号第WO 00/22517号で公開され
、「Source Code Template Generator Ass
ociated with Component Development」と
称する、本願と同一人に譲渡された同時係属PCT国際出願に記載されているも
のなどの生成ツールでコードを生成するためにテンプレートのコードの行を生成
することによって、開発者からスクリプト言語を隠すことであろう。その場合、
テンプレートは、生成テンプレートの選択基準を満たしかつモデリングツールに
または統合開発環境に見られるコンポーネントに対して、準反復性または反復性
原始コードを生成するために使用される。
【0070】 システムの全てのクラスに使用される文脈ブロックをタイプするときに、プロ
グラマは、生成されるときに彼が希望するメソッドをタイプするだけでよい。ク
ラスの名前を書く代わりに、彼は文脈エディタのクラス名を書きたい場所で右マ
ウスをクリックし、全ての可能な文脈変数のリストから彼が表示したいものを選
択することができる。この場合、彼は「<クラス名>」を選択する。先行技術の
セクションで取り上げた例を参照すると、新しいコード行は次のようになる。
【数12】
【0071】 文脈変数「<クラス名>」は、右マウスクリック後に現れるメニューでひとた
び選択されると、エディタによって自動的に導入される。
【0072】 一部の文脈ブロックを同一アルゴリズム内で2回以上繰り返さなければならな
い場合、例えばコンポーネント、コンポーネントサブクラス、スーパークラス、
または属性特性のようにループ内に参加する項目の選択基準を決定するフィルタ
変数を使用して、ループを作成しなければならない。前の例では、プログラマは
、全ての属性を網羅するために、このループの命令を定義しなければならない。
新しいテンプレートエディタでは、全ての属性に緊密に関連付けられるブロック
文脈が、視覚的特性によって識別される。
【0073】 例えば、文脈ブロックは異なる背景色によって識別することができる。次いで
、当然、文脈変数を右マウスのクリックによって導入しながら、コードの行が打
ち込まれる。エディタは、これらの行が全ての属性に複製されることを知ってい
るので、右マウスクリックによるメニューからの文脈変数の選択は、前のメニュ
ーの場合とは異なる。これらの文脈変数は全てが同一カテゴリの文脈変数に属す
るわけではない。例えば、文脈変数「<クラス名>」は、現行コンポーネントの
属性レベルで繰り返す反復文脈変数内、またはジェネレータの動的文脈に見られ
る現行クラスの現行属性に関連付けられる所定の外部特性名で繰り返す内部文脈
ブロック内で利用可能である。それは、ジェネレータが適正値を得るために適正
レベルまで外部レベルを再帰的に要求するからである。ループは常に視覚的特性
によって識別され、それはこのプログラミングの態様を強化する。属性レベルで
コード化する場合でも、例えばクラスを参照する文脈変数を挿入することが可能
であることに気付くことが重要である。プログラマは属性レベルで必要な全ての
オペレーションを全ての文脈変数を用いてコード化できるので、これはより大き
い柔軟性を可能にする。
【0074】 別の環境では、エディタは再使用コードの行のライブラリに使用することがで
きる。例えばテンプレートは、再使用に利用可能なコード行のパーソナルライブ
ラリまたはネットワークライブラリを作成するために使用することができる。そ
の場合、テンプレートはすでにパラメータ化されているので、プログラマは、そ
れらを彼または彼女のプロジェクトで使用するために、コード行内で何も変更す
る必要がない。この方法は、プログラマのかなりの量の作業を節約する。
【0075】 これらのテンプレートを使用することができる別の例は、ウェブ向きである。
今まで、HTML開発者は、正しい情報に対するポインタまたはトークンを使用
してウェブページをコード化しなければならなかった。彼らは、ページの提示を
管理しかつサーバのデータベース内の適正な情報にアクセスするためのコードを
含む、HTMLコードを導入する。再び、彼のウェブページ編集ツール内に挿入
されたテンプレートエディタは、このプログラマが、データベースからデータに
アクセスするために必要なコードについて心配することなく、ウェブページの全
ての視覚的態様を作成することを可能にする。プログラマは、伝統的なHTML
言語を用いてウェブページをコード化し、特定のページに特定的なコードを生成
する必要がある場合には、データベースから必要な情報の記載を反映する文脈変
数を追加することができる。例えば、顧客にその会計勘定にアクセスさせるペー
ジを作成するときに、プログラマはテンプレートエディタを使用して1つのHT
MLテンプレートを作成し、実際の勘定のための<会計勘定>などパラメータ化
されたコンポーネントを使用することができる。このコードを生成するときに、
ジェネレータは会計勘定を全ての顧客の正しい金額と個別に置換する。次いでウ
ェブページは、プログラマの側における最小限のプログラミングによる会計勘定
を除き、ビューアと全く同じように表示される。本発明は、この環境で発明の本
質を変形することなく使用することのできるグラフィカルユーザインスタンスを
提供する。
【0076】 同様の仕方で、テンプレートエディタの改善バージョンは、プログラマが原始
コードからテンプレートを導出することを可能にする。プログラマは、パラメー
タ化された構文でコードを書く必要がない。彼はその原始コードをファイルに格
納する。このコードを再使用できると認識したときに、彼はこのコードがどのよ
うな場合に、どのコンポーネントと共に、どのフレームワーク内で使用されたか
をジェネレータに指定することができる。ジェネレータは、そのときにモデル化
されたシステムの全てのコンポーネントおよび要素間の関係を知り、コードがど
のように開発されたかについての情報を抽出することができる。モデルからクラ
スおよび属性の名前が何であるかを知り、準反復ブロックのコードを認識して、
エディタは原ファイルをテンプレートのためのパラメータ化原始コードに変換す
ることができ、それを承認のためにプログラマに表示するか、または自動的に生
成して保存することができる。次いで、ジェネレータはこのコードを使用して、
新しいアプリケーションのための生成コードを生成することができる。プログラ
マは実際のパラメータ化コードを書く必要がない。
【0077】 また、クライアントに対応する名前、住所、および勘定のトークンを用いてパ
ラメータ化されたメーリングリストなどのテキストファイルを生成するために、
ワードプロセッサアプリケーションに組み込まれたテンプレートエディタを使用
して、テンプレートを生成することができる。
【0078】 実際、テンプレートエディタは、それが生成しなければならない物についての
情報を入手できる限り、ほとんどどんなものでも生成するために使用することが
できる。拡張可能マークアップ言語(XML)テンプレートエディタを使用する
ことができる。XMLプロトコルをテンプレートエディタによって使用して、生
成しなければならないものについての情報を抽出することができる。XML文書
型定義(dtd)は、テンプレートエディタが文脈変数として使用するメタデー
タを定義するために使用することができ、XMLdtd木構造定義は、異なるレ
ベルのパラメータ化原始テキストを知るために使用する(つまり、互換可能なX
ML文書の各ネストレベルで適正なフィルタ変数を定義するために使用する)こ
とができる。モデリングツールを用いて作成されたモデル宣言の代わりに、XM
Lで書かれたデータ時間定義(dtd)ファイルを使用することができる。その
場合、XMLdtdは、処理すべきデータを記述するするので、コードの生成に
必要なモデル宣言にとって代わる。2つのファイルが同一dtdファイルを使用
する場合、このデータの編成は同一であるので、それらのデータファイルは交換
することができ、そのためにテンプレートエディタは同一振舞いを持つ。
【0079】 発明について特に例証的実施形態に関連して説明したが、当業者には多くの変
形が明らかであろうということは理解されるであろう。上記の説明および添付の
図面は、限定的な意味としてではなく、発明の例証と受け取るべきである。
【図面の簡単な説明】
【図1】 図1は、階層構造データエディタのクラス図である。
【図2】 図2は、新テンプレートの一例である。
【図3】 図3は、スクリプト言語に変換されたテンプレートの例である。
【図4】 図4は、スクリプト言語から生成される原始コードの例である。
【図5】 図5は、表示および変換システムのブロック図である。
【図6】 図6は、階層構造データを表示するための方法で発生するステップの流れ図で
ある。
【図7】 図7は、階層構造データをスクリプト言語に変換するための方法で発生するス
テップの流れ図である。
【図8】 図8は、新オペレーションシグネチャツールを示す。
【図9】 図9は、テンプレートエディタ内で作成されたシグネチャを示す。
【図10】 図10は、注釈内の文脈変数の挿入を示す。
【図11】 図11は、アルゴリズムの作成を示す。
【図12】 図12は、アルゴリズム内の文脈変数の挿入を示す。
【図13】 図13は、属性レベルにアクセスする方法を示す。
【図14】 図14は、属性の再帰的オペレーションをコード化する方法を示す。
【図15】 図15は、属性レベルで文脈変数を挿入する方法を示す。
【図16】 図16は、完成したテンプレートを示す。
【手続補正書】特許協力条約第34条補正の翻訳文提出書
【提出日】平成13年10月22日(2001.10.22)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,MZ,SD,SL,SZ,TZ,UG ,ZW),EA(AM,AZ,BY,KG,KZ,MD, RU,TJ,TM),AE,AG,AL,AM,AT, AU,AZ,BA,BB,BG,BR,BY,BZ,C A,CH,CN,CR,CU,CZ,DE,DK,DM ,DZ,EE,ES,FI,GB,GD,GE,GH, GM,HR,HU,ID,IL,IN,IS,JP,K E,KG,KP,KR,KZ,LC,LK,LR,LS ,LT,LU,LV,MA,MD,MG,MK,MN, MW,MX,MZ,NO,NZ,PL,PT,RO,R U,SD,SE,SG,SI,SK,SL,TJ,TM ,TR,TT,TZ,UA,UG,US,UZ,VN, YU,ZA,ZW (72)発明者 ブラサール、ミシェル カナダ、ケベック 1HY 3H9、モン トリオール、デ ラ フォンデリィ 3193 (72)発明者 シンガロフ、ボリス カナダ、オンタリオ K1R 7G6、オ タワ、アパートメント 3、ローン アヴ ェニュー 45 Fターム(参考) 5B076 DA01 DA06 DA09 DB05

Claims (18)

    【特許請求の範囲】
  1. 【請求項1】 階層構造データを表示するためのシステムであって、 前記階層構造データのパラメータ要素に関する階層情報を指定するための階層
    情報デファイナと、 前記階層構造化データ用のテンプレートを編集し、前記データの非パラメータ
    要素を指定するためのエディタと、 文脈パラメータを前記データのパラメータ要素として指定するための文脈デフ
    ァイナと、 表示特性を各々の前記文脈パラメータに関連付けるための文脈識別子と、 少なくとも1つの前記非パラメータ要素および少なくとも1つの前記パラメー
    タ要素を含む前記階層構造化データの少なくとも1ブロックのためにフィルタリ
    ングオプションを指定するためのフィルタデファイナと、 前記表示特性を使用して識別される前記階層構造化データを表示するためのデ
    ィスプレイと を含むシステム。
  2. 【請求項2】 前記表示特性がフォントフォーマットである、請求項1に記
    載のシステム。
  3. 【請求項3】 前記表示特性が背景色である、請求項1および2の一項に記
    載のシステム。
  4. 【請求項4】 階層構造化データの前記テンプレートがコンポーネントをベ
    ースとする原始コードを含む、請求項1、2、および3の一項に記載のシステム
  5. 【請求項5】 前記階層構造化データの前記少なくとも1つのブロックが固
    定、条件付き、または反復的コードブロックの1つである、請求項1、2、3、
    および4の一項に記載のシステム。
  6. 【請求項6】 前記階層情報デファイナが統合モデリング言語のモデリング
    アプリケーションからの階層情報を使用する、請求項1、2、3、4、および5
    の一項に記載のシステム。
  7. 【請求項7】 階層構造データを表示するための方法であって、 前記階層構造データのパラメータ要素に関する階層情報を指定するステップと
    、 前記階層構造化データ用のテンプレートを編集し、前記データの非パラメータ
    要素を指定するステップと、 文脈パラメータを前記データのパラメータ要素として指定するステップと、 表示特性を各々の前記文脈パラメータに関連付けるステップと、 少なくとも1つの前記非パラメータ要素および少なくとも1つの前記パラメー
    タ要素を含む前記階層構造化データの少なくとも1ブロックのためにフィルタリ
    ングオプションを指定するステップと、 前記表示特性を使用して識別される前記階層構造化データを表示するステップ
    と を含む方法。
  8. 【請求項8】 前記階層構造化データ用のテンプレートを編集する前記ステ
    ップが、コードをテキストボックスに挿入することを含む、請求項7に記載の方
    法。
  9. 【請求項9】 文脈パラメータを指定する前記ステップが、文脈パラメータ
    デファイナを使用して前記パラメータ要素のパラメータ特性を決定すること、お
    よび前記文脈パラメータの記号表現を前記データに挿入することを含む、請求項
    7および8の一項に記載の方法。
  10. 【請求項10】 前記文脈パラメータデファイナを使用するステップが、前
    記階層情報から前記データに関する文脈依存情報を得ること、および指定するた
    めに利用可能な文脈パラメータのリストを提供することを含む、請求項9に記載
    の方法。
  11. 【請求項11】 階層情報を指定する前記ステップが、統合モデリング言語
    モデリングアプリケーションを使用して前記階層情報を指定することを含む、請
    求項7、8、9、および10の一項に記載の方法。
  12. 【請求項12】 前記表示特性がフォントフォーマットである、請求項7、
    8、9、10、および11の一項に記載の方法。
  13. 【請求項13】 階層構造データをコードジェネレータスクリプトデータに
    変換するための方法であって、 前記階層構造データのパラメータ要素に関する階層情報を指定するステップと
    、 前記階層構造化データ用のテンプレートを編集し、前記データの非パラメータ
    要素を指定するステップと、 文脈パラメータを前記データのパラメータ要素として指定するステップと、 少なくとも1つの前記非パラメータ要素および少なくとも1つの前記パラメー
    タ要素を含む前記階層構造化データの少なくとも1ブロックのためにフィルタリ
    ングオプションを指定するステップと、 所望の原始コード言語に前記階層情報、前記テンプレート、前記フィルタリン
    グオプション、および前記文脈パラメータを使用して、コードジェネレータスク
    リプトデータを生成するステップと を含む方法。
  14. 【請求項14】 前記要素に関連付けられる原始コード式を含む変換データ
    を指定するステップをさらに含む、請求項13に記載の方法。
  15. 【請求項15】 前記コードジェネレータスクリプトデータがコードジェネ
    レータによって使用されて、前記所望の原始コード言語による反復的、ネストさ
    れた、および準反復的原始コードのうちの少なくとも1つを含む原始コードを生
    成する、請求項13および14の一項に記載の方法。
  16. 【請求項16】 階層構造データをコードジェネレータスクリプトデータに
    変換するためのシステムであって、 前記階層構造データのパラメータ要素に関する階層情報を指定するための階層
    情報デファイナと、 前記階層構造化データ用のテンプレートを編集し、前記データの非パラメータ
    要素を指定するためのエディタと、 文脈パラメータを前記データのパラメータ要素として指定するための文脈デフ
    ァイナと、 少なくとも1つの前記非パラメータ要素および少なくとも1つの前記パラメー
    タ要素を含む前記階層構造化データの少なくとも1ブロックのためにフィルタリ
    ングオプションを指定するためのフィルタデファイナと、 所望の原始コード言語に前記階層情報、前記テンプレート、前記フィルタリン
    グオプション、および前記文脈パラメータを使用して、コードジェネレータスク
    リプトデータを生成するためのスクリプトジェネレータと を含むシステム。
  17. 【請求項17】 前記要素に関連付けられる原始コード式を含む変換データ
    を指定するための変換データデファイナをさらに含む、請求項16に記載のシス
    テム。
  18. 【請求項18】 前記コードジェネレータスクリプトデータがコードジェネ
    レータによって使用されて、前記所望の原始コード言語による反復的、ネストさ
    れた、および準反復的原始コードのうちの少なくとも1つを含む原始コードを生
    成する、請求項16および17の一項に記載のシステム。
JP2001513029A 1999-07-23 2000-07-24 階層構造制御情報エディタ Pending JP2003505785A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14520799P 1999-07-23 1999-07-23
US60/145,207 1999-07-23
PCT/CA2000/000841 WO2001008002A2 (en) 1999-07-23 2000-07-24 Hierarchically structured control information editor

Publications (1)

Publication Number Publication Date
JP2003505785A true JP2003505785A (ja) 2003-02-12

Family

ID=22512058

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001513029A Pending JP2003505785A (ja) 1999-07-23 2000-07-24 階層構造制御情報エディタ

Country Status (10)

Country Link
EP (1) EP1208426A2 (ja)
JP (1) JP2003505785A (ja)
CN (1) CN1148652C (ja)
AU (1) AU6144000A (ja)
BR (1) BR0012706A (ja)
CA (1) CA2377945A1 (ja)
HK (1) HK1045896A1 (ja)
IL (1) IL147665A0 (ja)
MX (1) MXPA02000850A (ja)
WO (1) WO2001008002A2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9521209B2 (en) 2002-11-06 2016-12-13 Code Valley Corp Pty Ltd Code generation
US8832178B2 (en) 2002-11-06 2014-09-09 Noel William Lovisa Service implementation
EP2386946B1 (en) 2004-05-20 2020-06-10 Code Valley Corp Pty Ltd Code generation techniques using components in a distributed system
AU2005245983B2 (en) * 2004-05-20 2011-07-07 Code Valley Corp Pty Ltd Code generation techniques

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7456832B1 (en) * 1989-05-15 2008-11-25 International Business Machines Corporation Object database-driven interactive shell for a data processing system
US5603018A (en) * 1991-07-15 1997-02-11 Mitsubishi Denki Kabushiki Kaisha Program developing system allowing a specification definition to be represented by a plurality of different graphical, non-procedural representation formats
EP0897148A1 (en) * 1997-08-14 1999-02-17 International Business Machines Corporation Method of error handling in a framework
US6226783B1 (en) * 1998-03-16 2001-05-01 Acuity Imaging, Llc Object oriented method of structuring a software step program

Also Published As

Publication number Publication date
IL147665A0 (en) 2002-08-14
CN1148652C (zh) 2004-05-05
CN1364259A (zh) 2002-08-14
WO2001008002A3 (en) 2001-11-08
CA2377945A1 (en) 2001-02-01
HK1045896A1 (zh) 2002-12-13
AU6144000A (en) 2001-02-13
WO2001008002A2 (en) 2001-02-01
BR0012706A (pt) 2002-04-09
EP1208426A2 (en) 2002-05-29
MXPA02000850A (es) 2004-03-19

Similar Documents

Publication Publication Date Title
US6769095B1 (en) Hierarchically structured control information editor
US11023834B2 (en) Collaborative design systems, apparatuses, and methods
US7114149B2 (en) Navigation links in generated documentation
JP3136035B2 (ja) データベースシステム用インターフェースのための自動レイアウト・ジェネレータ及びその生成方法
US6742175B1 (en) Component-based source code generator
US7269792B2 (en) System and method for generating high-function browser widgets with full addressability
US7277875B2 (en) User selectable approach for generating modifiable rules
US20030145305A1 (en) Method for developing and managing large-scale web user interfaces (WUI) and computing system for said WUI
US6948120B1 (en) Computer-implemented system and method for hosting design-time controls
US20040015834A1 (en) Method and apparatus for generating serialization code for representing a model in different type systems
JP2008512794A (ja) オブジェクト処理グラフアプリケーション開発システム
US6518979B1 (en) Automatically-maintained customizable user interfaces
US20130080879A1 (en) Methods and apparatus providing document elements formatting
US6032198A (en) Application design supporting method and apparatus for client/server system
CN112364496B (zh) 基于html5和vue技术的航电仿真面板生成系统
US20060085745A1 (en) System and method for displaying a user interface object using an associated style
CA2347191A1 (en) Component-based source code generator
JP2002015333A (ja) マルチメディアオーサリングツール及びオーサリングプログラムを記録した記録媒体
US7657869B2 (en) Integration of external tools into an existing design environment
WO2002021314A2 (en) Integrated design environment for a commerce server system
JP2003505785A (ja) 階層構造制御情報エディタ
CN116755669A (zh) 一种基于dsl语言操作模型的低代码开发方法和工具
Amann et al. BIM programming
EP1862924A1 (en) Object-oriented system for mapping structered information to different structured information
JPH06214842A (ja) データベースアクセス許容方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060901

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20060912

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20061128

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20061128

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20061128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090929

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100309