JP2014044748A - 第1のコンポーネントと第2のコンポーネントとの間のネゴシエーションを実行する方法及びネゴシエーションを実行するコンポーネント - Google Patents
第1のコンポーネントと第2のコンポーネントとの間のネゴシエーションを実行する方法及びネゴシエーションを実行するコンポーネント Download PDFInfo
- Publication number
- JP2014044748A JP2014044748A JP2013254272A JP2013254272A JP2014044748A JP 2014044748 A JP2014044748 A JP 2014044748A JP 2013254272 A JP2013254272 A JP 2013254272A JP 2013254272 A JP2013254272 A JP 2013254272A JP 2014044748 A JP2014044748 A JP 2014044748A
- Authority
- JP
- Japan
- Prior art keywords
- component
- negotiation
- agent
- components
- code
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 197
- 238000012545 processing Methods 0.000 claims abstract description 215
- 239000003795 chemical substances by application Substances 0.000 claims description 643
- 239000012634 fragment Substances 0.000 claims description 98
- 230000004044 response Effects 0.000 claims description 14
- 230000008569 process Effects 0.000 description 66
- 238000010586 diagram Methods 0.000 description 40
- 230000006870 function Effects 0.000 description 38
- 238000004891 communication Methods 0.000 description 33
- 238000012546 transfer Methods 0.000 description 28
- 238000012360 testing method Methods 0.000 description 15
- 238000010276 construction Methods 0.000 description 11
- 238000013461 design Methods 0.000 description 11
- 150000001875 compounds Chemical class 0.000 description 9
- 101100026202 Neosartorya fumigata (strain ATCC MYA-4609 / Af293 / CBS 101355 / FGSC A1100) neg1 gene Proteins 0.000 description 8
- 238000003066 decision tree Methods 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 8
- 230000008901 benefit Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000001965 increasing effect Effects 0.000 description 5
- 230000002441 reversible effect Effects 0.000 description 5
- 230000001419 dependent effect Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- FWVCSXWHVOOTFJ-UHFFFAOYSA-N 1-(2-chloroethylsulfanyl)-2-[2-(2-chloroethylsulfanyl)ethoxy]ethane Chemical compound ClCCSCCOCCSCCCl FWVCSXWHVOOTFJ-UHFFFAOYSA-N 0.000 description 2
- 108091029480 NONCODE Proteins 0.000 description 2
- 239000000654 additive Substances 0.000 description 2
- 230000000996 additive effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 230000007723 transport mechanism Effects 0.000 description 2
- 101100494773 Caenorhabditis elegans ctl-2 gene Proteins 0.000 description 1
- 101100112369 Fasciola hepatica Cat-1 gene Proteins 0.000 description 1
- 101100005271 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) cat-1 gene Proteins 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000003442 weekly effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
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)
- Information Transfer Between Computers (AREA)
- Communication Control (AREA)
Abstract
【解決手段】第1、第2のコンポーネント間でネゴシエーションを実行する方法では、各コンポーネントはそれぞれのデータ処理サービスを具体化し、処理システムにおいて、a)第1のコンポーネントに関連する第1のネゴシエーションデータを確定すること、及びb)前記第2のコンポーネントに関連する第2のネゴシエーションデータを確定することであって、第1、第2のネゴシエーションデータは、それぞれ、i)ネゴシエーションの選択肢、及びii)各選択肢に関連するそれぞれの重み付けを含むネゴシエーションリストを示す、こと、c)前記第1のネゴシエーションリストを前記第2のネゴシエーションリストと比較すること、並びにd)前記比較及び前記それぞれの重み付けの結果を使用して前記ネゴシエーションの選択肢のうちの1つを選択すること、を含む。
【選択図】図8
Description
本発明は、コンピュータによって実行可能なコードを生成する方法及び装置に関し、特に、各々が、それぞれのコードの断片の生成等、データを処理する各サービスに対応するコンポーネントを使用して、コンピュータによって実行可能なコードを生成する方法及び装置に関する。
本明細書におけるいずれの従来技術への参照も、従来技術が通常の一般的な常識を成すと認めるものではなく、又は示唆ものでもない。また、そのように解釈されるべきではない。
・バグ又はミス−高レベルのソフトウェアの欠陥。
・ソフトウェアの肥大化−実行可能コードの容量が、その機能に不相応に大幅に増大すること。
・複雑性の限界−増大する要求による複雑性が、こうしたシステムを設計する能力を脅かす。
・予測不能性−開発コスト、スケジュール、パフォーマンス、又は資源使用量が予測不能である。
・生産性−過去10年において開発者の生産性は著しく向上していない。
・プログラマをマシンコードから切り離すことを目指した、第3世代言語、第4世代言語及び第5世代言語の開発が、初期のいくらかの生産性における成功に貢献した。プログラム言語が今日まで、生産性向上を追求するにあたっての核心であり続けているほどに、初期の生産性増大は成功した。
・データを、そのデータの処理に使用されるコードと一緒にカプセル化する新しいタイプの抽象化であるオブジェクト指向プログラミングが、許容を達成しているが、いかなる有効な生産性の向上も提供していない。
・大きなソフトウェアの開発の複雑性の管理を支援することを目指したコンピュータ支援ソフトウェア工学(CASE)。
・以前の知的努力を再使用しようとする取り組みであるコード再使用。
・数学的証明を利用して正確性を検証するとともに、ソフトウェア開発に伴う多数の欠陥及びバグに取り組む、形式的方法。
・履歴コードから知的内容を抽出するデコンパイラ。
第1の幅広い形態において、本発明は、所望の機能を実行する実行可能コードを生成する方法を提供し、本方法は、
a)所望の機能に基づいて、
i)実装されるコンポーネント、
ii)コンポーネント間の接続
を示すコンポーネントの組み合わせを定義すること、
b)コンポーネントを組み合わせたコンポーネントであって、該コンポーネントのうちの少なくともいくつかは接続を使用して通信し且つコードフラグメントを生成し、コンポーネントのうちの少なくとも2つは条件を確定するために通信し、コードフラグメントのうちの1つ又は複数は、少なくとも部分的に、確定された条件に基づいたコンポーネントが実装されるようにすること、
c)生成されたコードフラグメントを結合することによって、実行可能コードを形成すること、
d)実行可能コードを計算機の処理システムに提供することよって該実行可能コードの該処理システムによる実行により、該処理システムが所望の機能を実行するようにすること
を含む。
a)前記条件、
b)前記コンポーネントの組み合わせ、
c)コンポーネント間の1つ又は複数の合意、及び
d)1つ又は複数のネゴシエーションによる設定
のうちの少なくとも1つによって定義される方法で前記コードフラグメントを連結することによって形成される。
a)コンポーネントのうちの1つ又は複数、及び
b)処理システム
のうちの少なくとも1つによって実行される。
a)データ部分をシーケンスの所定の場所に追加すること、
b)シーケンス内の第1の場所から第2の場所にデータ部分を移動させること、
c)シーケンスからデータ部分を除去すること、及び
d)シーケンスのデータ部分を変更すること
を含む。
a)定義されたコンポーネントの組み合わせにおける他のコンポーネント、
b)定義されたコンポーネントの組み合わせにおける他のコンポーネントとの合意、
c)定義されたコンポーネントの組み合わせにおける他のコンポーネントとのネゴシエーションの結果、及び
d)偶発的要因
のうちの少なくとも1つを含む。
a)ディザリング、
b)メッシング、及び
c)遮蔽
のうちの少なくとも1つによる条件に依存することを含む。
a)コンポーネントの組み合わせ、及び
b)1つ又は複数のネゴシエーションによる設定
のうちの少なくとも1つによって定義される。
a)所定のデータ処理サービス、及び
b)それぞれのコードフラグメントの生成
のうちの少なくとも1つを実行させる、コンポーネントサーバを実装する。
a)コンポーネントの仕様を受け取ること、及び
b)コンポーネントの仕様を使用してコンポーネント要求を生成し、コンポーネント要求は、コンポーネント処理システムに転送されることによって、コンポーネントに対応するコンポーネントサーバの実装がもたらされること
を含む。
a)少なくとも1つのエージェントを実装させること、及び
b)少なくとも1つのエージェントに対し、1つ又は複数の他のコンポーネント処理システムによって実装される1つ又は複数のエージェントと通信させるようにさせることを含む。
a)利用可能なコンポーネントのリストからコンポーネントを選択すること、及び
b)コンポーネントのそれぞれのエージェント間の接続を定義すること
を含む。
a)1つ又は複数の選択されたコンポーネントのグラフィカル表現を生成させること、及び
b)ユーザから受け取られた入力コマンドに応じてグラフィカル表現を処理することによって、コンポーネントの組み合わせを定義させること
を含む。
a)選択されたコンポーネントが1つ又は複数の選択肢を有するか否かを判断すること、及び
b)肯定的な判断に応じて、
i)選択肢のうちの1つ又は複数を設定すること、及び
ii)各設定された選択肢の指示を、対応するコンポーネントを実装するために使用されるコンポーネント処理システムに転送すること
を含む。
a)コンポーネントの仕様から1つ又は複数の選択肢を確定すること、
b)選択肢のうちの1つ又は複数を設定すること、及び
c)設定された選択肢に基づいて更新されたコンポーネントの仕様を確定すること
を含む。
a)いくつかのコンポーネントの詳細を確定させること、及び
b)詳細を使用して第1の処理システムを介して利用可能なコンポーネントのリストをユーザに提供させること
を含む。
a)それぞれのデータ処理サービスの指示、
b)コンポーネントのグラフィカル表現、及び
c)他のコンポーネントに必要な任意の接続の指示
のうちの少なくとも1つを含む、コンポーネントの仕様を含む。
a)コンポーネントの実装に関連する1つ又は複数の基準を表すパフォーマンス情報を確定させること、及び
b)パフォーマンス情報をユーザに提供し、ユーザはパフォーマンス情報に従ってコンポーネントを選択する、提供させること
を含む。
a)コンポーネントを実装するエンティティの指示、
b)エンティティが格納される位置の指示、
c)コンポーネントを実装するための時間の指示、
d)それぞれのコンポーネントを実装することに関するコストの指示、及び
e)コンポーネントの出来を示す格付け
のうちの少なくとも1つを含む。
a)コンポーネントを実装するそれぞれのエンティティに対し利益の少なくとも一部を提供すること、及び
b)第2の処理システムの運営者に対し、利益の少なくとも一部を保持させること
を含む。
a)コンポーネントの組み合わせから
i)実装されるコンポーネント、
ii)コンポーネントのそれぞれの間の接続
を確定すること、
b)各コンポーネントに対し、任意の必要な接続を表す接続データを含み、コンポーネントの実装を要求するコンポーネント要求を生成すること、
c)コンポーネント要求をコンポーネント処理システムに転送することによりコンポーネント処理システムのうちの少なくともいくつかに対し接続を使用して通信させ且つコードフラグメントを生成させ、コンポーネント処理システムのうちの少なくとも2つは、条件を確定するために通信し、コードフラグメントのうちの1つ又は複数は、少なくとも部分的に、確定された条件に基づいていること、
d)コンポーネント処理システムからコードフラグメントを受け取り、コードフラグメントは、結合されると、実行可能コードを形成すること
を含む。
a)実行可能コードを形成するコードフラグメントを結合すること、及び
b)所定の順序でフラグメントを受け取ること
のうちの少なくとも1つを含む。
a)利用可能なコンポーネントのリストからコンポーネントを選択すること、及び
b)コンポーネントのそれぞれのエージェントの間の接続を定義すること
を含む。
a)コンポーネントの仕様を受け取ること、及び
b)コンポーネントの仕様を使用してコンポーネント要求を生成し、コンポーネント要求はコンポーネント処理システムに転送されることによって、コンポーネントに対応するコンポーネントサーバの実装がもたらされること
を含む。
a)任意の必要な接続を表す接続データを含むコンポーネント要求を受け取ること、
b)接続を使用して他のコンポーネント処理システムと通信することによって、条件を確定すること、
c)確定された条件に基づいてコードフラグメントを生成すること、及び
d)コードフラグメントを別の処理システムに転送し、コードフラグメントは、他のコードフラグメントと結合されると実行可能コードを形成し、実行可能コードは、適当な処理システムによって実行されると、処理システムに対し所望の機能を実行させること、
を含む。
a)コンポーネントの組み合わせを確定し、コンポーネントの組み合わせは少なくとも2つのコンポーネントシーケンスを含み、各コンポーネントシーケンスはデータ処理サービスを提供するそれぞれの方法を表し、コンポーネントの組み合わせは、
ii)実装されるコンポーネント、
ii)コンポーネント間の接続
を示し、
b)コンポーネントの組み合わせにおけるコンポーネントが実装されるようにし、コンポーネントのうちの少なくともいくつかは接続を使用して通信し、且つ各コンポーネントシーケンスに対応する少なくとも1つのコードフラグメントを含むコードフラグメントを生成すること、
c)生成されたコードフラグメントを結合することによって実行可能コードを生成すること、及び
d)実行可能コードを処理システムに提供し、実行可能コードの処理システムによる実行により、処理システムが、各コンポーネントシーケンスに対応する生成されたコードフラグメントのうちの少なくとも1つを実行することによってコンポーネントサーバを実装するようにすることによって、データ処理をそれぞれの方法で提供すること
を含む。
a)所定のデータ処理サービス、及び
b)それぞれのコードフラグメントの生成
のうちの少なくとも1つを実行させる実行可能コードから形成される。
a)コンポーネント要求を受け取らせること、及び
b)本発明の第1の幅広い形態の方法によって生成されるアプリケーションソフトウェアを実行させること
を含む。
a)コンポーネントの組み合わせから
i)実装されるコンポーネント、
ii)コンポーネントのそれぞれの間の接続
を確定すること、
b)各コンポーネントに対し、コンポーネントの実装を要求するコンポーネント要求を生成し、コンポーネント要求は、任意の必要な接続を表す接続データを含むこと
c)コンポーネント要求をコンポーネント処理システムに転送することによって、コンポーネント処理システムのうちの少なくともいくつかに対し、接続を使用して通信させ且つ各コンポーネントシーケンスに対応する少なくとも1つのコードフラグメントを生成させること、及び
d)コンポーネント処理システムからコードフラグメントを受け取り、コードフラグメントは、結合されると、実行可能コードを形成し、実行可能コードは、適当な処理システムによって実行されると、処理システムに対しコンポーネントサーバを実装させ、コンポーネントサーバは、生成されたコードフラグメントのうちの少なくとも1つを実行することによりデータ処理サービスを提供すること
を含む。
a)任意の必要な接続を表す接続データを含むコンポーネント要求を受け取ること、
b)接続を使用して他のコンポーネント処理システムと通信すること、
c)確定された条件に基づいてコードフラグメントを生成すること、及び
d)コードフラグメントを別の処理システムに転送し、コードフラグメントは、他のコードフラグメントと結合されると実行可能コードを形成し、実行可能コードは、適当な処理システムによって実行されると、処理システムに対しコンポーネントサーバを実装させ、コンポーネントサーバは生成されたコードフラグメントのうちの少なくとも1つを実行し、それによりデータ処理サービスを提供すること
を含む。
a)第1のコンポーネントに関連する第1のネゴシエーションデータを確定すること、第1のネゴシエーションデータは、
i)少なくとも1つのネゴシエーション選択肢、及び
ii)各ネゴシエーション選択肢に関連するそれぞれの重み付け
を含む第1のネゴシエーションリストを示し、
b)第2のコンポーネントに関連する第2のネゴシエーションデータを確定すること、第2のネゴシエーションデータは
i)少なくとも1つのネゴシエーション選択肢、及び
ii)各ネゴシエーション選択肢に関連するそれぞれの重み付け
を含む第2のネゴシエーションリストを示し、
c)第1のネゴシエーションリストを第2のネゴシエーションリストと比較すること、並びに
d)比較及びそれぞれの重み付けの結果を使用してネゴシエーションの選択肢のうちの1つを選択すること
を含む。
a)両ネゴシエーションリストに共通の任意のネゴシエーション選択肢を選択すること、及び
b)各選択された共通のネゴシエーション選択肢に対し、各ネゴシエーションリストにおけるそれぞれの重み付けから形成される結合された重み付けを確定すること、及び
c)確定された結合された重み付けに従って共通のネゴシエーションの選択肢のうちの1つを選択すること
により、処理システムにおけるネゴシエーションリストを比較することを含む。
a)各ネゴシエーションリストにおける重み付けを正規化すること、
b)各ネゴシエーションリストにおけるそれぞれの重み付けの平均を確定することにより、結合された重み付けを確定すること
を含む。
a)結合された重み付けが最も高い重み付けを有する共通のネゴシエーションの選択肢を選択すること、並びに
b)少なくとも2つの共通のネゴシエーションの選択肢が等しく最も高い結合された重み付けを有する場合、
i)少なくとも2つの共通のネゴシエーションの選択肢の各々に対して確定される平均自乗誤差、及び
ii)任意の規則の使用
のうちの少なくとも1つを使用すること
によって選択することを含む。
a)コンポーネント要求を受け取ること、及び
b)コンポーネント要求に応じて第1のコンポーネントサーバを実装すること
を含む。
a)少なくとも1つのエージェントを実装すること、及び
b)少なくとも1つのエージェントに対し、第2のコンポーネントサーバによって実装される1つ又は複数のエージェントと通信させることよって、第2のネゴシエーションデータを確定すること
を含む。
a)接続要求の一部として接続データを受け取ることであって、接続データは、第2のコンポーネントサーバに関連する1つ又は複数のエージェントのエージェントアドレスを含む、受け取ること、及び
b)接続要求に応じて第1のコンポーネントサーバを実装すること
を含む。
a)ネゴシエーション、
b)所定のデータ処理サービス、及び
c)それぞれのコードフラグメントの生成
のうちの少なくとも1つを実行させる実行可能コードから形成される。
a)所望の機能に基づいてコンポーネントの組み合わせを定義し、コンポーネントの組み合わせは、ネゴシエーションを実行する少なくとも2つのコンポーネントを含むこと、及び
b)コンポーネントの組み合わせにおけるコンポーネントが実装されるようにし、コンポーネントのうちの少なくともいくつかが通信して、結合されると実行可能コードを形成するコードフラグメントを生成し、少なくとも2つのコンポーネントは、共通のネゴシエーションの選択肢を確定するために通信するようになっており、コードフラグメントのうちの少なくとも1つは、確定されたネゴシエーションの選択肢に少なくとも部分的に依存して生成されること
を含む。
a)コンポーネントの組み合わせから
i)実装されるコンポーネント、
ii)コンポーネントのそれぞれの間の接続
を確定すること、
b)各コンポーネントに対し、コンポーネントの実装を要求するコンポーネント要求を生成し、コンポーネント要求は、任意の必要な接続を表す接続データを含むこと、
c)コンポーネント要求をコンポーネント処理システムに転送することによって、コンポーネント処理システムの少なくともいくつかに対し、接続を使用して通信させ且つコードフラグメントを生成させ、コンポーネント処理システムのうちの少なくとも2つは、いくつかの利用可能なネゴシエーションの選択肢から共通のネゴシエーションの選択肢を確定するために通信し、コードフラグメントのうちの1つ又は複数は、少なくとも部分的に共通のネゴシエーション選択肢に基づいていること、
d)コンポーネント処理システムからコードフラグメントを受け取り、コードフラグメントは、結合されると、実行可能コードを形成すること
を含む。
a)第1のコンポーネントに関連する第1のネゴシエーションデータを確定させ、第1のネゴシエーションデータは
i)少なくとも1つのネゴシエーション選択肢、及び
ii)各ネゴシエーション選択肢に関連するそれぞれの重み付け
を含む第1のネゴシエーションリストを示し、
b)コンポーネントに関連する第2のネゴシエーションデータを確定させ、第2のネゴシエーションデータは
i)少なくとも1つのネゴシエーション選択肢、及び
ii)各ネゴシエーション選択肢に関連するそれぞれの重み付け
を含む第2のネゴシエーションリストを示し、
c)第1のネゴシエーションリストを第2のネゴシエーションリストと比較させ、且つ、
d)比較の結果及びそれぞれの重み付けを使用してネゴシエーション選択肢のうちの1つを選択させる、コンピュータによって実行可能なコードによって具体化される。
a)第1のコンポーネント群に関連する第1のネゴシエーションデータを確定し、第1のネゴシエーションデータは
i)少なくとも1つのネゴシエーション選択肢、及び
ii)各ネゴシエーション選択肢に関連するそれぞれの重み付け
を含む第1のネゴシエーションリストを示し、
b)第2のコンポーネント群に関連する第2のネゴシエーションデータを確定し、第2のネゴシエーションデータは
i)少なくとも1つのネゴシエーション選択肢、及び
ii)各ネゴシエーション選択肢に関連するそれぞれの重み付け
を含む第2のネゴシエーションリストを示し、
c)第1のネゴシエーションリストを第2のネゴシエーションリストと比較すること、及び
d)比較の結果及びそれぞれの重み付けを使用してネゴシエーション選択肢のうちの1つを選択すること
を含む。
a)所望の機能に基づいてコンポーネントの組み合わせを定義することであって、コンポーネントの組み合わせは、ネゴシエーションを実行する少なくとも2つのコンポーネント群を含み、コンポーネントの組み合わせは、
i)実装されるコンポーネント
ii)コンポーネント間の接続
を示し、
b)コンポーネントの組み合わせにおけるコンポーネントが実装されるようにし、コンポーネントのうちの少なくともいくつかは、接続を使用して通信し且つコードフラグメントを生成し、コードフラグメントは、結合されると実行可能コードを形成し、少なくとも2つのコンポーネント群は、共通のネゴシエーション選択肢を確定するために通信するようになっており、コードフラグメントのうちの少なくとも1つは、確定されたネゴシエーション選択肢に少なくとも部分的に依存して生成されること
を含む。
a)1つ又はコンポーネント、及び
b)1つ又は複数のコンポーネント群
のうちの少なくとも1つから形成される。
(a)少なくとも1つの下位コンポーネントの組み合わせを表す内部略図を確定すること、
(b)内部略図に従って各下位コンポーネントの実装をもたらすこと、
(c)各下位コンポーネントが実装されると、各下位コンポーネントの終了をもたらすこと、
(d)必要に応じてステップ(a)〜(c)を繰り返すこと
を含む。
(a)1つ又は複数の下位コンポーネントの組み合わせを表す少なくとも1つの内部仕様を定義し、各下位コンポーネントは、それぞれのデータ処理サービスを表し、それにより定義された組み合わせは必要なサービスを表すこと、
(b)いくつかのエージェントを定義し、エージェントのうちの少なくとも1つは、受け取ったデータに応じて内部略図を選択するようになっており、エージェントは、内部仕様の終了時に存続するようになっていること、及び
(c)少なくとも1つの内部略図及びエージェントを定義する仕様を生成すること
を含む。
(a)1つ又は複数の他のコンポーネントと通信すること、及び
(b)通信に従って内部仕様を選択すること
を含む。
(a)下位コンポーネントの各々に対して通知を生成させること、
(b)通知の指示を終了コンポーネントに転送すること、
(c)終了コンポーネントに対し、指示を受け取ることに応じて終了命令を生成させること、及び
(d)終了命令を下位コンポーネントに転送すること
を含む。
(a)下位コンポーネントの組み合わせを表す内部仕様を確定し、下位コンポーネントは少なくとも1つの局所基本コンポーネントを含むこと、
(b)下位コンポーネントの各々の実装を、
(i)各非局所基本コンポーネントに関連するそれぞれの処理システムにコンポーネント要求を転送すること、及び
(ii)局所基本コンポーネントを表す所定の実行可能コードを実装すること
によりもたらすこと、並びに
(c)下位コンポーネントに対し、内部仕様に従って通信させることによって、データ処理サービスを実行すること
を含む。
(a)コード要求を定義するコンポーネントの組み合わせを確定し、コンポーネントは少なくとも1つの局所基本コンポーネントを含むこと、及び
(b)コンポーネントの組み合わせを実装することによって定義されたデータ処理のシーケンスを実行し、それによってコンピュータコードが生成され、局所基本コンポーネントは処理システムを使用して所定のコードを実行することにより実装されること
を含む。
(a)内部仕様内の下位コンポーネント間で転送されるデータを監視し、
(b)処理システムからデータをロードし、且つ、
(c)処理システムにデータを保存する
ことを含む。
(a)コンポーネントの完了を示す指示を受け取ること、及び
(b)終了命令がコンポーネントに転送されるようにし、いくつかのコンポーネントは終了命令に応じて終了すること
を含む。
(a)通知指示を受け取ることに応じて終了命令を生成し、且つ
(b)いくつかのコンポーネントのうちの少なくとも1つに終了命令を転送し、コンポーネントは終了命令に応じることによって終了する。
(a)いくつかの所定の規則を確定すること、及び
(b)所定の規則に従って終了命令を生成すること
を含む。
(a)通知指示を受け取ること、及び
(b)通知指示を使用していくつかの所定の規則を確定すること
を含む。
(a)いくつかのコンポーネントのうちの1つ、
(b)いくつかのコンポーネントのうちの複数、及び
(c)いくつかのコンポーネントの各々
を終了させることを含む。
(a)エージェントの各々に関連するそれぞれのバンドリングコンポーネントを提供すること、
(b)各バンドリングコンポーネントに対し、
(i)それぞれのエージェントに対する接続情報を確定させ、
(ii)エージェントバンドルに対して接続情報を追加させ、
(iii)エージェントバンドルに提供されるカウンタをインクリメントさせること、及び
(c)エージェントバンドルを第2のコンポーネントに転送し、第2のコンポーネントはエージェントバンドルに応じて接続情報を確定すること
を含む。
(a)エージェントバンドルを受け取ること、
(b)それぞれのエージェントに対して接続情報を確定すること、
(c)接続情報をエージェントバンドルに追加すること、
(d)エージェントバンドルに提供されるカウンタをインクリメントすること、及び
(e)変更されたエージェントバンドルを提供すること
を含む。
(a)エージェントバンドルを受け取ること、
(b)エージェントの数をカウンタから確定すること、及び
(c)対応する数のエージェントを実装することによって、その数のエージェントが処理されることが可能になること
を含むことができる。
(a)コンポーネントの組み合わせを確定し、コンポーネントの組み合わせは一連のデータ処理を定義し、且つ所望の機能が実現され得るようにする要求に従って定義されること、
(b)コンポーネントの組み合わせを、
(i)組み合わせにおける各コンポーネントに対応するコンポーネントサーバの実装をもたらし、各コンポーネントサーバは処理システムによって実装されること、
(ii)各コンポーネントサーバに対し、定義された一連のデータ処理に従ってそれぞれのデータ処理サービスを実行させ、コンポーネントサーバのうちの少なくともいくつかは、データシーケンスと対話することによってそれぞれのサービスを実行し、コンポーネントサーバの少なくともいくつかは
(1)1つ又は複数のコンポーネントサーバと通信すること、及び
(2)さらなるコンポーネントの実装をもたらすこと
のうちの少なくとも1つによってサービスを実行すること
によってコンピュータコードを生成するように実装すること、
(c)一連のデータ処理を実行する結果として且つデータシーケンスから、結果としてのデータシーケンスを取得し、結果としてのデータシーケンスはコンピュータコードであること、及び
(d)コンピュータコードを処理システムに提供し、処理システムによるコンピュータコードの実行により、処理システムは所望の機能を実行すること
を含む。
コンピュータによって実行可能なコードを生産するプロセスの一例について、これより図1を参照して概説する。
・開始時の実行可能ファイルが既知の状態。このため、たとえば、結果としてのコンピュータによって実行可能なコードがアプリケーションである場合、開始時のアプリケーションの既知の状態はオペレーティングシステムによって確定される。
・前の命令からのレジスタの既知の状態
・スタック及びメモリの既知の状態
・レジスタ、スタック及びメモリの割り当て
・プロジェクト内のそれ自体(コンポーネント)の番号
・どのコンポーネントが自分のコンポーネントに接続されるか
・コードを置くべき場所
使用の際、コンポーネントは、所定のデータ処理サービスを提供するように動作する。データ処理サービスには、データの処理又は実行可能ファイルの一部の生成が含まれてもよい。したがって、コンポーネントが実装される方法は、処理されるデータのタイプ、実行される処理のタイプ及びデータが処理されるコンテキスト等、複数の要素によって決まる。
要件の集まりを、プロトコルに分解することができ、ネゴシエーションはそれに関して実施され、異なるプロトコルは選択肢の異なるリストを定義する。
negotiateコンポーネントをカスケードにすることによりディシジョンツリーを作成することができる。
ネゴシエーションを実行する代りに、強制されたネゴシエーションポジションを使用することができる。これを、たとえば単一ネゴシエーション選択肢のみが定義されたプロトコルを実装することによって実現することができる。別の方法として、これを、他のコンポーネントが所定の選択肢に従って直接通信するようにnegotiationコンポーネントを単に除去することによって実現してもよい。
ネゴシエーションが2つのコンポーネント間で直接実行されることに加えて、より多くのコンポーネントの間で多重ネゴシエーションを実行することも可能である。ここで、この一例を、ADDコンポーネントの一例を示す図10を参照して説明する。
使用の際、ビルドプロセス中に仕様が実装されると、コンポーネントを、それぞれのコンポーネントサーバによってそれぞれのコンポーネントインスタンスとして実装することができる。コンポーネントサーバは、通常、コンポーネントサービスを構築し送るために使用されるコンポーネントの内部仕様を具体化する。この内部仕様は、それぞれのコンポーネント内に含まれる下位コンポーネントの相対編成を表し、結果は、コンポーネントサービスを送ることである。
状況によっては、連続して複数回コンポーネントを実装することができることが有用である。これを実現するために、コンポーネントが順に複数回定義される仕様を構築することが可能である。しかしながら、状況によっては、これは、問題に対する適当なソリューションを表していないことが理解されよう。
コンポーネントが具体化されたサービスを実行すると、コンポーネントインスタンスは終了する。コンポーネントが終了していない場合、コンポーネントインスタンスがコンポーネントサーバで生成されると、これは無期限に持続することになる。その結果、コンポーネントサーバは、使用済みのそれ以上必要でないコンポーネントインスタンスによって過負荷状態となる。これを回避するために、コンポーネントを、適当なイベントが発生した時に実装サーバに対しそれぞれのコンポーネントインスタンスを閉じさせることにより終了させる。
バンドリングの一例については、以前、本出願人による同時係属出願PCT/AU03/01474号において述べられている。
上述した例のほとんどにおいて、各エージェントは、他の1つのエージェントのみと相互接続するようになっている。この例では、多重接続が必要な場合、これがバンドリングを用いて実現される。
一例では、エージェントは、異なるエージェントと順に通信することによって動作することができる。したがって、エージェントが他の多くのエージェントと接続する場合、通信は適当な順序で実行されることが確実である必要がある。
多点エージェントが複数の異なるエージェントとネゴシエートしている場合、これを、複数の方法のうちの任意の1つで行うことができる。
概して、各コンポーネントは、上述したように、適当な処理システムによってホストされる実行可能ソフトウェアから形成されるコンポーネントサーバを利用して実装される。コンポーネントサーバの目的は、コンポーネントインスタンスが、通常コードフラグメントの生成を含むことができる所望のデータ処理サービスを実行するのを可能にすることである。
コンポーネントの柔軟性を向上させるために、コンポーネント供給者は、複数の選択肢がコンポーネントの一部として実装されるのを可能にすることができ、それにより、コンポーネントによって提供される機能の範囲が大幅に増大する。
コンポーネント提供者に対し追加のセキュリティを提供するために、プロトコル更新システムを提供することが可能である。この場合、これによって、コンポーネントによって使用される通信プロトコルが、更新されるべきエージェントメッセージのフォーマット及び取得命令、並びに任意の暗号化等を通信することができるようになる。これを使用して、コンポーネントサーバにおける攻撃、及び個人の提供されたコンポーネントの機能をリバースエンジニアリングしようとする不正な取得命令の利用を防止することにより、セキュリティを提供することができる。
上述したように、コンポーネントのコンテキストは、コンポーネントを使用してその特定の機能を実行することができる方法を制御するために使用される。したがって、これは、コンテキストが異なる毎に異なる命令を表す異なるバイナリコードを生成することに対応することができる。別の方法として、それは、コンポーネントを実装している時に異なる内部仕様をロードすることを構成してもよい。
・仕様における供給者自身のコンポーネントの2つ以上の存在、それは、このタイプのいくつかの又はすべてのコンポーネントの結果としてのコードフラグメントに影響を与える可能性がある
・仕様における他のコンポーネントの存在又は不在
・特定のコンテキストに対する特定の要求
・他のコンポーネントとの合意
・コンポーネントに対して定義された選択肢
・資源の場所及び可用性
・実行ファイルが実行されることになるターゲット環境
ここで、上述した概念を利用する2つの特定の実施例についてより詳細に説明する。
ここで、図14A、図14B及び図14Cを参照して、カウントダウンカウンタを実装することができるようにする多段階トランザクションの使用の一例について説明する。
・コンポーネント1210−文字列から値を減算する
・コンポーネント1220−受け取った文字列を複製する
・コンポーネント1230−文字列を値と比較する
・コンポーネント1240−論理AND
・コンポーネント1245−終了コンポーネント
・コンポーネント1250−メモリコンポーネント
・コンポーネント1260−メモリコンポーネント
ここで、上述した機能を組み込んだ仕様の特定の一例についてより詳細に説明する。
・Negotiateコンポーネント−上述したように、これはネゴシエーションサービスを提供する
・LUT−これは、入力エージェントI、テーブルエージェントT及び出力エージェントO並びに任意にエラーを示すエラーエージェントEを含む4つのエージェントを利用する。使用の際、エージェントIを介して受け取られた入力は、テーブルエージェントTを介してルックアップテーブルにアクセスするために使用され、出力の指示は出力エージェントOを介して提供される
・Watch−上述したwatchコンポーネントは、診断の目的で監視機能を提供するためにトラフィックをスヌープすることができる
・Bun3−Bun3は、PCT/AU03/01474号で示す同時係属出願に記載されているbundleコンポーネントであり、エージェントBを介してエージェントメッセージのバンドルを受け取り、エージェント1、2、及び3を介してバンドルの一部から形成される別個のメッセージを提供するように動作する
・ADD−数学的加算
・RND−数学的四捨五入
・EQ−数学的等号
・DUP−複製
・sinkコンポーネントのIDエージェントがsourceコンポーネントのEQコンポーネントのエージェント1に接続されるようにエージェント1受け渡し
・sourceコンポーネントのDUPコンポーネントの出力がsinkコンポーネントのwatchコンポーネントのエージェントIに接続されるようにエージェント2受け渡し
・各negotiationコンポーネントのInエージェントが相互接続されるようにエージェント3受け渡し
・Build ASM−これは、Codeエージェントを介してコードを送りState Inエージェント及びState Outエージェントを介してプロセッサ及び状態情報を送るための容易なアクセスを可能にすることにより、ビルドシステムとの通信を支援するコンポーネントである。build ASMはまた、IDエージェントを介してビルドシステム内の位置の指示も提供する。
・Header−このコンポーネントは、buildエージェントを介して受け取られるコードにヘッダを添付し、それにより機能コードがCode Outエージェントを介して出力され得るようにする。
・Bcat−このコンポーネントは、多くのコード生成コンポーネントからの出力をビルドシステム内で連結することができるように、複雑なbuildエージェントを分割する。
1)headerコンポーネントによってビルドバンドルが作成され、そこから、内部エージェントコードを介して送られるコードが抽出される
2)ビルドバンドルは、Bcatバンドルを介してelementコンポーネント及びsysexitコンポーネントのbuildエージェントに伝播される
3)ビルドバンドルは、それぞれのbuild ASMコンポーネントによって使用され、buld ASMコンポーネントは、ID値を抽出し、これをsourceコンポーネント及びsinkコンポーネントの各々に転送する
4)sinkコンポーネント及びsourceコンポーネントは、上述したように動作することにより、それらが仕様において隣接するか否かを判断する
5)elementコンポーネントにおいて
(a)確定されたネゴシエーション選択肢がDUPコンポーネントによって2回複製され3つのLUTコンポーネントに転送される
(b)LUTコンポーネントは、それぞれのtailコードテーブル、valueコードテーブル及びheadコードテーブルにアクセスし、headコード及びtailコードをCATコンポーネントに出力し、valueコードをnumber sourceに出力する
(c)number sourceは、任意に、valueコードをsysexitコンポーネントのnumber sinkに提供する。
(d)CATコンポーネントは、headコードを先頭に追加しtailコードを添付することによって、幾分かのメモリを確保し、それを初期化し、ネゴシエーション中の合意としてコピーを送るコードソリューションを形成し、このソリューションをbuild ASMコンポーネントのcodeエージェントに提供する
(e)build ASMコンポーネントは、結果としてのコードを、Bcatコンポーネントに転送されるビルドバンドルに組み込む
6)sysexitコンポーネントにおいて
(a)確定されたネゴシエーション選択肢は、DUPコンポーネントによって複製され2つのLUTコンポーネントに転送される
(b)LUTコンポーネントは、それぞれのtailコードテーブル及びheadコードテーブルにアクセスし、CATコンポーネントに転送される対応する出力を生成する
(c)CATコンポーネントは、elementコンポーネントのnumber sourceから受け取られた合意にheadコードを先頭に追加しtailコードを添付することによってコードソリューションを構築し、そのソリューションをbuild ASMコンポーネントのcodeエージェントに提供する
(d)build ASMコンポーネントは、結果としてのコードを、Bcatコンポーネントに転送されるビルドバンドルに組み込む
7)Bcatコンポーネントは、elementコンポーネント及びsysexitコンポーネントからのコードを連結し、結果をheaderコンポーネントに転送する
8)headerコンポーネントはヘッダを生成し、出力コードを提供する。
Datum dd 42
SECTION .text
Mov ecx,[datum]
mov eax,1
Int 0x80
; end of sys_exit
GLOBAL _start
SECTION .text
_start:
SECTION .data
datum dd 42
SECTION .text
mov ecx,[datum]
mov ebx,ecx
mov eax,1
int 0x80
; end of sys_exit
Datum dd 42
SECTION .text
mov ebx,[datum]
int 0x80
; end of sys_exit
GLOBAL _start
SECTION .text
_start:
SECTION .data
Datum dd 42
SECTION .text
mov ebx,[datum]
mov eax,1
int 0x80
; end of sys_exit
<option> <value>unsigned_32_actual_ebx</value> <weight>9</w eight> <type>compound</type> </option>
<option> <value>unsigned_32_actual_ecx</value> <weight>4</w eight> <type>compound</type> </option>
<option> <value>unsigned_32_actual_edx</value> <weight>4</w eight> <type>compound</type> </option>
<option> <value>unsigned_32_actual_edi</value> <weight>4</w eight> <type>compound</type> </option>
<option> <value>unsigned_32_actual_esi</value> <weight>4</w eight> <type>compound</type> </option>
<option> <value>unsigned_32_actual_ebp</value> <weight>4</w eight> <type>compound</type> </option>
<option> <value>unsigned_32_actual_mem</value> <weight>3</w eight> <type>compound</type> </option>
<option> <value>unsigned_32_actual_stack</value> <weight> 3</weight> <type>compound</type> </option>
Claims (14)
- 第1のコンポーネントと第2のコンポーネントとの間のネゴシエーションを実行する方法であって、各コンポーネントはそれぞれのデータ処理サービスを具体化し、処理システムにおいて、
a)前記第1のコンポーネントに関連する第1のネゴシエーションデータを確定すること、該第1のネゴシエーションデータは、
i)少なくとも1つのネゴシエーションの選択肢、及び
ii)各ネゴシエーションの選択肢に関連するそれぞれの重み付け
を含む第1のネゴシエーションリストを示し、
b)前記第2のコンポーネントに関連する第2のネゴシエーションデータを確定すること、該第2のネゴシエーションデータは、
i)少なくとも1つのネゴシエーションの選択肢、及び
ii)各ネゴシエーションの選択肢に関連するそれぞれの重み付け
を含む第2のネゴシエーションリストを示し、
c)前記第1のネゴシエーションリストを前記第2のネゴシエーションリストと比較すること、並びに
d)前記比較及び前記それぞれの重み付けの結果を使用して前記ネゴシエーションの選択肢のうちの1つを選択すること
を含む方法。 - 所定のアルゴリズムを使用して前記ネゴシエーションの選択肢のうちの1つを選択することを含む請求項1に記載の方法。
- a)両ネゴシエーションリストに共通する任意のネゴシエーションの選択肢を選択すること、及び
b)各選択された共通のネゴシエーションの選択肢に対し、各ネゴシエーションリストにおける前記それぞれの重み付けから形成される結合された重み付けを確定すること、及び
c)前記確定された結合された重み付けに従って前記共通のネゴシエーションの選択肢のうちの1つを選択すること
により、前記処理システムにおける前記ネゴシエーションリストを比較することを含む、請求項1に記載の方法。 - 前記処理システムにおいて、
a)各ネゴシエーションリストにおける前記重み付けを正規化すること、
b)各ネゴシエーションリストにおける前記それぞれの重み付けの平均を確定するこ とにより、前記結合された重み付けを確定すること
を含む、請求項3に記載の方法。 - 前記1つの共通のネゴシエーションの選択肢を、前記処理システムにおいて、
a)結合された重み付けが最も高い重み付けを有する前記共通のネゴシエーションの選択肢を選択すること、並びに
b)少なくとも2つの共通のネゴシエーション選択肢が等しく最も高い結合された重み付けを有する場合、
i)前記少なくとも2つの共通のネゴシエーション選択肢の各々に対して確定される平均自乗誤差、及び
ii)任意の規則の使用
のうちの少なくとも1つを使用すること
によって選択することを含む請求項3に記載の方法。 - 前記処理システムにおいて、negotiationコンポーネントを実装することによって、前記ネゴシエーションを実装することを含む請求項1に記載の方法。
- 前記処理システムは、前記第1のコンポーネントに対応する第1のコンポーネントサーバを実装する請求項1に記載の方法。
- 前記処理システムにおいて、
a)コンポーネント要求を受け取ること、及び
b)前記コンポーネント要求に応じて前記第1のコンポーネントサーバを実装すること
を含む請求項7に記載の方法。 - 前記処理システムにおいて、前記第2のコンポーネントに対応する第2のコンポーネントサーバを実装する第2の処理システムから前記第2のネゴシエーションデータを受け取ることを含む請求項8に記載の方法。
- 前記処理システムにおいて、
a)少なくとも1つのエージェントを実装すること、及び
b)該少なくとも1つのエージェントに対し、前記第2のコンポーネントサーバによって実装される1つ又は複数のエージェントと通信させることによって、前記第2のネゴシエーションデータを確定することを含む、請求項9に記載の方法。 - 前記コンピュータシステムにおいて、
a)接続要求の一部として接続データを受け取り、該接続データは、前記第2のコンポーネントサーバに関連する前記1つ又は複数のエージェントのエージェントアドレスを含むこと、及び
b)前記接続要求に応じて前記第1のコンポーネントサーバを実装することを含む請求項10に記載の方法。 - 前記処理システムにおいてコードフラグメントを生成し、該コードフラグメントは前記ネゴシエーションの結果によって決まることを含む請求項1に記載の方法。
- 各コンポーネントは、対応するコンポーネントサーバを実装することによって実装され、各コンポーネントサーバは、適当な処理システムで実行されると、該処理システムに対し、
a)ネゴシエーション、
b)所定のデータ処理サービス、及び
c)それぞれのコードフラグメントの生成
のうちの少なくとも1つを実行させる実行可能コードから形成される請求項1に記載の方法。 - コンポーネントの組み合わせにおける少なくとも1つの他のコンポーネントとのネゴシエーションを実行するコンポーネントであって、適当にプログラムされた処理システムで実装されると、該処理システムに対し、
a)第1のコンポーネントに関連する第1のネゴシエーションデータを確定させ、該第1のネゴシエーションデータは
i)少なくとも1つのネゴシエーションの選択肢、及び
ii)各ネゴシエーション選択肢に関連するそれぞれの重み付け
を含む第1のネゴシエーションリストを示し、
b)前記コンポーネントに関連する第2のネゴシエーションデータを確定させ、該第2のネゴシエーションデータは
i)少なくとも1つのネゴシエーション選択肢、及び
ii)各ネゴシエーション選択肢に関連するそれぞれの重み付け
を含む第2のネゴシエーションリストを示し、
c)前記第1のネゴシエーションリストを前記第2のネゴシエーションリストと比較させ、且つ、
d)前記比較の結果及び前記それぞれの重み付けを使用して前記ネゴシエーション選択肢のうちの1つを選択させる、計算機によって実行可能なコードによって具体化されるコンポーネント。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2004902675A AU2004902675A0 (en) | 2004-05-20 | Code generation techniques | |
AU2004902675 | 2004-05-20 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012162763A Division JP2012230710A (ja) | 2004-05-20 | 2012-07-23 | 計算機が実行可能なコードを生成する方法及び計算機が実行可能なコードを生成するために使用されるコンポーネントを提供する方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014044748A true JP2014044748A (ja) | 2014-03-13 |
JP5705297B2 JP5705297B2 (ja) | 2015-04-22 |
Family
ID=35428539
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007516885A Pending JP2007538321A (ja) | 2004-05-20 | 2005-05-20 | コード生成方法 |
JP2012162763A Pending JP2012230710A (ja) | 2004-05-20 | 2012-07-23 | 計算機が実行可能なコードを生成する方法及び計算機が実行可能なコードを生成するために使用されるコンポーネントを提供する方法 |
JP2013254272A Active JP5705297B2 (ja) | 2004-05-20 | 2013-12-09 | 第1のコンポーネントと第2のコンポーネントとの間のネゴシエーションを実行する方法及びネゴシエーションを実行するコンポーネント |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007516885A Pending JP2007538321A (ja) | 2004-05-20 | 2005-05-20 | コード生成方法 |
JP2012162763A Pending JP2012230710A (ja) | 2004-05-20 | 2012-07-23 | 計算機が実行可能なコードを生成する方法及び計算機が実行可能なコードを生成するために使用されるコンポーネントを提供する方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8856733B2 (ja) |
EP (2) | EP2386946B1 (ja) |
JP (3) | JP2007538321A (ja) |
CA (1) | CA2566000C (ja) |
WO (1) | WO2005114387A1 (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8527943B1 (en) * | 2004-02-12 | 2013-09-03 | Raju V. Chiluvuri | System and method of application development |
US20070180069A1 (en) * | 2006-01-31 | 2007-08-02 | Staples The Office Superstore, Llc | Management of component configurations in a computer system |
WO2008022470A1 (de) * | 2006-08-21 | 2008-02-28 | Odz Organisation Datenverarbeitung Zweidler | Programm-generator zur generierung eines programms auf dem gebiet der warenwirtschaft und verfahren hierzu |
US8745557B1 (en) | 2006-09-11 | 2014-06-03 | The Mathworks, Inc. | Hardware definition language generation for data serialization from executable graphical models |
US8307329B2 (en) * | 2008-02-07 | 2012-11-06 | Microsoft Corporation | Implicit composition of component bindings |
US8108831B2 (en) * | 2008-02-07 | 2012-01-31 | Microsoft Corporation | Iterative component binding |
TW201006175A (en) * | 2008-07-31 | 2010-02-01 | Ibm | Method, apparatus, and computer program product for testing a network system |
US8898628B2 (en) * | 2011-09-23 | 2014-11-25 | Ahmad RAZA | Method and an apparatus for developing software |
GB2507273A (en) * | 2012-10-23 | 2014-04-30 | Ibm | Maintaining integrity of output of code generators |
US9665828B2 (en) | 2014-01-16 | 2017-05-30 | International Business Machines Corporation | Using physicochemical correlates of perceptual flavor similarity to enhance, balance and substitute flavors |
KR102190813B1 (ko) * | 2014-03-25 | 2020-12-14 | 한국전자통신연구원 | 코드 추천 및 공유 시스템 및 방법 |
CN105446711B (zh) * | 2014-08-08 | 2018-10-02 | 国际商业机器公司 | 获取用于软件开发任务的上下文信息的方法及装置 |
US10423733B1 (en) * | 2015-12-03 | 2019-09-24 | The Mathworks, Inc. | Systems and methods for sharing resources having different data types |
US10938665B2 (en) | 2015-12-15 | 2021-03-02 | At&T Intellectual Property I, L.P. | Method and apparatus for creating a custom service |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030158915A1 (en) * | 2001-12-10 | 2003-08-21 | Alexander Gebhart | Dynamic component transfer |
JP2006506757A (ja) * | 2002-11-06 | 2006-02-23 | コード バリー ピーティーワイ リィミティッド | コード生成 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5517584A (en) * | 1994-08-09 | 1996-05-14 | Unisys Corporation | Method and apparatus for high-speed implementation of scaling, dithering, and data remapping operations with a single processor |
EP0937285B1 (en) * | 1995-12-15 | 2003-07-09 | Z-Force Corporation | Method for constructing software components and systems as assemblies of independent parts |
US5920868A (en) | 1996-07-03 | 1999-07-06 | Sun Microsystems, Inc. | Cataloging apparatus for facilitating the re-use of distributed objects in a distributed object system |
US5991535A (en) | 1996-07-03 | 1999-11-23 | Sun Microsystems, Inc. | Visual composition tool for constructing application programs using distributed objects on a distributed object network |
JP2000505225A (ja) | 1996-11-27 | 2000-04-25 | ソニー オイローパ ビーブイ | ソフトウェアコードの生成方法及び装置 |
US6212672B1 (en) | 1997-03-07 | 2001-04-03 | Dynamics Research Corporation | Software development system with an executable working model in an interpretable intermediate modeling language |
US6401114B1 (en) * | 1997-05-01 | 2002-06-04 | Stratum Technologies Corporation | Method and apparatus for dynamic programming across a computer network |
US6256771B1 (en) | 1997-10-16 | 2001-07-03 | At&T Corp. | Method and apparatus for providing a dynamic service composition software architecture |
US6484214B1 (en) | 1998-03-05 | 2002-11-19 | Mcdonnell Douglas Helicopter Company | Method for distributed object communications based on dynamically acquired and assembled software components |
WO1999046689A1 (en) * | 1998-03-12 | 1999-09-16 | Crossworlds Software, Inc. | Execution of extended activity diagrams by code generation |
DE19837871C2 (de) * | 1998-08-20 | 2000-06-08 | Manfred Broy | Verfahren zum automatischen Erzeugen eines Programms |
US6434738B1 (en) * | 1999-04-22 | 2002-08-13 | David Arnow | System and method for testing computer software |
BR0012706A (pt) | 1999-07-23 | 2002-04-09 | Codagen Technologies Corp | Editor de informações de controle hierarquicamente estruturado |
US7139728B2 (en) * | 1999-12-30 | 2006-11-21 | Rod Rigole | Systems and methods for online selection of service providers and management of service accounts |
US6681383B1 (en) | 2000-04-04 | 2004-01-20 | Sosy, Inc. | Automatic software production system |
WO2001086372A2 (en) * | 2000-05-12 | 2001-11-15 | Xtreamlok Pty. Ltd. | Information security method and system |
DE10041072A1 (de) | 2000-08-22 | 2002-03-14 | Siemens Ag | Verfahren zur automatischen Erzeugung von Programmcode |
AUPQ966400A0 (en) * | 2000-08-24 | 2000-09-21 | Xemplex Pty Ltd | Method of graphically defining a formula |
AU2001295016A1 (en) * | 2000-09-01 | 2002-03-13 | Sri International, Inc. | Probabilistic alert correlation |
US20020055956A1 (en) | 2000-09-08 | 2002-05-09 | Krasnoiarov Boris Andreyevich | Method and system for assembling concurrently-generated content |
US7020868B2 (en) | 2000-11-22 | 2006-03-28 | General Electric Company | Graphic application development system for a medical imaging system |
CA2440031C (en) | 2001-02-22 | 2013-07-02 | Accenture Global Services Gmbh | Distributed development environment for building internet applications by developers at remote locations |
EP1246054A1 (en) * | 2001-03-30 | 2002-10-02 | BRITISH TELECOMMUNICATIONS public limited company | Creating software programs from software components |
US7206846B1 (en) * | 2003-04-29 | 2007-04-17 | Cisco Technology, Inc. | Method and apparatus for adaptively coupling processing components in a distributed system |
US7559050B2 (en) * | 2003-06-30 | 2009-07-07 | Microsoft Corporation | Generating software development tools via target architecture specification |
-
2005
- 2005-05-20 WO PCT/AU2005/000729 patent/WO2005114387A1/en active Application Filing
- 2005-05-20 EP EP11176742.2A patent/EP2386946B1/en active Active
- 2005-05-20 US US11/569,356 patent/US8856733B2/en active Active
- 2005-05-20 EP EP05742158.8A patent/EP1756706B1/en active Active
- 2005-05-20 JP JP2007516885A patent/JP2007538321A/ja active Pending
- 2005-05-20 CA CA2566000A patent/CA2566000C/en active Active
-
2012
- 2012-07-23 JP JP2012162763A patent/JP2012230710A/ja active Pending
-
2013
- 2013-12-09 JP JP2013254272A patent/JP5705297B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030158915A1 (en) * | 2001-12-10 | 2003-08-21 | Alexander Gebhart | Dynamic component transfer |
JP2006506757A (ja) * | 2002-11-06 | 2006-02-23 | コード バリー ピーティーワイ リィミティッド | コード生成 |
Non-Patent Citations (4)
Title |
---|
CSNG200500157007; 今井尚樹ほか: 'ユビキタス環境におけるリアルタイム通信のためのサービスマイグレーション機構' 電子情報通信学会技術研究報告 Vol.103 No.651 IEICE Technical Report 第103巻,第651号, 200402, P.35-40, 社団法人電子情報通信学会 The Institute of Electro * |
CSNG201301107022; 高橋晶子ほか: 'やわらかいネットワーク層におけるメディアエレメントエージェントの設計 A Design of Media Element Agen' マルチメディア通信と分散処理ワークショップ 論文集 第2002巻,第15号, 200210, P.183-188, 一般社団法人情報処理学会 * |
JPN6014033769; 今井尚樹ほか: 'ユビキタス環境におけるリアルタイム通信のためのサービスマイグレーション機構' 電子情報通信学会技術研究報告 Vol.103 No.651 IEICE Technical Report 第103巻,第651号, 200402, P.35-40, 社団法人電子情報通信学会 The Institute of Electro * |
JPN6014033771; 高橋晶子ほか: 'やわらかいネットワーク層におけるメディアエレメントエージェントの設計 A Design of Media Element Agen' マルチメディア通信と分散処理ワークショップ 論文集 第2002巻,第15号, 200210, P.183-188, 一般社団法人情報処理学会 * |
Also Published As
Publication number | Publication date |
---|---|
CA2566000A1 (en) | 2005-12-01 |
EP2386946A3 (en) | 2012-05-02 |
EP1756706A1 (en) | 2007-02-28 |
CA2566000C (en) | 2016-11-08 |
US8856733B2 (en) | 2014-10-07 |
EP1756706B1 (en) | 2019-09-25 |
EP2386946B1 (en) | 2020-06-10 |
US20080201690A1 (en) | 2008-08-21 |
JP2007538321A (ja) | 2007-12-27 |
EP2386946A2 (en) | 2011-11-16 |
WO2005114387A1 (en) | 2005-12-01 |
EP1756706A4 (en) | 2009-06-24 |
JP2012230710A (ja) | 2012-11-22 |
JP5705297B2 (ja) | 2015-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5705297B2 (ja) | 第1のコンポーネントと第2のコンポーネントとの間のネゴシエーションを実行する方法及びネゴシエーションを実行するコンポーネント | |
JP7220678B2 (ja) | ブロックチェーン上で高レベル演算を提供する方法及びシステム | |
AU2010213618B9 (en) | Managing task execution | |
KR101076910B1 (ko) | 객체 지향 언어로의 병행 프로그램 구현 | |
JP2004501548A (ja) | プロトコール・スタック | |
US20040172637A1 (en) | Code morphing manager | |
EP3912074B1 (en) | Generating a synchronous digital circuit from a source code construct defining a function call | |
EP3384380B1 (en) | Method and apparatus for declarative action orchestration | |
CN104615489A (zh) | 一种多节点数据交互的实现方法 | |
Männistö et al. | Product configuration view to software product families | |
CN105703941B (zh) | 配置事务的处理方法及装置 | |
Gomaa et al. | Reusable component interconnection patterns for distributed software architectures | |
Sato et al. | Formal requirement enforcement on smart contracts based on linear dynamic logic | |
Flores et al. | A formal model of object-oriented design and GoF design patterns | |
EP1565813B1 (en) | Code generation | |
AU2005245983B2 (en) | Code generation techniques | |
CN111208991B (zh) | 基于工作流的程序开发方法、电子设备及存储介质 | |
Lienhardt et al. | An object group-based component model | |
US10678515B1 (en) | Simplifying and reusing visual programming graphs | |
Canal et al. | Model-based adaptation of software communicating via FIFO buffers | |
Arbab et al. | Different glasses to look into the three cs: component, connector, coordination | |
Taher et al. | A model-driven approach for web service adaptation using complex event processing | |
CN114398043A (zh) | 应用部署方法和装置、电子设备及存储介质 | |
EP3496020A1 (en) | Method for carrying out transactions | |
Reznik et al. | Development of the intelligent sensor network anomaly detection system: problems and solutions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20131217 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140421 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140812 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141111 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141202 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150121 |
|
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: 20150210 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150224 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5705297 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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |