JPWO2019166967A5 - - Google Patents

Download PDF

Info

Publication number
JPWO2019166967A5
JPWO2019166967A5 JP2020567656A JP2020567656A JPWO2019166967A5 JP WO2019166967 A5 JPWO2019166967 A5 JP WO2019166967A5 JP 2020567656 A JP2020567656 A JP 2020567656A JP 2020567656 A JP2020567656 A JP 2020567656A JP WO2019166967 A5 JPWO2019166967 A5 JP WO2019166967A5
Authority
JP
Japan
Prior art keywords
output
transformation
input
site
conversion
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
JP2020567656A
Other languages
Japanese (ja)
Other versions
JP7349453B2 (en
JP2021515954A (en
Publication date
Application filed filed Critical
Priority claimed from PCT/IB2019/051577 external-priority patent/WO2019166967A1/en
Publication of JP2021515954A publication Critical patent/JP2021515954A/en
Publication of JPWO2019166967A5 publication Critical patent/JPWO2019166967A5/ja
Application granted granted Critical
Publication of JP7349453B2 publication Critical patent/JP7349453B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

技術分野
本発明は、コンピュータの分野に関し、より詳細には、異種データのための処理ユニットに関する。
Technical Field The present invention relates to the field of computers, and more particularly to processing units for heterogeneous data.

背景
高性能コンピューティングおよびスーパーコンピューティングは、ヒッグス粒子の発見(CERN)およびヒトゲノムのシークエンシング(ヒトゲノムプロジェクト)など、多くの成果を支えてきた。高性能コンピューティング(HPC)およびスーパーコンピューティングは、医療および医薬、モデリングおよびシミュレーション、セキュリティ、フィンテック、工学および製造業などの分野に大きな影響を与えると期待されている。
Background High-performance computing and supercomputing have supported many achievements, including the discovery of the Higgs boson (CERN) and the sequencing of the human genome (Human Genome Project). High performance computing (HPC) and supercomputing are expected to have significant impacts in areas such as medicine and medicine, modeling and simulation, security, fintech, engineering and manufacturing.

HPCおよびスーパーコンピューティングのコミュニティは、上記の産業にさらに深い影響を与えるために対処する必要がある課題に直面している。いくつかの課題は、ハードウェアレベルとソフトウェアレベルの両方においてスケーラビリティを処理し、マルチレベル階層を表現して処理し、異種データの融合を実現し、人間の認知の弱点を補う代替の方法を見つけることである人間のボトルネック問題に対処することである。従来技術のプロセッサとコンピュータシステムの機能は、エクサスケール以上のコンピューティングを処理するためにさらに発展する必要があり、研究者および業界がスーパーコンピュータを利用できるように、使いやすく理解しやすい機能的に完成した共通のツールも必要である。 The HPC and supercomputing communities face challenges that need to be addressed in order to have a deeper impact on the above industries. Some challenges are to handle scalability at both the hardware and software levels, represent and process multi-level hierarchies, achieve heterogeneous data fusion, and find alternative ways to compensate for human cognitive weaknesses. It is to deal with the human bottleneck problem. The capabilities of prioritized processors and computer systems need to be further developed to handle exascale and above computing, and are functionally easy to use and understand so that researchers and the industry can take advantage of supercomputers. We also need a complete common tool.

さらに、コンピュータモデルまたはシミュレーションを実行するために、多数のシステムが開発されている。これらのシステムは通常、いくつかのアプリケーションに制限されており、ほとんどの場合、1つの知識分野でのみ使用することができる。結果として、訓練および学習に相当の努力が費やされない限り、システムの専門家は他のシステムに堪能ではない。さらに、モデルおよびシミュレーションモデルは通常、プラットフォーム間で互換性がない。一部の企業は自社製品のエコシステム内で、ある程度の互換性を提供しているが、ユーザは多くの場合、各製品を知り、それぞれの方法、手法、およびモデリングパラダイムを理解する必要がある。これは重要な欠点である。 In addition, numerous systems have been developed to run computer models or simulations. These systems are usually limited to a few applications and in most cases can only be used in one area of knowledge. As a result, system experts are not proficient in other systems unless considerable effort is spent in training and learning. In addition, models and simulation models are usually incompatible between platforms. While some companies offer some compatibility within their product ecosystem, users often need to know each product and understand their methods, methods, and modeling paradigms. .. This is an important drawback.

一部のシミュレーションソフトウェアまたはソリューションは、ソフトウェア開発キット(SDK)またはスクリプト言語へのアクセスを提供する。これらのスクリプト言語は通常テキストであり、C++(登録商標)、C#(登録商標)、Java(登録商標)またはPython(登録商標)などのプログラミング言語に似ている。このようなソフトウェア言語の場合、ユーザはいわゆる「コーディング障壁」とも呼ばれ得るものにすぐにぶつかることになり、この影響として、ソフトウェアを使用することができるユーザのタイプが大幅に制限される。ソフトウェアをより広くアクセスできるようにするために、これらのソフトウェアの供給元は、2D視覚インターフェースに記号として表示されるブロック内のコード、関数、およびスクリプトを非表示にすることがある。複数のブロックを追加して相互接続することにより、ブロック図が作成され、ブロック図は、2Dで提示されるシミュレーションモデルを表す。シミュレーションを実行した後、出力を2Dグラフに表示して、分析に役立てることができる。このようなシステムでは、物理モデルの表現と物理モデルに関連するデータとの間にギャップがある。たとえば、自動車のホイールに作用する力にアクセスしてグラフ化することはできるが、ホイールが回転している自動車の3Dモデルはない。自動車産業では、種々の部品を相互接続してシミュレーションできるが、これらのシミュレーションは、自動車が設計されるときに破棄されることになる。このようなシミュレーションは、製品に関する抽象的な情報を研究することを意図しており、主に微分方程式に依拠している。ユーザは物理学および数学の高度な知識を必要とするため、このようなプログラミングシステムは、エンジニアまたは研究者などの訓練を受けた人間のみによって使用される。 Some simulation software or solutions provide access to software development kits (SDKs) or scripting languages. These scripting languages are usually text and resemble programming languages such as C ++®, C #®, Java® or Python®. With such software languages, users quickly run into what could be called "coding barriers," which significantly limits the types of users who can use the software. To make the software more accessible, the sources of these software may hide the code, functions, and scripts in blocks that appear as symbols in the 2D visual interface. A block diagram is created by adding and interconnecting multiple blocks, and the block diagram represents a simulation model presented in 2D. After running the simulation, the output can be displayed in a 2D graph for analysis. In such a system, there is a gap between the representation of the physical model and the data associated with the physical model. For example, you can access and graph the forces acting on the wheels of a car, but there is no 3D model of a car with rotating wheels. In the automotive industry, various components can be interconnected and simulated, but these simulations will be discarded when the vehicle is designed. Such simulations are intended to study abstract information about the product and rely primarily on differential equations. Since users require advanced knowledge of physics and mathematics, such programming systems are used only by trained humans such as engineers or researchers.

現代の科学および企業プロジェクトは、今や学際的、協調的、世界的かつ非常に複雑である。多数の企業および公共団体を再編成する多くの大規模な学際的プロジェクト構想が存在する(Virtual Physiological Human Project、ヒューマンブレインプロジェクト、ブレインイニシアティブ)。そのようなプロジェクトでは、参加者のほんの一部だけが、モデルおよびシミュレーションを作成する技能を有する。ほとんどの参加者は自身の専門性の高い分野の専門家であり、他の分野の専門家に自身の知識を伝えたり、自身の知識を大きなまとまりのあるモデルに統合したりすることは困難である。 Modern science and corporate projects are now interdisciplinary, collaborative, global and highly complex. There are many large-scale interdisciplinary project initiatives that reorganize numerous companies and public bodies (Visual Physiological Human Project, Human Brain Project, Brain Initiative). In such projects, only a small proportion of the participants have the skills to create models and simulations. Most participants are experts in their own highly specialized field, and it is difficult to convey their knowledge to experts in other fields or to integrate their knowledge into a large cohesive model. be.

したがって、改善されたプログラミング方法を可能にする改善された処理ユニットアーキテクチャが必要とされている。 Therefore, there is a need for an improved processing unit architecture that allows for improved programming methods.

概要
第1の広範な態様によれば、処理ユニットデバイスであって、処理ユニットデバイスの動作を制御する少なくとも1つの制御ユニットと、少なくとも1つの制御ユニットによって実行される変換に関連付けられる少なくとも1つの変換ブロックを含む変換論理ユニットであり、変換は、出力ユニバースに含まれる出力サイトに適用されるエフェクトを含み、少なくとも1つの変換ブロックの各々は、エフェクトブロックおよび出力サイトブロックを含み、エフェクトブロックは、エフェクトに関する情報を記憶するための少なくとも1つの第1の記憶ユニットを含み、出力サイトブロックは、出力サイトに関する情報を記憶するための少なくとも1つの第2の記憶ユニットを含む、変換論理ユニットとを備える、処理ユニットデバイスが提供される。
Overview According to the first broad aspect, a processing unit device, at least one control unit that controls the operation of the processing unit device, and at least one conversion associated with a conversion performed by at least one control unit. A transformational logical unit containing blocks, the transformation containing effects applied to the output site contained within the output universe, each of at least one conversion block containing an effect block and an output site block, where the effect block is an effect. The output site block comprises a conversion logic unit that includes at least one second storage unit for storing information about the output site. A processing unit device is provided.

1つの実施形態では、少なくとも1つの制御ユニットは、変換のためのパラメータを定義する変換データを含むフォーム変換命令セットを使用してさらに変換を実行するように構成される。 In one embodiment, at least one control unit is configured to perform further conversions using a form conversion instruction set containing transformation data defining parameters for the transformation.

1つの実施形態では、少なくとも1つの制御ユニットは、変換論理ユニットに含まれる。 In one embodiment, at least one control unit is included in the conversion logic unit.

1つの実施形態では、少なくとも1つの制御ユニットは、少なくとも1つの変換ブロックのうちの1つに含まれる。 In one embodiment, the at least one control unit is contained in at least one of the conversion blocks.

1つの実施形態では、少なくとも1つの制御ユニットは複数の制御ユニットを含み、少なくとも1つの変換ブロックは複数の変換ブロックを含み、複数の制御ユニットの各々は複数の変換ブロックのうちのそれぞれの変換ブロックに含まれる。 In one embodiment, at least one control unit comprises a plurality of control units, at least one conversion block comprises a plurality of conversion blocks, and each of the plurality of control units is a conversion block of the plurality of conversion blocks. include.

1つの実施形態では、少なくとも1つの制御ユニットは、エフェクトブロックに含まれる少なくとも1つの第1の論理ユニットおよび出力サイトブロックに含まれる少なくとも1つの第2の論理ユニットを含む。 In one embodiment, the at least one control unit includes at least one first logical unit contained in the effect block and at least one second logical unit contained in the output site block.

1つの実施形態では、少なくとも1つの第1の論理ユニットおよび少なくとも1つの第2の論理ユニットは、算術論理演算ユニットおよび論理ゲートのうちの1つを含む。 In one embodiment, the at least one first logic unit and the at least one second logic unit include one of an arithmetic logical operation unit and a logic gate.

1つの実施形態では、少なくとも1つの制御ユニットは、変換論理ユニットに含まれる中央ユニットをさらに備える。 In one embodiment, the at least one control unit further comprises a central unit included in the conversion logic unit.

1つの実施形態では、少なくとも1つの制御ユニットは、外部メモリに接続可能である。 In one embodiment, at least one control unit can be connected to external memory.

1つの実施形態では、出力ユニバースに関する情報は、外部メモリに記憶される。
1つの実施形態では、処理ユニットデバイスは内部メモリをさらに備える。
In one embodiment, information about the output universe is stored in external memory.
In one embodiment, the processing unit device further comprises internal memory.

1つの実施形態では、出力ユニバースに関する情報は、内部メモリに記憶される。
1つの実施形態では、出力ユニバースに関する情報は、第1の記憶ユニットのいくつかおよび第2の記憶ユニットのいくつかのうちの少なくとも1つに記憶される。
In one embodiment, information about the output universe is stored in internal memory.
In one embodiment, information about the output universe is stored in at least one of some of the first storage units and some of the second storage units.

1つの実施形態では、少なくとも1つの第1の記憶ユニットおよび少なくとも1つの第2の記憶ユニットは、レジスタを含む。 In one embodiment, at least one first storage unit and at least one second storage unit include registers.

1つの実施形態では、少なくとも1つの変換ブロックの各々は、入力ユニバースに含まれる入力サイトに関する情報を記憶するための少なくとも1つの第3の記憶ユニットを含む入力サイトブロックをさらに備える。 In one embodiment, each of the at least one conversion block further comprises an input site block comprising at least one third storage unit for storing information about the input sites contained in the input universe.

1つの実施形態では、少なくとも1つの制御ユニットは複数の制御ユニットを含み、入力サイトブロックは少なくとも1つの複数の制御ユニットを備える。 In one embodiment, the at least one control unit comprises a plurality of control units and the input site block comprises at least one plurality of control units.

1つの実施形態では、少なくとも1つの変換ブロックの各々は、
入力ユニバースの部分空間を規定する入力範囲に関する情報を記憶するための少なくとも1つの第4の記憶ユニットを備える入力サイト範囲ブロックと、
出力ユニバースの部分空間を規定する出力範囲に関する情報を記憶するための少なくとも1つの第5の記憶ユニットを備える出力サイト範囲ブロックとをさらに備える。
In one embodiment, each of the at least one conversion block
An input site range block with at least one fourth storage unit for storing information about the input range that defines the subspace of the input universe.
It further comprises an output site range block comprising at least one fifth storage unit for storing information about an output range that defines a subspace of the output universe.

別の広範な態様によれば、処理ユニットデバイスであって、処理ユニットデバイスの動作を制御する少なくとも1つの制御ユニットと、少なくとも1つの制御ユニットによって実行される変換に関連付けられる少なくとも1つの変換ブロックを含む変換論理ユニットであり、変換は、入力ユニバースに含まれる入力サイトからの情報によって変更されるエフェクトを含み、少なくとも1つの変換ブロックの各々は、エフェクトブロックおよび入力サイトブロックを含み、エフェクトブロックは、エフェクトに関する情報を記憶するための少なくとも1つの第1の記憶ユニットを含み、入力サイトブロックは、入力サイトに関する情報を記憶するための少なくとも1つの第2の記憶ユニットを含む、変換論理ユニットとを備える、処理ユニットデバイスが提供される。 According to another broad aspect, a processing unit device that comprises at least one control unit that controls the operation of the processing unit device and at least one conversion block that is associated with the conversion performed by at least one control unit. A transformational logic unit that contains a transformation that contains effects that are modified by information from the input site contained in the input universe, each of which at least one transformation block contains an effect block and an input site block. The input site block comprises a conversion logic unit that includes at least one second storage unit for storing information about the effect and at least one second storage unit for storing information about the input site. , Processing unit device is provided.

1つの実施形態では、少なくとも1つの制御ユニットは、変換のためのパラメータを定義する変換データを含むフォーム変換命令セットを使用してさらに変換を実行するように構成される。 In one embodiment, at least one control unit is configured to perform further conversions using a form conversion instruction set containing transformation data defining parameters for the transformation.

1つの実施形態では、少なくとも1つの制御ユニットは、変換論理ユニットに含まれる。 In one embodiment, at least one control unit is included in the conversion logic unit.

1つの実施形態では、少なくとも1つの制御ユニットは、少なくとも1つの変換ブロックのうちの1つに含まれる。 In one embodiment, the at least one control unit is contained in at least one of the conversion blocks.

1つの実施形態では、少なくとも1つの制御ユニットは複数の制御ユニットを含み、少なくとも1つの変換ブロックは複数の変換ブロックを含み、複数の制御ユニットの各々は複数の変換ブロックのうちのそれぞれの変換ブロックに含まれる。 In one embodiment, at least one control unit comprises a plurality of control units, at least one conversion block comprises a plurality of conversion blocks, and each of the plurality of control units is a conversion block of the plurality of conversion blocks. include.

1つの実施形態では、少なくとも1つの制御ユニットは、エフェクトブロックに含まれる少なくとも1つの第1の論理ユニットおよび入力サイトブロックに含まれる少なくとも1つの第2の論理ユニットを含む。 In one embodiment, the at least one control unit includes at least one first logical unit contained in the effect block and at least one second logical unit contained in the input site block.

1つの実施形態では、少なくとも1つの第1の論理ユニットおよび少なくとも1つの第2の論理ユニットは、算術論理演算ユニットおよび論理ゲートのうちの1つを含む。 In one embodiment, the at least one first logic unit and the at least one second logic unit include one of an arithmetic logical operation unit and a logic gate.

1つの実施形態では、少なくとも1つの制御ユニットは、変換論理ユニットに含まれる中央ユニットをさらに備える。 In one embodiment, the at least one control unit further comprises a central unit included in the conversion logic unit.

1つの実施形態では、少なくとも1つの制御ユニットは、外部メモリに接続可能である。 In one embodiment, at least one control unit can be connected to external memory.

1つの実施形態では、入力ユニバースに関する情報は、外部メモリに記憶される。
1つの実施形態では、処理ユニットデバイスは内部メモリをさらに備える。
In one embodiment, information about the input universe is stored in external memory.
In one embodiment, the processing unit device further comprises internal memory.

1つの実施形態では、入力ユニバースに関する情報は、内部メモリに記憶される。
1つの実施形態では、入力ユニバースに関する情報は、第1の記憶ユニットのいくつかおよび第2の記憶ユニットのいくつかのうちの少なくとも1つに記憶される。
In one embodiment, information about the input universe is stored in internal memory.
In one embodiment, information about the input universe is stored in at least one of some of the first storage units and some of the second storage units.

1つの実施形態では、少なくとも1つの第1の記憶ユニットおよび少なくとも1つの第2の記憶ユニットは、レジスタを含む。 In one embodiment, at least one first storage unit and at least one second storage unit include registers.

1つの実施形態では、少なくとも1つの変換ブロックの各々は、出力ユニバースに含まれる出力サイトに関する情報を記憶するための少なくとも1つの第3の記憶ユニットを含む出力サイトブロックをさらに備える。 In one embodiment, each of the at least one conversion block further comprises an output site block containing at least one third storage unit for storing information about the output sites contained in the output universe.

1つの実施形態では、少なくとも1つの制御ユニットは複数の制御ユニットを含み、出力サイトブロックは少なくとも1つの複数の制御ユニットを備える。 In one embodiment, the at least one control unit comprises a plurality of control units and the output site block comprises at least one plurality of control units.

1つの実施形態では、少なくとも1つの変換ブロックの各々は、
入力ユニバースの部分空間を規定する入力範囲に関する情報を記憶するための少なくとも1つの第4の記憶ユニットを備える入力サイト範囲ブロックと、
出力ユニバースの部分空間を規定する出力範囲に関する情報を記憶するための少なくとも1つの第5の記憶ユニットを備える出力サイト範囲ブロックとをさらに備える。
In one embodiment, each of the at least one conversion block
An input site range block with at least one fourth storage unit for storing information about the input range that defines the subspace of the input universe.
It further comprises an output site range block comprising at least one fifth storage unit for storing information about an output range that defines a subspace of the output universe.

さらなる広範な態様によれば、プログラミングのためのコンピュータにより実行される方法であって、出力ユニバースに含まれるフォームを識別する1つの出力サイトおよびフォームに適用されるエフェクトを少なくとも含む変換を受信するステップと、出力ユニバースからの出力サイトとの出力一致を取り出すステップと、取り出された出力一致にエフェクトを適用するステップであり、結果、変更された出力一致を得る、適用するステップと、変更された出力一致を出力するステップとを含む、コンピュータにより実行される方法が提供される。 According to a broader aspect, a method performed by a computer for programming to receive a transformation that includes at least one output site and an effect applied to the form that identifies the form contained in the output universe. And a step to retrieve the output match with the output site from the output universe, and a step to apply the effect to the retrieved output match, resulting in a modified output match, an applied step, and a modified output. A method performed by a computer is provided, including a step to output a match.

1つの実施形態では、変更された出力一致を出力するステップは、出力ユニバースおよび出力ユニバース内の変更された出力一致のグラフィック表示を表示するステップを含む。 In one embodiment, the step of outputting the modified output match comprises displaying the output universe and the graphic display of the modified output match within the output universe.

1つの実施形態では、方法は、出力ユニバースを表現するための第1のセクションおよび変換のグラフィック表現を表示するための第2のセクションを含むユーザグラフィカルインターフェースを表示するステップをさらに含み、変更された出力一致を出力する上記ステップは、ユーザグラフィカルインターフェースの第1のセクション内に変更された出力一致を表示するステップを含む。 In one embodiment, the method has been modified to further include displaying a user graphical interface that includes a first section for representing the output universe and a second section for displaying a graphic representation of the transformation. The above step of outputting an output match includes displaying the modified output match within the first section of the user graphical interface.

1つの実施形態では、変換は、変換のパラメータを定義する変換データをさらに含み、取り出された出力一致にエフェクトを適用する上記ステップは、変換データを使用して実施される。 In one embodiment, the transformation further comprises transformation data defining the parameters of the transformation, and the step of applying the effect to the retrieved output match is performed using the transformation data.

1つの実施形態では、変換は、入力サイトをさらに含み、方法は、入力ユニバースから入力サイトとの入力一致を取り出すステップをさらに含み、取り出された出力一致にエフェクトを適用する上記ステップは、取り出された入力一致に関連する情報を使用して実施される。 In one embodiment, the transformation further comprises an input site, the method further comprises a step of retrieving an input match with the input site from the input universe, and the above step of applying an effect to the retrieved output match is retrieved. It is performed using the information related to the input match.

1つの実施形態では、方法は、出力ユニバースを表現するための第1のセクション、エフェクトを規定するための第2のセクション、および入力ユニバースを表現するための第3のセクションを含むユーザグラフィカルインターフェースを表示するステップをさらに含む。 In one embodiment, the method provides a user graphical interface that includes a first section for representing the output universe, a second section for defining effects, and a third section for representing the input universe. Includes more steps to display.

1つの実施形態では、方法は、
入力サイトをグラフィカルユーザインターフェースの第3のセクションに表示するステップと、
エフェクトのグラフィック表現をグラフィカルユーザインターフェースの第2のセクションに表示するステップと、
出力サイトをグラフィカルユーザインターフェースの第1のセクションに表示するステップとをさらに含む。
In one embodiment, the method is
Steps to display the input site in the third section of the graphical user interface,
Steps to display the graphic representation of the effect in the second section of the graphical user interface,
It further includes a step of displaying the output site in the first section of the graphical user interface.

1つの実施形態では、方法は、入力範囲および出力範囲のうちの少なくとも1つを受信するステップをさらに含み、入力範囲は、入力ユニバースの部分空間を規定し、出力範囲は、出力ユニバースの部分空間を規定し、入力一致は、入力ユニバースの部分空間から選択され、出力一致は、出力ユニバースの部分空間から選択される。 In one embodiment, the method further comprises the step of receiving at least one of an input range and an output range, where the input range defines a subspace of the input universe and the output range is a subspace of the output universe. The input match is selected from the subspace of the input universe and the output match is selected from the subspace of the output universe.

1つの実施形態では、方法は、出力ユニバースを表現するための第1のセクション、エフェクトを規定するための第2のセクション、入力ユニバースを表現するための第3のセクション、出力範囲を表示するための第4のセクション、および入力範囲を表示するための第5のセクションを含むユーザグラフィカルインターフェースを表示するステップをさらに含む。 In one embodiment, the method is to display a first section for representing the output universe, a second section for defining the effect, a third section for representing the input universe, and an output range. Also includes a step of displaying a user graphical interface that includes a fourth section of the universe, and a fifth section for displaying the input range.

1つの実施形態では、方法は、
入力サイトをグラフィカルユーザインターフェースの第3のセクションに表示するステップと、
エフェクトのグラフィック表現をグラフィカルユーザインターフェースの第2のセクションに表示するステップと、
出力サイトをグラフィカルユーザインターフェースの第1のセクションに表示するステップと、
出力範囲のグラフィック表現をグラフィカルユーザインターフェースの第4のセクションに表示するステップと、
入力範囲のグラフィック表現をグラフィカルユーザインターフェースの第5のセクションに表示するステップとをさらに含む。
In one embodiment, the method is
Steps to display the input site in the third section of the graphical user interface,
Steps to display the graphic representation of the effect in the second section of the graphical user interface,
Steps to display the output site in the first section of the graphical user interface,
Steps to display the graphic representation of the output range in the fourth section of the graphical user interface,
It further includes a step of displaying a graphic representation of the input range in the fifth section of the graphical user interface.

さらに別の広範な態様によれば、プログラミングのためのシステムであって、システムは、通信手段と、ステートメントおよび命令が記憶されているメモリと、上述の方法のステップを実行するように構成された処理ユニットとを備える、システムが提供される。 According to yet another broader aspect, a system for programming, the system is configured to perform the steps of the method described above, with the means of communication, the memory in which the statements and instructions are stored. A system is provided with a processing unit.

さらに別の広範な態様によれば、コンピュータによって実行されるときに上記の方法のステップを実施するコンピュータ実行可能命令を記憶するコンピュータ可読メモリを備えるコンピュータプログラム製品が提供される。 Yet another broad aspect provides a computer program product with computer-readable memory that stores computer-executable instructions that perform the steps of the above method when executed by a computer.

またさらなる広範な態様によれば、プログラミングのためのコンピュータにより実行される方法であって、フォームを識別する1つの入力サイトおよびフォームに適用されるエフェクトを少なくとも含む変換を受信するステップと、入力ユニバースからの入力サイトとの入力一致を取り出すステップと、入力一致と関連付けられる情報を使用してエフェクトを変更するステップであり、結果、変更されたエフェクトを得る、変更するステップと、変更されたエフェクトを出力するステップとを含む、コンピュータにより実行される方法が提供される。 Also according to a broader aspect, a computer-performed method for programming, a step of receiving a transformation that includes at least one input site and an effect applied to the form, and an input universe. A step to retrieve an input match with an input site from, and a step to modify the effect using the information associated with the input match, resulting in a modified effect, a modified step, and a modified effect. A method performed by a computer is provided, including steps to output.

1つの実施形態では、変更されたエフェクトを出力するステップは、変更されたエフェクトのグラフィック表示を表示するステップを含む。 In one embodiment, the step of outputting the modified effect comprises displaying a graphic display of the modified effect.

1つの実施形態では、方法は、入力ユニバースを表現するための第1のセクションおよび変換のグラフィック表現を表示するための第2のセクションを含むユーザグラフィカルインターフェースを表示するステップをさらに含み、変更されたエフェクトを出力する上記ステップは、ユーザグラフィカルインターフェースの第2のセクション内に変更されたエフェクトを表示するステップを含む。 In one embodiment, the method has been modified to further include displaying a user graphical interface that includes a first section for representing the input universe and a second section for displaying the graphic representation of the transformation. The above steps of outputting an effect include displaying the modified effect within a second section of the user graphical interface.

1つの実施形態では、変換は、変換のパラメータを定義する変換データをさらに含み、エフェクトを変更する上記ステップは、変換データを使用して実施される。 In one embodiment, the transformation further comprises transformation data defining the parameters of the transformation, and the above steps of modifying the effect are performed using the transformation data.

1つの実施形態では、変換は、出力ユニバース内に含まれる出力サイトをさらに含む。
1つの実施形態では、方法は、出力ユニバースを表現するための第1のセクション、変更されたエフェクトを表現するための第2のセクション、および入力ユニバースを表現するための第3のセクションを含むユーザグラフィカルインターフェースを表示するステップをさらに含む。
In one embodiment, the transformation further comprises an output site contained within the output universe.
In one embodiment, the method comprises a first section for representing the output universe, a second section for representing the modified effect, and a third section for representing the input universe. Includes additional steps to display the graphical interface.

1つの実施形態では、方法は、1つの実施形態では、方法は、
入力サイトをグラフィカルユーザインターフェースの第3のセクションに表示するステップと、
変更されたエフェクトのグラフィック表現をグラフィカルユーザインターフェースの第2のセクションに表示するステップと、
出力サイトをグラフィカルユーザインターフェースの第1のセクションに表示するステップとをさらに含む。
In one embodiment, the method, in one embodiment, the method,
Steps to display the input site in the third section of the graphical user interface,
Steps to display the graphic representation of the modified effect in the second section of the graphical user interface,
It further includes a step of displaying the output site in the first section of the graphical user interface.

1つの実施形態では、方法は、入力範囲および出力範囲のうちの少なくとも1つを受信するステップをさらに含み、入力範囲は、入力ユニバースの部分空間を規定し、出力範囲は、出力ユニバースの部分空間を規定し、入力一致は、入力ユニバースの部分空間から選択される。 In one embodiment, the method further comprises the step of receiving at least one of an input range and an output range, where the input range defines a subspace of the input universe and the output range is a subspace of the output universe. And the input match is selected from the subspace of the input universe.

1つの実施形態では、方法は、出力ユニバースを表現するための第1のセクション、変更されたエフェクトを表現するための第2のセクション、入力ユニバースを表現するための第3のセクション、出力範囲を表示するための第4のセクション、および入力範囲を表示するための第5のセクションを含むユーザグラフィカルインターフェースを表示するステップをさらに含む。 In one embodiment, the method comprises a first section for representing the output universe, a second section for representing the modified effect, a third section for representing the input universe, and an output range. It further comprises a step of displaying a user graphical interface that includes a fourth section for displaying and a fifth section for displaying the input range.

1つの実施形態では、方法は、
入力サイトをグラフィカルユーザインターフェースの第3のセクションに表示するステップと、
変更されたエフェクトのグラフィック表現をグラフィカルユーザインターフェースの第2のセクションに表示するステップと、
出力サイトをグラフィカルユーザインターフェースの第1のセクションに表示するステップと、
出力範囲のグラフィック表現をグラフィカルユーザインターフェースの第4のセクションに表示するステップと、
入力範囲のグラフィック表現をグラフィカルユーザインターフェースの第5のセクションに表示するステップとをさらに含む。
In one embodiment, the method is
Steps to display the input site in the third section of the graphical user interface,
Steps to display the graphic representation of the modified effect in the second section of the graphical user interface,
Steps to display the output site in the first section of the graphical user interface,
Steps to display the graphic representation of the output range in the fourth section of the graphical user interface,
It further includes a step of displaying a graphic representation of the input range in the fifth section of the graphical user interface.

さらに別の実施形態によれば、プログラミングのためのシステムであって、システムは、通信手段と、ステートメントおよび命令が記憶されているメモリと、上述の方法のステップを実行するように構成された処理ユニットとを備える、システムが提供される。 According to yet another embodiment, it is a system for programming, in which the communication means, the memory in which the statements and instructions are stored, and the processing configured to perform the steps of the method described above. A system with units is provided.

さらに別の実施形態によれば、コンピュータによって実行されるときに上記の方法の方法ステップを実施するコンピュータ実行可能命令を記憶するコンピュータ可読メモリを備えるコンピュータプログラム製品が提供される。 Yet another embodiment provides a computer program product comprising computer readable memory for storing computer executable instructions that perform the method steps of the above method when executed by a computer.

本明細書の目的のために、フォームとは、2Dオブジェクトまたは3Dオブジェクトなどのオブジェクト、テキスト、数式、変換、フォームのコレクション、変換のコレクション、フォームおよび変換のコレクション、オブジェクト表現、セット、セットのコレクション、アニメーションシーケンスなどであってもよい要素または要素のコレクションであるものとして理解されたい。フォームの例は、自動車、生物の猫、分子および原子、木のコレクション、記号、変換などの表現を含む。フォームのコレクションもフォームであることを理解されたい。フォームの他の例は、3Dまたは4D座標系内の3Dメッシュ、多次元ベクトル、テンソル、人工ニューラルネットワーク、2Dまたは3Dで表現された人工ニューラルネットワーク、テーブル、配列、3D座標系内のボクセル、形状および実線などの連続構造、物理オブジェクト、記号、ピクセルから構成される記号、単語、スクリプト、コード、数、関数、アルゴリズム、方程式、ニューラルネットワーク、任意のタイプのデータ(たとえば、グラフィック、視覚、音、デジタル、画像、テキスト、距離、測度、時間、...)、データ構造、ファイル名、zバッファコンテンツ、記憶内容、ストレージアドレス、トポロジ、メモリアドレス、フォームオブジェクト、フォームオブジェクト名、変数を有するタグまたは表現、フォームオブジェクトのセット、変換、変換名、その変数および変換のセットを有する表現などを含む。 For the purposes of this specification, a form is an object such as a 2D object or a 3D object, text, formula, transformation, collection of forms, collection of transformations, collection of forms and transformations, object representations, sets, collections of sets. , Animated sequences, etc., may be understood as an element or a collection of elements. Examples of forms include representations of cars, biological cats, molecules and atoms, tree collections, symbols, transformations, and so on. It should be understood that a collection of forms is also a form. Other examples of forms are 3D meshes in 3D or 4D coordinate systems, multidimensional vectors, tensors, artificial neural networks, artificial neural networks represented in 2D or 3D, tables, arrays, boxels in 3D coordinate systems, shapes. And continuous structures such as solid lines, physical objects, symbols, symbols consisting of pixels, words, scripts, codes, numbers, functions, algorithms, equations, neural networks, any type of data (eg graphics, visuals, sounds, etc.) Digital, image, text, distance, measure, time, ...), data structure, file name, z-buffer content, storage content, storage address, topology, memory address, form object, form object name, tag with variables or Includes representations, sets of form objects, transformations, transformation names, representations with their variables and sets of transformations, and so on.

入力ユニバースは、入力サイトに関連付けられたフォームのコレクションとして理解されたい。入力サイトは、入力ユニバース内で選択される少なくとも1つのフォームとして理解されたい。入力範囲は、変換がデータを得ることができる入力ユニバースの部分空間として理解されたい。すなわち、これは情報の抽出を入力ユニバースの特定のサブセット/部分に限定する。入力ユニバースのこのサブセット/部分は、フォーム、セット(ユニオン演算子、否定演算子および論理積演算子を用いる)、コレクション、領域、区間、不等式および方程式として表現することができる。不等式および方程式の場合、それらの解のコレクションが入力ユニバースのサブセット/部分を構成することが理解される。 The input universe should be understood as a collection of forms associated with the input site. The input site should be understood as at least one form selected within the input universe. The input range should be understood as a subspace of the input universe from which the transformation can obtain data. That is, it limits the extraction of information to a particular subset / part of the input universe. This subset / part of the input universe can be represented as forms, sets (using union operators, negation operators and AND operators), collections, regions, intervals, inequalities and equations. For inequalities and equations, it is understood that a collection of their solutions constitutes a subset / part of the input universe.

出力ユニバースは、出力サイトに関連付けられたフォームのコレクションとして理解されたい。出力サイトは、出力ユニバース内で選択される必要がある少なくとも1つのフォームとして理解されたい。出力サイトは、変換に関連付けられたエフェクトを出力ユニバース内のどこに適用するかの指示、または、置換、追加、次に追加、または変更する必要がある出力ユニバースのフォーム(複数可)の識別として考えることができる。出力範囲は、変換を適用することができる出力ユニバースの部分空間として理解されたい。すなわち、これは変換の適用を出力ユニバースの特定のサブセット/部分に限定する。出力ユニバースのこのサブセット/部分は、フォーム、セット(ユニオン演算子、否定演算子および論理積演算子を用いる)、コレクション、領域、区間、不等式および方程式として表現することができる。不等式および方程式の場合、それらの解のコレクションが入力ユニバースのサブセット/部分を構成することが理解される。 The output universe should be understood as a collection of forms associated with the output site. The output site should be understood as at least one form that needs to be selected within the output universe. Think of the output site as an indication of where in the output universe the effect associated with the transformation should be applied, or as an identification of the form (s) of the output universe that needs to be replaced, added, then added, or modified. be able to. The output range should be understood as a subspace of the output universe to which the transformation can be applied. That is, it limits the application of the transformation to a particular subset / part of the output universe. This subset / part of the output universe can be represented as forms, sets (using union operators, negation operators and AND operators), collections, regions, intervals, inequalities and equations. For inequalities and equations, it is understood that a collection of their solutions constitutes a subset / part of the input universe.

エフェクトは、まったく新しいフォーム、または入力サイト(複数可)、出力サイト、または入力サイトおよび出力サイトの一部のフォーム(複数可)から構成されるフォームとして理解されたい。たとえば、エフェクトは、フォームの形状の変更など、出力サイトで定義されたフォームの特性を変更することができる。別の例では、エフェクトは、出力サイトで定義されたフォームにフォームを追加することができる。 An effect should be understood as a completely new form, or a form consisting of an input site (s), an output site, or a part of an input site and an output site (s). For example, an effect can change the characteristics of a form defined at the output site, such as changing the shape of the form. In another example, the effect can add a form to the form defined at the output site.

変換データは、変換に関連付けられたエフェクトに使用される情報/パラメータ(回数、名前、フォームのコレクションなど)のセットを参照する。 The transformation data refers to a set of information / parameters (number of times, name, collection of forms, etc.) used for the effect associated with the transformation.

変換は、少なくともエフェクトならびに出力サイト(任意選択的に出力範囲を含むことができる)および/または入力サイト(任意選択的に入力範囲を含むことができる)から構成される。変換は、変換データをさらに含むことができる。1つの実施形態では、変換は、入力範囲、入力サイト、エフェクト、出力サイト、出力範囲、および変換データの6つの部分から構成される。 The conversion consists of at least an effect and an output site (which can optionally include an output range) and / or an input site (which can optionally include an input range). The conversion can further include the conversion data. In one embodiment, the transformation consists of six parts: input range, input site, effect, output site, output range, and conversion data.

入力サイトは入力ユニバースに接続され、出力サイトは出力ユニバースに接続されている。1つの実施形態では、単一のユニバースが存在し、入力サイトと出力サイトの両方が単一のユニバースに接続されるように、入力ユニバースは出力ユニバースに対応することができる。 The input site is connected to the input universe and the output site is connected to the output universe. In one embodiment, the input universe can correspond to the output universe so that there is a single universe and both the input site and the output site are connected to the single universe.

1つの実施形態では、本方法およびシステムは、変換のシーケンスおよび/または変換の並列シーケンスが適用されるフォームから構成される動的モデルを作成するために使用することができる。静的モデルまたは動的モデルは、変換のシーケンスを適用した結果と考えることができる。世界で観察されるあらゆる変化は、本システムおよび方法を使用してモデル化することができることを理解されたい。 In one embodiment, the method and system can be used to create a dynamic model consisting of a form to which a sequence of transformations and / or a parallel sequence of transformations is applied. A static or dynamic model can be thought of as the result of applying a sequence of transformations. It should be understood that any changes observed in the world can be modeled using this system and method.

システムはフォームのコレクションであると理解されたい。ほとんどの場合、システムは、より正確には、フォームに適用される変換のコレクションを有するフォームのコレクションである。さらに、システムもフォームであると考えられる。 It should be understood that the system is a collection of forms. In most cases, the system is, more precisely, a collection of forms with a collection of transformations applied to the form. In addition, the system is also considered to be a form.

1つの実施形態では、システムはタイムラインを含み、結果、変換の適用後、システムはタイムライン内で進む。タイムラインは必ずしも時間を参照するとは限らず、変換の適用において行われるステップとして理解することもできることを理解されたい。1つの実施形態では、タイムラインは、実世界の時計または仮想時計と同期させることができる。 In one embodiment, the system includes a timeline, and as a result, after applying the transformation, the system proceeds within the timeline. It should be understood that the timeline does not necessarily refer to time, but can also be understood as a step taken in applying the transformation. In one embodiment, the timeline can be synchronized with a real-world clock or virtual clock.

仮想マシン上で再現することができる本変換処理ユニットデバイスおよびそのアーキテクチャは、フォン・ノイマン処理装置などの従来技術の処理装置と比較して、以下の利点の少なくともいくつかを可能にする。これらの利点は、処理速度、エネルギー消費、ストレージサイズ、計算正確度、精度、忠実度および/またはスケーラビリティに関連している。さらに、本変換処理ユニットアーキテクチャは、高性能コンピューティングにおける複数の課題に対する新しい解決策をもたらす。 The conversion processing unit device and its architecture, which can be reproduced on a virtual machine, enable at least some of the following advantages over prior art processing equipment such as von Neumann processing equipment. These benefits are related to processing speed, energy consumption, storage size, computational accuracy, accuracy, fidelity and / or scalability. In addition, the conversion processing unit architecture provides new solutions to multiple challenges in high performance computing.

興味深いことに、変換ブロックに基づく本変換処理ユニットアーキテクチャは、非決定性チューリングマシンのシミュレーションに使用することができる。たとえば、変換ブロックを変更すると、他の複数の変換ブロック(または分岐)がトリガされ得、その結果、他の分岐がトリガされる。これは、本変換処理ユニットアーキテクチャがマルチスレッドを実行し、各スレッドを他のスレッドにさらに分割することができる方法の例を提供する。 Interestingly, this transformation processing unit architecture based on transformation blocks can be used to simulate nondeterministic Turing machines. For example, changing a conversion block can trigger multiple other conversion blocks (or branches), resulting in other branches. This provides an example of how the conversion processing unit architecture can perform multithreading and each thread can be further divided into other threads.

均質な構造(ほぼ変換ブロックのみから構成される)に起因して、異種デバイスに関連する相互接続の問題に直面することなく、変換処理ユニットを他の複数の変換処理ユニットによって容易に拡張することができる。この変換処理ユニットアーキテクチャでは、コンピュータの計算能力を拡張することは、より多くの変換処理ユニットを接続することになる。 Easily extend a conversion processing unit with multiple other conversion processing units without facing interconnect problems associated with heterogeneous devices due to its homogeneous structure (consisting almost exclusively of conversion blocks). Can be done. In this conversion processing unit architecture, expanding the computing power of a computer will connect more conversion processing units.

1つの実施形態では、変換ブロックは、各変換ブロックがその環境に基づいて作用および反応してグローバルな計算結果に寄与する自律エージェントのように挙動すると理解されるエージェントベースのサブプロセッサの着想をもたらすように作成することができる。 In one embodiment, the transmutation blocks result in the idea of an agent-based subprocessor in which each transmutation block is understood to act and react based on its environment and behave like an autonomous agent that contributes to global computational results. Can be created as follows.

1つの実施形態では、変換処理ユニットデバイスの本アーキテクチャは、内部クロックによって実施することができる。 In one embodiment, the architecture of the conversion processing unit device can be implemented by an internal clock.

非同期プロセッサの場合などの別の実施形態では、変換処理ユニットデバイスの本アーキテクチャは、クロックレス処理機能を提供し、これにより、電力効率、応答性、および堅牢性が提供される。 In another embodiment, such as for asynchronous processors, the architecture of the conversion processing unit device provides clockless processing capabilities, which provide power efficiency, responsiveness, and robustness.

変換処理ユニットデバイスの本アーキテクチャは、機械学習および人工ニューラルネットワークのコンテキストにおいて使用することができる。本変換処理ユニットアーキテクチャの仮想マシン実装態様において、訓練され、推論のために使用することができる人工ニューラルネットワークおよびニューラルネットワークのシステムを作成することが可能であることが示されている。すなわち、機械学習アルゴリズムは変換およびフォームを用いて設計および処理することができ、したがって、プロセッサ上で直接展開(または訓練)することができる。 This architecture of the transformation processing unit device can be used in the context of machine learning and artificial neural networks. In the virtual machine implementation aspect of this transformation processing unit architecture, it has been shown that it is possible to create artificial neural networks and systems of neural networks that can be trained and used for inference. That is, machine learning algorithms can be designed and processed using transformations and forms, and thus can be deployed (or trained) directly on the processor.

プロセッサ上の人工ニューラルネットワークを使用して、速度およびストレージスペースの複数の内部最適化を達成することができる。特に、プロセッサ上で、自動エンコーダを使用してデータを圧縮し、複雑な関数または動作を表現または近似するように訓練された事前訓練済みの人工ニューラルネットワークを展開することができる。変換処理ユニットの部分は、マッチングの処理および実行、または計算高速化を可能にする種々の計算パイプラインに動作をディスパッチする分類の達成のために使用することができる、人工ニューラルネットワークまたは機械学習アルゴリズム表現のために確保することができる。さらに、これにより、変換処理ユニットは、ニューラルネットワークのみに限定されないさまざまな機械学習アルゴリズムを通じて外部データを高速で処理することもできる。 Artificial neural networks on the processor can be used to achieve multiple internal optimizations of speed and storage space. In particular, on a processor, an automatic encoder can be used to compress data and deploy pre-trained artificial neural networks trained to represent or approximate complex functions or behaviors. Parts of the transformation processing unit can be used to achieve classifications that dispatch operations to various computational pipelines that allow matching processing and execution, or computational acceleration, artificial neural networks or machine learning algorithms. Can be reserved for expression. Furthermore, this also allows the transformation processing unit to process external data at high speed through various machine learning algorithms, not limited to neural networks.

1つの実施形態では、フォームおよび変換のシステムは、シミュレーションを作成するように設計することができる。たとえば、本変換処理ユニットデバイスは、以下の変換を使用することにより、3Dの鼓動する心臓をシミュレートするために使用することができる。
-細胞を収縮させる変換(エフェクト:収縮した細胞、出力サイト:細胞)、および
-細胞に隣接する細胞に情報を送信する変換(エフェクト:収縮した細胞+収縮した隣接細胞、出力サイト:収縮した細胞+隣接する細胞)。
In one embodiment, the form and transformation system can be designed to create a simulation. For example, the conversion processing unit device can be used to simulate a 3D beating heart by using the following conversions.
-Conversions that cause cells to contract (effect: contracted cells, output sites: cells), and-transformations that send information to cells adjacent to cells (effects: contracted cells + contracted adjacent cells, output sites: contracted cells) + Adjacent cells).

細胞の収縮後、第2の変換は、収縮を他のすべての接続された細胞に継続的に伝播させ、結果として心拍を発生させる。心臓の磁気共鳴画像から生成される3Dデータをプロセッサにエンコードし、上記の原則に従ってエンコードされた変換によってプロセッサを実行すると、マイクロチップ上で3D心臓シミュレーションが提供される。 After cell contraction, the second transformation continuously propagates the contraction to all other connected cells, resulting in a heartbeat. Encoding the 3D data generated from the magnetic resonance image of the heart into the processor and running the processor with the transformation encoded according to the above principles provides a 3D heart simulation on the microchip.

本変換は、いくつかの問題に対するデータ異種性のソリューションを提供することができる。最近の多くのマイクロプロセッサには、通常、1つまたは複数の算術論理演算ユニットおよび浮動小数点ユニットが含まれている。これらは、数値の算術計算を効率的に実施することを目的としている。本変換処理ユニットは、プロセッサ上で直接、フォームおよび他のタイプの構造化データに対する計算を実施し、並列または非並列に算術演算を実施することを可能にする。これにより、プロセッサ速度において構造化データを処理することが可能になり、ユーザまたはソフトウェアがプロセッサ上で直接、実行する新しいデータ型を定義することが可能になる。 The transformation can provide a data heterogeneity solution for some problems. Many modern microprocessors typically include one or more arithmetic and logical units and floating point units. These are intended to efficiently carry out numerical arithmetic calculations. The conversion processing unit performs calculations on forms and other types of structured data directly on the processor, allowing arithmetic operations to be performed in parallel or non-parallel. This allows structured data to be processed at processor speeds, allowing users or software to define new data types to run directly on the processor.

それらの動的かつ均質な構造、変換、およびフォームのために、ジャストインタイムおよび事前のコンパイルを、本発明の実施形態の変換処理ユニットによって実施することができる。特に、フォーム変換命令セットの事前コンパイルにより、ターゲットマシン上でネイティブに実行することができる機械語を作成することが可能であり、したがって、実行速度が速くなり、ディスク容量が少なくなるなどの利点がもたらされる。動的言語の事前コンパイルは、大幅な高速化(16倍以上)をもたらすことが判明した。さらに、ジャストインタイムコンパイルは、コードの頻繁に使用される部分を機械語にコンパイルすることにより、最適化を実施することができる。変換およびフォームの普遍的な構造によって、そのような最適化の機会を、変換の実行中に頻繁に発生させることができる。 Due to their dynamic and homogeneous structure, transformations, and forms, just-in-time and pre-compilation can be performed by the transformation processing unit of the embodiments of the present invention. In particular, precompiling the form conversion instruction set allows you to create machine language that can be executed natively on the target machine, which has the advantages of faster execution and less disk space. Brought to you. Precompiling dynamic languages has been found to result in significant speedups (more than 16x). In addition, just-in-time compilation can be optimized by compiling frequently used parts of the code into machine language. The universal structure of transformations and forms allows such optimization opportunities to occur frequently during the transformation.

変換およびフォームは任意のドメインにおいてモデル、メソッド、および計算を表現することができるため、異なるドメインの複数の異なるモデルを、フォームおよび変換の単一のシステムに変換することができる。このシステム内では、モデル間の情報(たとえば、異なる科学的領域に由来する)を高速で交換することができる。各モデルが本アーキテクチャの外部で実装されている場合、情報を交換する前に、モデル間で情報が交換されるたびに情報を変換する変換ステップが必要になり、結果、計算時間が大幅に増加する。他方、このような問題は、本変換処理ユニットアーキテクチャを使用している間は回避することができる。 Since transformations and forms can represent models, methods, and calculations in any domain, multiple different models in different domains can be transformed into a single system of forms and transformations. Within this system, information between models (eg, from different scientific areas) can be exchanged at high speed. If each model is implemented outside of this architecture, a conversion step is required to transform the information each time it is exchanged between the models before exchanging the information, resulting in a significant increase in computation time. do. On the other hand, such a problem can be avoided while using the conversion processing unit architecture.

科学的プログラムの実行時間の主要部分は、通常、ループの処理に費やされる。ループ変換は、種々のタイプのループの実行速度を向上させることが知られている。本変換処理ユニット変換は、ループを表現するために使用することができる。他のプログラミング言語と比較して、変換の記述されたコードは、メモリまたはディスク上で必要なスペースが少ない。さらに、変換自体を他の変換によって変更することができ、したがって、命令セットがより高次のシステムにレンダリングされる。したがって、変換はループ変換と同様の方法で変更することができるが、多くの新しいタイプの最適化を可能にし、それらを制御する方法を提供するという利点がある。これは、一般的な現代のコンパイラによって通常提供される少量のループ最適化とは対照的である。 A major part of the execution time of a scientific program is usually spent processing loops. Loop transformations are known to improve the execution speed of various types of loops. This conversion processing unit conversion can be used to represent a loop. Compared to other programming languages, the code in which the conversion is written requires less space on memory or disk. In addition, the transformation itself can be modified by other transformations, thus rendering the instruction set to a higher order system. Therefore, the transformations can be modified in a similar way to the loop transformations, but with the advantage of allowing many new types of optimization and providing a way to control them. This is in contrast to the small amount of loop optimization normally provided by popular modern compilers.

1つの実施形態では、変換は、ローカル変換を使用することによって設計を実施し、実世界のシステムの直接観察に基づいてモデルを設計する機会を提供する。言い換えると、変換により、グローバルなエフェクトがローカライズされたルールから現れるエージェントベースのシミュレーションを効率的に行うことが可能である。これは、グローバルな(大域的)方程式を解いて解ならびにローカル情報および挙動を決定する方法とは対照的である。 In one embodiment, the transformation implements the design by using a local transformation and provides the opportunity to design the model based on a direct observation of a real-world system. In other words, transformations allow for efficient agent-based simulations where global effects emerge from localized rules. This is in contrast to the method of solving global (global) equations to determine solutions as well as local information and behavior.

たとえば、仮想心臓を設計する場合、現行技術水準の技術は、高次の有限要素法および複雑な微分方程式を使用することに存する。グローバルな(大域的)微分方程式の解を求め、有限要素法を使用するには、費用のかかる計算が必要である。 For example, when designing a virtual heart, the current level of technology lies in using higher-order finite element methods and complex differential equations. Finding solutions to global (global) differential equations and using the finite element method requires costly calculations.

心臓の心筋細胞は現実においては複雑な方程式に依存せず、隣接する細胞が収縮したときに収縮するにすぎない。上で説明したように、変換のセットを使用して、隣接する細胞が収縮したときに細胞の収縮を表現することができ、したがって、現実をより正確にモデリングし、シミュレーションの精度および速度を向上させることができる。したがって、変換は、グローバルな微分方程式を解き、有限要素法を適用することに関連する膨大な計算および近似を回避することを可能にする。 In reality, cardiomyocytes in the heart do not rely on complex equations and only contract when adjacent cells contract. As explained above, a set of transformations can be used to represent cell contraction when adjacent cells contract, thus modeling reality more accurately and improving the accuracy and speed of simulation. Can be made to. Therefore, the transformation makes it possible to solve global differential equations and avoid the vast amount of computation and approximation associated with applying the finite element method.

変換ブロックおよび変換ブロックとフォームデータ構造との相互作用は、本変換処理ユニットアーキテクチャの主要構成要素を表す。データのすべての処理は、単一のコマンドにおいてデータを取得、変更、移動することができる変換に依拠する。単一の変換によって、大量のデータを照合し、計算を行い、他の場所に持ち込むことができる。変換コマンドは同種のデータ構造のデータを自然に収集して処理するため、このデータは、仮想マシン構成のGPU、複数のGPU、複数のCPU、および処理コア上で容易に並列処理することができる。特に、n回適用されるようにマークされた変換は、1つのステップで並列に計算されるようにすることができる。変換は、計算を処理するキューに送信することができる。独立した変換は、それぞれ異なるキューに送信することができ、したがって、より高度な並列化が可能である。 The transformation blocks and the interactions between the transformation blocks and the form data structure represent the key components of this transformation processing unit architecture. All processing of data relies on transformations that allow data to be retrieved, modified and moved in a single command. A single transformation allows a large amount of data to be collated, calculated, and taken elsewhere. Since the conversion command naturally collects and processes data of the same type of data structure, this data can be easily processed in parallel on GPUs, multiple GPUs, multiple CPUs, and processing cores in a virtual machine configuration. .. In particular, transformations marked to be applied n times can be calculated in parallel in one step. The transformation can be sent to a queue that processes the calculation. Independent transformations can be sent to different queues, thus allowing for a higher degree of parallelization.

仮想マシン構成で本アーキテクチャを実行しているマシン上で、すべての異種データをフォームとして書き込むことができるため、通常はシングルスレッドで処理されるデータを、本明細書における変換処理ユニットの実施形態による変換の使用と並行して処理することができる。たとえば、仮想マシン構成において本アーキテクチャを使用しながら、CPUおよびGPUを備えたコンピュータ上で、変換処理ユニットを使用した変換によって処理されるデータは、従来のアーキテクチャを通じて処理される同じデータよりも15倍~100倍速く処理することができる。 Since all heterogeneous data can be written as a form on a machine running this architecture in a virtual machine configuration, the data normally processed in a single thread depends on the embodiment of the conversion processing unit in this specification. It can be processed in parallel with the use of transformations. For example, while using this architecture in a virtual machine configuration, on a computer with a CPU and GPU, the data processed by the conversion using the conversion processing unit is 15 times more than the same data processed through the traditional architecture. It can be processed up to 100 times faster.

変換は入力サイトとの一致を収集し、各一致は並行して処理することができる。このとき、各一致(複数の入力サイト構成要素から構成され得る)を使用して、エフェクトおよび出力サイト(各々が複数の部分構成要素を含む)を計算することができる。次いで、出力サイト一致が収集され、同時に変更される。さらに、変換をn回並列に適用する必要がある場合、n個の同一の変換を並列に適用することができる。さらに、並行して適用することができる複数の異なる変換も、同時に適用される。 The transformation collects matches with the input site, and each match can be processed in parallel. At this time, each match (which can be composed of a plurality of input site components) can be used to calculate the effect and the output site (each containing a plurality of component components). Output site matches are then collected and modified at the same time. Further, if the transformations need to be applied in parallel n times, n identical transformations can be applied in parallel. In addition, several different transformations that can be applied in parallel are also applied at the same time.

したがって、単一の方法で記述されたフォームデータおよび変換コマンドにより、可能な限り多くの処理をGPU、並列デバイス、またはZetaneマシンに転送することができ、したがって、最大1000倍速い速度が可能になる。 Therefore, form data and conversion commands written in a single way can transfer as much processing as possible to the GPU, parallel device, or Zetane machine, thus allowing speeds up to 1000x faster. ..

本アーキテクチャは、モジュール化を可能にする。フォームおよび変換として記述された各モデルは、モジュールとして保存/エクスポートすることができる。その後、モジュールを他のより大きいモデルにおいて使用および再使用することができ、したがって、データの交換および協調が容易になる。モジュールおよびモデルはメモリに記憶することができ、データコピーの代わりにメモリアドレスを使用することによって、他のモジュールによる処理のためにアクセスすることができる。これにより、アクセスおよび処理速度を向上させることができる。メモリアドレスを通じたモジュールの相互接続により、ストレージスペースの使用量を低減し、マシンのエネルギー消費量も低減することが可能になる。 This architecture enables modularization. Each model described as a form and transformation can be saved / exported as a module. The module can then be used and reused in other larger models, thus facilitating data exchange and coordination. Modules and models can be stored in memory and can be accessed for processing by other modules by using memory addresses instead of data copies. This can improve access and processing speed. The interconnection of modules through memory addresses can reduce storage space usage and machine energy consumption.

1つの実施形態では、変換を介して任意のドメインの概念をフォームとして表現し、変換を通じてフォームを(機械語として、並列または非並列に)処理することが可能であるため、設計および計算を合理化し、加速させることができる。 In one embodiment, the concept of any domain can be expressed as a form through transformation, and the form can be processed (in parallel or non-parallel as machine language) through transformation, thus streamlining design and computation. And can be accelerated.

フォームと変換を視覚的に表現することで、データの洞察が深まり、先進的なモデルの構築および設計が容易になる。変換およびデータを効率的に表現することが可能であるため、ユーザが計算およびデータとより深く直感的に相互作用することが可能である。特に、「人間参加型」にすることによって、変換およびフォームを視覚的に表現することなくしては発見できなかった重要な最適化を可能にすることができる。 Visual representation of forms and transformations provides insight into the data and facilitates the construction and design of advanced models. The efficient representation of transformations and data allows users to interact more deeply and intuitively with computations and data. In particular, being "human-in-the-participatory" can enable significant optimizations that could not have been discovered without visual representation of transformations and forms.

図面の簡単な説明
本発明のさらなる特徴および利点は、添付の図面と組み合わせて取り上げられる、以下の詳細な説明から明らかになるであろう。
Brief Description of Drawings Further features and advantages of the invention will become apparent from the following detailed description, taken in combination with the accompanying drawings.

1つの実施形態による、変換制御ユニットおよび変換論理ユニットを備え、外部メモリに接続可能である変換処理ユニットを示すブロック図である。FIG. 3 is a block diagram showing a conversion processing unit having a conversion control unit and a conversion logic unit and which can be connected to an external memory according to one embodiment. 1つの実施形態による、変換制御ユニット、変換論理ユニット、内部メモリを備える変換処理ユニットを示すブロック図である。FIG. 3 is a block diagram showing a conversion processing unit including a conversion control unit, a conversion logic unit, and an internal memory according to one embodiment. 1つの実施形態による、複数の変換ブロックを備える変換論理ユニットを示すブロック図である。FIG. 3 is a block diagram showing a conversion logic unit including a plurality of conversion blocks according to one embodiment. 1つの実施形態による、複数の相互接続されている変換ブロックを備える変換論理ユニットを示すブロック図である。FIG. 3 is a block diagram illustrating a conversion logic unit comprising a plurality of interconnected conversion blocks according to one embodiment. 1つの実施形態による、入力サイトブロック、エフェクトブロックおよび出力サイトブロックを含む変換ブロックを示すブロック図である。FIG. 6 is a block diagram showing a conversion block including an input site block, an effect block and an output site block according to one embodiment. 1つの実施形態による、入力サイトブロック、入力サイト範囲ブロック、エフェクトブロック、出力サイト範囲ブロックおよび出力サイトブロックを含む変換ブロックを示すブロック図である。FIG. 3 is a block diagram showing a conversion block including an input site block, an input site range block, an effect block, an output site range block, and an output site block according to one embodiment. 1つの実施形態による、複数の相互接続されている変換ブロックを備える変換論理ユニットによる入力の処理を示す図である。It is a figure which shows the input processing by the conversion logic unit which includes a plurality of interconnected conversion blocks according to one embodiment. 1つの実施形態による、複数の相互接続されている変換ブロックを備える変換論理ユニットによる入力の処理を示す図である。It is a figure which shows the input processing by the conversion logic unit which includes a plurality of interconnected conversion blocks according to one embodiment. 1つの実施形態による、複数の相互接続されている変換ブロックを備える変換論理ユニットによる入力の処理を示す図である。It is a figure which shows the input processing by the conversion logic unit which includes a plurality of interconnected conversion blocks according to one embodiment. 1つの実施形態による、複数の相互接続されている変換ブロックを備える変換論理ユニットによる入力の処理を示す図である。It is a figure which shows the input processing by the conversion logic unit which includes a plurality of interconnected conversion blocks according to one embodiment. 1つの実施形態による、複数の相互接続されている変換ブロックを備える変換論理ユニットによる入力の処理を示す図である。It is a figure which shows the input processing by the conversion logic unit which includes a plurality of interconnected conversion blocks according to one embodiment. 1つの実施形態による、変換を実行するための方法を示すフローチャートである。It is a flowchart which shows the method for performing the conversion by one Embodiment. 1つの実施形態による、図12の方法を実行するためのシステムのブロック図である。FIG. 6 is a block diagram of a system for performing the method of FIG. 12 according to one embodiment. 1つの実施形態による、入力サイト、入力範囲、エフェクト、出力サイト、出力範囲および変換データを含む変換を示す図である。It is a figure which shows the transformation including the input site, the input range, the effect, the output site, the output range and the conversion data by one embodiment. 1つの実施形態による、3D環境で方向付けられた三角形に続く長方形のボックスを示す図である。FIG. 3 shows a rectangular box following a triangle oriented in a 3D environment, according to one embodiment. 1つの実施形態による、3D環境で方向付けられた三角形に続く長方形のボックスを示す図である。FIG. 3 shows a rectangular box following a triangle oriented in a 3D environment, according to one embodiment. 関連する変換データ内のフィードを与えられた変換の例示的なグラフィック表現を示す図である。FIG. 6 illustrates an exemplary graphic representation of a given transformation with a feed in the relevant transformation data. 3つの点を作成するための例示的な変換を示す図である。It is a figure which shows the exemplary transformation for making three points. 実線を作成するための例示的な変換を示す図である。It is a figure which shows the exemplary transformation for making a solid line. 変換の複数の適用の一般化の例示を示す図である。It is a figure which shows the example of the generalization of a plurality of applications of a transformation. フィードに存在する複数の変数を与えられた例示的な変換を示す図である。It is a figure which shows an exemplary transformation given a plurality of variables existing in a feed. ポイントを互いに積み重ねるように設計された例示的な変換を示す図である。FIG. 6 illustrates an exemplary transformation designed to stack points on top of each other. 中実の正方形を作成するように設計されている例示的な変換を示す図である。FIG. 3 illustrates an exemplary transformation designed to create a solid square. 中実の三角形を作成するように設計されている例示的な変換を示す図である。FIG. 6 illustrates an exemplary transformation designed to create a solid triangle. 加速しているロケットを作成するように設計されている例示的な変換を示す図である。It is a diagram showing an exemplary transformation designed to create an accelerating rocket. ロケットの相対変位のために設計されている例示的な変換を示す図である。FIG. 6 illustrates an exemplary transformation designed for rocket relative displacement. ロケットを7回動かすように設計されている例示的な変換を示す図である。FIG. 6 illustrates an exemplary transformation designed to move a rocket seven times. 補間を用いてロケットを7回動かすように設計されている例示的な変換を示す図である。FIG. 6 illustrates an exemplary transformation designed to move a rocket seven times using interpolation. 補間が作成される方法の例示的なカスタマイズを示す図である。FIG. 5 illustrates an exemplary customization of how the interpolation is created. 絶対位置についての例示的な連続的変換を示す図である。It is a figure which shows the exemplary continuous transformation about an absolute position. 相対位置についての例示的な連続的変換を示す図である。It is a figure which shows the exemplary continuous transformation about a relative position. ロケットの連続的な相対変位を作成するための例示的な変換を示す図である。FIG. 3 illustrates an exemplary transformation for creating a continuous relative displacement of a rocket. n個の要素のベクトルを作成するための例示的な変換を示す図である。It is a figure which shows the exemplary transformation for making the vector of n elements. 3×3行列を作成するための例示的な変換を示す図である。It is a figure which shows the exemplary transformation for making a 3x3 matrix. 第1の例による、2部分エフェクトを含む変換を示す図であるIt is a figure which shows the transformation including the two-part effect by 1st example. 第2の例による、2部分エフェクトを含む変換を示す図であるIt is a figure which shows the transformation including the two-part effect by the 2nd example. フィードおよび2部分エフェクトを含む例示的な変換を示す図である。It is a figure which shows an exemplary transformation including a feed and a two-part effect. 例示的な離散変換を示す図である。It is a figure which shows an exemplary discrete transform. 1つの例による、四面体の面への四面体の追加を示す図である。It is a figure which shows the addition of the tetrahedron to the face of the tetrahedron by one example. 1つの例による、四面体の面への四面体の追加を示す図である。It is a figure which shows the addition of the tetrahedron to the face of the tetrahedron by one example. 1つの例による、四面体の面への四面体の追加を示す図である。It is a figure which shows the addition of the tetrahedron to the face of the tetrahedron by one example. 1つの例による、線分を三角形に置き換えるように設計された変換およびその適用を示す図である。FIG. 6 is a diagram illustrating a transformation designed to replace a line segment with a triangle and its application, according to one example. 1つの例による、線分を三角形に置き換えるように設計された変換およびその適用を示す図である。FIG. 6 is a diagram illustrating a transformation designed to replace a line segment with a triangle and its application, according to one example. 1つの例による、線分を三角形に置き換えるように設計された変換およびその適用を示す図である。FIG. 6 is a diagram illustrating a transformation designed to replace a line segment with a triangle and its application, according to one example. 第2の例による、線分を三角形に置き換えるように設計された変換の適用を示す図である。FIG. 2 is a diagram showing the application of a transformation designed to replace a line segment with a triangle according to the second example. 第2の例による、線分を三角形に置き換えるように設計された変換の適用を示す図である。FIG. 2 is a diagram showing the application of a transformation designed to replace a line segment with a triangle according to the second example. 1つの実施形態による、2つの相互接続されたニューロンを表現する変換のユニバースを示す図である。It is a figure which shows the universe of the transformation which represents two interconnected neurons by one Embodiment. 図44に示されているユニバース内で適用される第1の例示的な変換を示す図である。FIG. 44 shows a first exemplary transformation applied within the universe shown in FIG. 図44に示されているユニバース内で適用される第2の例示的な変換を示す図である。FIG. 44 shows a second exemplary transformation applied within the universe shown in FIG. 図44に示されているユニバース内で適用される第3の例示的な変換を示す図である。FIG. 44 shows a third exemplary transformation applied within the universe shown in FIG. 図44に示されているユニバース内で適用される第3の例示的な変換を示す図である。FIG. 44 shows a third exemplary transformation applied within the universe shown in FIG. 図44に示されているユニバース内で適用される第3の例示的な変換を示す図である。FIG. 44 shows a third exemplary transformation applied within the universe shown in FIG. 図44に示されているユニバース内で適用される第4の例示的な変換を示す図である。FIG. 44 shows a fourth exemplary transformation applied within the universe shown in FIG. シナプス間隙の例示的なモデルを示す図である。It is a figure which shows an exemplary model of a synaptic cleft. 図51のシナプス間隙における10個の神経伝達物質の放出をモデル化するための例示的な変換を示す図である。FIG. 51 shows exemplary transformations for modeling the release of 10 neurotransmitters in the synaptic cleft of FIG. 51. 1つの実施形態による、出力範囲を視覚的に表現する長方形のボックスが与えられた図51のシナプス間隙のモデルを示す図である。It is a figure which shows the model of the synaptic gap of FIG. 51 given the rectangular box which visually represents the output range by one Embodiment. シナプス間隙における神経伝達物質の放出および神経受容体によるそれらの吸収を示す図である。It is a figure which shows the release of a neurotransmitter in a synaptic cleft and their absorption by a neuroreceptor. シナプス間隙における神経伝達物質の放出および神経受容体によるそれらの吸収を示す図である。It is a figure which shows the release of a neurotransmitter in a synaptic cleft and their absorption by a neuroreceptor. シナプス間隙における神経伝達物質の放出および神経受容体によるそれらの吸収を示す図である。It is a figure which shows the release of a neurotransmitter in a synaptic cleft and their absorption by a neuroreceptor. シナプス間隙における神経伝達物質の放出および神経受容体によるそれらの吸収を示す図である。It is a figure which shows the release of a neurotransmitter in a synaptic cleft and their absorption by a neuroreceptor. 1つの実施形態による、グラフェンシートを作成するための変換を示す図である。It is a figure which shows the transformation for making the graphene sheet by one Embodiment. 1つの実施形態による、グラフェンシートを作成するための変換の適用の結果を示す図である。It is a figure which shows the result of application of the transformation for making a graphene sheet by one Embodiment. 1つの実施形態による、COコレクタを作成するための変換の使用を示す図である。It is a figure which shows the use of the transformation for making a CO 2 collector by one embodiment. 1つの実施形態による、COコレクタを作成するための変換の使用を示す図である。It is a figure which shows the use of the transformation for making a CO 2 collector by one embodiment. 1つの実施形態による、COコレクタを作成するための変換の使用を示す図である。It is a figure which shows the use of the transformation for making a CO 2 collector by one embodiment. 1つの実施形態による、衛星の手動回転を示す図である。It is a figure which shows the manual rotation of a satellite by one Embodiment. 1つの実施形態による、衛星の手動回転を示す図である。It is a figure which shows the manual rotation of a satellite by one Embodiment. 例示的な自動信号ファインダ変換を示す図である。It is a figure which shows the exemplary automatic signal finder conversion. 衛星の例示的なキーボード作動回転を示す図である。It is a figure which shows the exemplary keyboard operation rotation of a satellite. ボタンを介して実施される衛星の例示的な回転を示す図である。It is a figure which shows the exemplary rotation of a satellite carried out through a button. 自動車を動かすための第1の例示的な変換を示す図である。It is a figure which shows the 1st exemplary transformation for moving a car. 自動車を動かすための第2の例示的な変換を示す図である。It is a figure which shows the 2nd exemplary transformation for moving a car. 1つの実施形態による、走行距離計の作成を示す図である。It is a figure which shows the making of the mileage meter by one Embodiment. 1つの実施形態による、走行距離計の作成を示す図である。It is a figure which shows the making of the mileage meter by one Embodiment. 1つの実施形態による、同じ変換の2つの異なる視覚的表現のうちの一方を示す図である。FIG. 6 shows one of two different visual representations of the same transformation, according to one embodiment. 1つの実施形態による、同じ変換の2つの異なる視覚的表現のうちの一方を示す図である。FIG. 6 shows one of two different visual representations of the same transformation, according to one embodiment. 1つの実施形態による、変換を作成するためのグラフィカルユーザインターフェースを示す図である。It is a figure which shows the graphical user interface for making a transformation by one Embodiment. 1つの実施形態による、四面体を作成するための図74のグラフィカルユーザインターフェースの使用を示す図である。FIG. 6 illustrates the use of the graphical user interface of FIG. 74 to create a tetrahedron according to one embodiment. 1つの実施形態による、四面体を作成するための図74のグラフィカルユーザインターフェースの使用を示す図である。FIG. 6 illustrates the use of the graphical user interface of FIG. 74 to create a tetrahedron according to one embodiment. 1つの実施形態による、四面体を作成するための図74のグラフィカルユーザインターフェースの使用を示す図である。FIG. 6 illustrates the use of the graphical user interface of FIG. 74 to create a tetrahedron according to one embodiment. 1つの実施形態による、四面体を作成するための図74のグラフィカルユーザインターフェースの使用を示す図である。FIG. 6 illustrates the use of the graphical user interface of FIG. 74 to create a tetrahedron according to one embodiment. 1つの実施形態による、四面体を作成するための図74のグラフィカルユーザインターフェースの使用を示す図である。FIG. 6 illustrates the use of the graphical user interface of FIG. 74 to create a tetrahedron according to one embodiment. 1つの実施形態による、図75~図79に示されるステップに従って得られる四面体を示す図である。FIG. 5 shows a tetrahedron obtained according to the steps shown in FIGS. 75-79 according to one embodiment. 1つの実施形態による、図75~図79に示されるステップに従って得られる複雑なフラクタルを示す図である。FIG. 5 shows a complex fractal obtained according to the steps shown in FIGS. 75-79 according to one embodiment. 1つの実施形態による、入力サイト、エフェクト、および出力サイトを与えられた変換の使用を示す図である。FIG. 5 illustrates the use of a given transformation with input sites, effects, and output sites according to one embodiment. 1つの実施形態による、入力サイト、エフェクト、および出力サイトを与えられた変換の使用を示す図である。FIG. 5 illustrates the use of a given transformation with input sites, effects, and output sites according to one embodiment. 1つの実施形態による、入力サイト、エフェクト、および出力サイトを与えられた変換の使用を示す図である。FIG. 5 illustrates the use of a given transformation with input sites, effects, and output sites according to one embodiment. 1つの実施形態による、図83に示される変換を連続して適用した後に得られるモデルを示す図である。It is a figure which shows the model obtained after applying the transformation shown in FIG. 83 continuously by one Embodiment. 1つの実施形態による、図83に示される変換を連続して適用した後に得られるモデルを示す図である。It is a figure which shows the model obtained after applying the transformation shown in FIG. 83 continuously by one Embodiment. 1つの実施形態による、図83に示される変換を連続して適用した後に得られるモデルを示す図である。It is a figure which shows the model obtained after applying the transformation shown in FIG. 83 continuously by one Embodiment. 1つの実施形態による、図83に示される変換を連続して適用した後に得られるモデルを示す図である。It is a figure which shows the model obtained after applying the transformation shown in FIG. 83 continuously by one Embodiment. 1つの実施形態による、入力サイト一致を動的に変更する変換を示す図である。It is a figure which shows the transformation which dynamically changes the input site match by one Embodiment. 異なる範囲を与えられた例示的な変換を示す図である。It is a figure which shows the exemplary transformation given a different range. 異なる範囲を与えられた例示的な変換を示す図である。It is a figure which shows the exemplary transformation given a different range. 1つの実施形態による、図91の変換を適用することによって得られる四面体を示す図である。It is a figure which shows the tetrahedron obtained by applying the transformation of FIG. 91 by one Embodiment. 1つの実施形態による線分を示す図である。It is a figure which shows the line segment by one Embodiment. 1つの実施形態による、図93の線分を回転させるための変換を示す図である。It is a figure which shows the transformation for rotating the line segment of FIG. 93 by one Embodiment. 1つの実施形態による、変換がユーザグラフィカルインターフェース内で適用される回数の入力を示す図である。FIG. 5 shows an input of the number of times a transformation is applied within a user graphical interface, according to one embodiment. 1つの実施形態による、図95の変換を適用した結果を示す図である。It is a figure which shows the result of applying the conversion of FIG. 95 by one Embodiment. 1つの実施形態による、記録された変換のシーケンスを提示するインターフェースを示す図である。FIG. 6 illustrates an interface that presents a sequence of recorded transformations according to one embodiment.

添付の図面全体を通して、同様の特徴は同様の参照符号によって識別されることに留意されたい。 Note that similar features are identified by similar reference numerals throughout the attached drawings.

詳細な説明
本発明の実施形態は、異種データを処理するための変換処理ユニットを対象とする。1つの実施形態では、本アーキテクチャは、統一されたユニバーサルプロセッサの実装を可能にする。変換処理ユニットに入力および出力と直接対話させ、変換ブロックに直接記憶することによって、いくつかの利点が得られる。レジスタは、応答時間が最も速い記憶ユニットであり、変換ブロック内で直接アクセスすることができる。これにより、他の変換ブロックによって高速で処理される変換ブロックにも入力データが直接挿入されて、最終的にデータが出力デバイスにほぼ直接出力される、非常にパフォーマンスの高いコンピューティングパイプラインを合理化することができる。
Detailed Description An embodiment of the present invention is intended for a conversion processing unit for processing heterogeneous data. In one embodiment, the architecture allows for a unified universal processor implementation. There are several advantages to having the conversion processing unit interact directly with the inputs and outputs and store them directly in the conversion block. Registers are storage units with the fastest response times and can be accessed directly within the conversion block. This streamlines a very high performance computing pipeline where the input data is also inserted directly into the conversion block, which is processed at high speed by other conversion blocks, and finally the data is output almost directly to the output device. can do.

以下に、視覚的プログラミングならびに高性能コンピューティングおよびシミュレーションを可能にする変換処理ユニットのためのコンピュータアーキテクチャについて説明する。コンピュータアーキテクチャは、異種データを高速で処理するのに適した処理ユニットデバイスを表す。 The following describes the computer architecture for the conversion processing unit that enables visual programming as well as high performance computing and simulation. Computer architecture represents a processing unit device suitable for processing heterogeneous data at high speed.

本変換処理ユニットデバイスを使用して、ユーザは、ユニバースに存在するフォームにエフェクト(効果)を適用することができる。フォームにエフェクトを適用するために、変換が作成される。変換は、少なくとも、フォームに適用されるエフェクト、エフェクトが適用されるべき場所を規定する出力サイト、および、任意選択的に変換データを含む。代替的に、変換は、少なくとも、エフェクト、エフェクトが情報を取得することができる場所を規定する入力サイト、および、任意選択的に変換データを含む。以下で説明する、変換を実行するように適合されたアーキテクチャを有する処理ユニットデバイスは、変換処理ユニットデバイスと呼ばれる。 Using this conversion processing unit device, the user can apply an effect to a form existing in the universe. A transformation is created to apply the effect to the form. The conversion includes at least the effect applied to the form, the output site that defines where the effect should be applied, and optionally the conversion data. Alternatively, the conversion includes at least the effect, the input site that defines where the effect can get the information, and optionally the conversion data. A processing unit device having an architecture adapted to perform a conversion, as described below, is referred to as a conversion processing unit device.

図1は、変換処理ユニット12およびフォーム変換命令セット14を備える変換処理ユニットデバイス10の1つの実施形態を示す。変換処理ユニットデバイス10は、データ、ステートメントおよび/または命令を記憶するための外部メモリまたは記憶ユニット20と通信する。変換処理ユニット10は、データを受信および送信するための入力および出力機構も備えることを理解されたい。 FIG. 1 shows one embodiment of a conversion processing unit device 10 comprising a conversion processing unit 12 and a form conversion instruction set 14. The conversion processing unit device 10 communicates with an external memory or storage unit 20 for storing data, statements and / or instructions. It should be understood that the conversion processing unit 10 also includes an input and output mechanism for receiving and transmitting data.

変換処理ユニット12は、互いに接続された変換制御ユニット16および変換論理ユニット18を備える。 The conversion processing unit 12 includes a conversion control unit 16 and a conversion logic unit 18 connected to each other.

変換制御ユニット16は、変換処理ユニットデバイス10の構成要素および部分構成要素への、それらからの、およびそれらの間のデータ移動のシーケンスを調整するように構成される。 The conversion control unit 16 is configured to coordinate the sequence of data movement to and from and between the components and subcomponents of the conversion processing unit device 10.

変換論理ユニット18は、命令によって指定される基本算術演算、論理演算、制御動作、および入出力(I/O)動作を実施することによるコンピュータプログラムの命令を含む。 The conversion logic unit 18 includes instructions of a computer program by performing basic arithmetic operations, logical operations, control operations, and input / output (I / O) operations specified by the instructions.

変換論理ユニット18は、変換に関するすべての情報を記憶するように構成される。1つの実施形態では、変換論理ユニット18は、命令によって指定される基本算術演算、論理演算、制御動作、および入出力動作を実施することによって変換に関連する命令を指示する制御電子回路(すなわち、制御ユニット)を備える。 The transformation logic unit 18 is configured to store all information about the transformation. In one embodiment, the conversion logic unit 18 is a control electronic circuit (ie,) that directs instructions related to the conversion by performing basic arithmetic operations, logical operations, control operations, and input / output operations specified by the instructions. It is equipped with a control unit).

フォーム変換命令セット14は、記憶されたすべての変換関連データを含み、変換処理ユニット12によってアクセスすることができる。フォーム変換命令セット14は、データ処理動作、変換動作、制御フロー動作および複雑な動作のための命令を含む。説明されている動作の一部は、照合、比較、変換適用、置換、取得、コピー、重ね合わせ、追加、命名、変換の並列および直列シーケンス、変換の順序および適用回数、フィードならびに補間である。フォーム変換命令は、変換処理ユニット12から分離する必要はなく、確保された変換ブロック、専用レジスタ、記憶ユニット、メモリまたはディスクにエンコードすることができる。さらに、フォーム変換命令は、電子回路から構築することもできる。 The form conversion instruction set 14 contains all the stored conversion-related data and can be accessed by the conversion processing unit 12. The form conversion instruction set 14 includes instructions for data processing operations, conversion operations, control flow operations, and complex operations. Some of the operations described are collation, comparison, transform apply, replace, get, copy, superimpose, add, name, parallel and serial sequence of transforms, sequence and number of transforms, feed and interpolation. The form conversion instruction does not need to be separated from the conversion processing unit 12, and can be encoded in a reserved conversion block, a dedicated register, a storage unit, a memory or a disk. Furthermore, the form conversion instruction can also be constructed from an electronic circuit.

変換処理ユニットデバイス10は外部メモリ20に接続可能であるが、図2は、内部メモリ32を備える変換処理ユニットデバイス30の1つの実施形態を示している。変換処理ユニットデバイス30は、変換処理ユニット34およびフォーム変換命令セット14を備える。変換処理ユニット34は、変換制御ユニット16と、変換論理ユニット18と、データ、ステートメントおよび/または命令を記憶するための内部メモリまたは記憶ユニット32とを備える。 Although the conversion processing unit device 10 can be connected to the external memory 20, FIG. 2 shows one embodiment of the conversion processing unit device 30 including the internal memory 32. The conversion processing unit device 30 includes a conversion processing unit 34 and a form conversion instruction set 14. The conversion processing unit 34 includes a conversion control unit 16, a conversion logic unit 18, and an internal memory or storage unit 32 for storing data, statements and / or instructions.

以下に説明するように、変換論理ユニット18のアーキテクチャは、それが変換に関するすべての情報を含む限り、変化し得る。 As described below, the architecture of the transformation logic unit 18 can change as long as it contains all the information about the transformation.

図3は、変換論理ユニット40のアーキテクチャの1つの実施形態を示す。変換論理ユニット40は、各々がそれぞれの変換に関連するすべての情報を記憶するための複数の変換ブロック42a、42b、...42nを備える。 FIG. 3 shows one embodiment of the architecture of the conversion logic unit 40. The transformation logic unit 40 has a plurality of transformation blocks 42a, 42b, each for storing all the information related to each transformation. .. .. 42n is provided.

図示の実施形態では、各変換ブロック42a、42b、...42nは、それぞれのエフェクトブロック44a、44b、...44nおよびそれぞれの出力サイトまたは出力サイトブロック46a、46b、...46nを含む。各エフェクトブロック44a、44b、...44nは、エフェクトブロック44a、44b、...44nに関連するそれぞれのエフェクトに関するデータを記憶するための複数のメモリユニットまたはレジスタ48を含み、各出力サイトブロック46a、46b、...46nは、出力サイトブロック46a、46b、...46nに関連するそれぞれの出力サイトに関連するデータを記憶するための複数のメモリユニットまたはレジスタ48を含む。メモリユニット48は、データを記憶するように構成され、記憶される複数のビットによって規定され得ることを理解されたい。 In the illustrated embodiment, the conversion blocks 42a, 42b ,. .. .. 42n is the effect blocks 44a, 44b ,. .. .. 44n and their respective output sites or output site blocks 46a, 46b ,. .. .. Includes 46n. Each effect block 44a, 44b ,. .. .. 44n is the effect blocks 44a, 44b ,. .. .. Each output site block 46a, 46b, etc., includes a plurality of memory units or registers 48 for storing data for each effect associated with 44n. .. .. 46n is the output site blocks 46a, 46b ,. .. .. Includes a plurality of memory units or registers 48 for storing data associated with each output site associated with 46n. It should be appreciated that the memory unit 48 is configured to store data and can be defined by a plurality of stored bits.

1つの実施形態では、一部の変換ブロック42a、42b、...42nのみが、他の一部の変換ブロック42a、42b、...42nのみと通信することができる。別の実施形態では、一部の変換ブロック42a、42b、...42nは、互いに独立しており、任意の他の変換ブロック42a、42b、...42nと通信しない場合がある。さらなる実施形態では、図4に示すように、変換ブロック42a、42b、...42nはすべて相互接続され、結果、任意の変換ブロック42a、42b、...42nは任意の他の変換ブロック42a、42b、...42nと通信することができる。 In one embodiment, some conversion blocks 42a, 42b ,. .. .. Only 42n has some other conversion blocks 42a, 42b ,. .. .. It can communicate only with 42n. In another embodiment, some conversion blocks 42a, 42b ,. .. .. 42n are independent of each other and are any other conversion blocks 42a, 42b ,. .. .. It may not communicate with 42n. In a further embodiment, as shown in FIG. 4, conversion blocks 42a, 42b ,. .. .. All 42n are interconnected and, as a result, any conversion blocks 42a, 42b ,. .. .. 42n is any other conversion block 42a, 42b ,. .. .. It can communicate with 42n.

図4は、各々がそれぞれのエフェクトブロックおよびそれぞれの出力サイトブロックを含む複数の変換ブロック52a、52b、52c、52d、...52m、52nを含む変換論理ユニット50を示す。各変換ブロック52a、52b、52c、52d、...52m、52nはすべての変換ブロック52a、52b、52c、52d、...52m、52nに直接接続され、結果、任意の変換ブロック52a、52b、52c、52d、...52m、52nの出力は、任意の他の変換ブロック52a、52b、52c、52d、...52m、52nの入力とすることができる。 FIG. 4 shows a plurality of conversion blocks 52a, 52b, 52c, 52d, each containing an effect block and an output site block. .. .. The conversion logic unit 50 including 52m and 52n is shown. Each conversion block 52a, 52b, 52c, 52d ,. .. .. 52m, 52n are all conversion blocks 52a, 52b, 52c, 52d ,. .. .. Directly connected to 52m, 52n, and as a result, any conversion blocks 52a, 52b, 52c, 52d ,. .. .. The outputs of 52m, 52n are any other conversion blocks 52a, 52b, 52c, 52d ,. .. .. Inputs of 52 m and 52 n can be used.

1つの実施形態では、変換ブロックは、図5に示すように、少なくとも1つの制御ユニットをさらに備えることができる。 In one embodiment, the conversion block may further comprise at least one control unit, as shown in FIG.

図5は、入力サイトまたは入力サイトブロック62、エフェクトブロック64、出力サイトまたは出力サイトブロック66、および命令に基づいて動作を指示する制御ユニット68を含む変換ブロック60の1つの実施形態を示す。入力サイトブロック62は、複数のメモリユニット70および複数の論理ユニット72を含む。エフェクトブロック64および出力サイトブロック66は、入力サイトブロック62と同様のアーキテクチャを有し、エフェクトブロック64は、複数のメモリユニット74および複数の論理ユニット76を含み、出力サイトブロック66は、複数のメモリユニット78および複数の論理ユニット80を含む。論理ユニット72、76、80は、算術論理演算ユニット、変換論理ユニット、変換論理ユニットの別の部分への参照などであってもよい。 FIG. 5 shows one embodiment of a conversion block 60 that includes an input site or input site block 62, an effect block 64, an output site or output site block 66, and a control unit 68 that directs operation based on instructions. The input site block 62 includes a plurality of memory units 70 and a plurality of logical units 72. The effect block 64 and the output site block 66 have the same architecture as the input site block 62, the effect block 64 includes a plurality of memory units 74 and a plurality of logical units 76, and the output site block 66 includes a plurality of memories. Includes unit 78 and a plurality of logical units 80. The logical units 72, 76, and 80 may be arithmetic logical operation units, conversion logical units, references to other parts of the conversion logic units, and the like.

変換ブロック60は、入力サイトブロック62と出力サイトブロック66の両方を含むが、入力サイトブロック62を省略してもよく、結果、変換ブロック60はエフェクトブロック64および出力サイトブロック66のみを含んでもよいことを理解されたい。同様に、出力サイトブロック66を省略してもよく、結果、変換ブロック60はエフェクトブロック64および入力サイトブロック62のみを含んでもよい。 The conversion block 60 includes both the input site block 62 and the output site block 66, but the input site block 62 may be omitted, and as a result, the conversion block 60 may include only the effect block 64 and the output site block 66. Please understand that. Similarly, the output site block 66 may be omitted, and as a result, the conversion block 60 may include only the effect block 64 and the input site block 62.

1つの実施形態では、制御ユニット68を省略してもよい。同じまたは別の実施形態の変換ブロックにおいて、論理ユニット72、76および80を省略してもよい。 In one embodiment, the control unit 68 may be omitted. Logical units 72, 76 and 80 may be omitted in the conversion block of the same or another embodiment.

図示の実施形態では、論理ユニット72、76、および80は、それぞれ、入力サイトブロック62、エフェクトブロック64、および出力サイトブロック66に含まれるが、論理ユニット72、76、および80を、変換ブロック60内の入力サイトブロック62、エフェクトブロック64および出力サイトブロック66の外側に配置することができることが、当業者には理解されたい。 In the illustrated embodiment, the logical units 72, 76, and 80 are included in the input site block 62, the effect block 64, and the output site block 66, respectively, but the logical units 72, 76, and 80 are converted into the conversion block 60. It will be appreciated by those skilled in the art that it can be located outside the input site block 62, effect block 64 and output site block 66 within.

入力サイトブロック62、エフェクトブロック64および出力サイトブロック66の少なくとも1つは論理ユニットを含まなくてもよく、一方、入力サイトブロック62、エフェクトブロック64および出力サイトブロック66の少なくとも1つは論理ユニットを含むことも理解されたい。 At least one of the input site block 62, the effect block 64 and the output site block 66 may not include a logical unit, while at least one of the input site block 62, the effect block 64 and the output site block 66 contains a logical unit. Please also understand that it includes.

図6は、入力サイトまたは入力サイト範囲ブロック102、入力サイトまたは入力サイトブロック104、エフェクトブロック106、出力サイトまたは出力サイト範囲ブロック108、出力サイトまたは出力サイトブロック108、命令に基づいて動作を指示する制御ユニット112、およびメモリ114を含む変換ブロック100の1つの実施形態を示す。入力サイト範囲ブロック102は、複数のメモリユニット120および複数の論理ユニット122を含む。入力サイトブロック104は、複数のメモリユニット124および複数の論理ユニット126を含む。エフェクトブロック106は、複数のメモリユニット128および複数の論理ユニット130を含む。出力サイト範囲ブロック108は、複数のメモリユニット132および複数の論理ユニット134を含む。出力サイトブロック110は、複数のメモリユニット136および複数の論理ユニット138を含む。メモリ114は、複数の記憶ユニット140を備える。変換ブロック100は、入力サイト、入力範囲、エフェクト、および出力サイト、および出力範囲を含む変換を実行するのに適していることを理解されたい。 FIG. 6 indicates an operation based on an input site or an input site range block 102, an input site or an input site block 104, an effect block 106, an output site or an output site range block 108, an output site or an output site block 108, and an instruction. An embodiment of a conversion block 100 including a control unit 112 and a memory 114 is shown. The input site range block 102 includes a plurality of memory units 120 and a plurality of logical units 122. The input site block 104 includes a plurality of memory units 124 and a plurality of logical units 126. The effect block 106 includes a plurality of memory units 128 and a plurality of logical units 130. The output site range block 108 includes a plurality of memory units 132 and a plurality of logical units 134. The output site block 110 includes a plurality of memory units 136 and a plurality of logical units 138. The memory 114 includes a plurality of storage units 140. It should be understood that the transformation block 100 is suitable for performing transformations including input sites, input ranges, effects, and output sites, and output ranges.

論理ユニット122126、130、134、138は、算術論理演算ユニット、変換論理ユニット、変換論理ユニットの別の部分への参照などであってもよい。 The logical units 122 , 126, 130, 134, and 138 may be arithmetic logical operation units, conversion logical units, references to other parts of the conversion logic units, and the like.

図1および図2を再び参照すると、フォーム変換命令セット14は、演算および複雑な命令などの変換データを記憶する。たとえば、フォーム変換命令セット14は、データおよびアドレスの読み出し、書き込みおよびコピーまたはデータ符号化などのデータ処理およびメモリ操作を可能にする。フォーム変換命令セット14はさらに、照合、比較、変換適用、置換、取得、コピー、重ね合わせ、追加、命名などの変換に対する動作を可能にすることができる。フォーム変換命令セット14は、並列および直列変換適用、変換適用の順序付け、適用回数の制御、変換優先順位付け、タイムライン作成などの制御フロー動作も可能にする。フォーム変換命令セット14はさらに、フィード、補間、変換存続期間(変換が適用され始め、適用が終了する時間または順序を与える)などの複雑な命令を担当する。 Referring again to FIGS. 1 and 2, the form conversion instruction set 14 stores conversion data such as operations and complex instructions. For example, the form conversion instruction set 14 enables data processing and memory operations such as read, write and copy or data coding of data and addresses. The form conversion instruction set 14 can further enable operations for conversions such as collation, comparison, conversion application, replacement, acquisition, copying, superposition, addition, and naming. The form conversion instruction set 14 also enables control flow operations such as parallel and serial conversion application, conversion application ordering, application count control, conversion prioritization, and timeline creation. The form conversion instruction set 14 is also responsible for complex instructions such as feeds, interpolations, and conversion lifetimes (which give the time or order at which the conversion begins and ends).

変換ブロックがレジスタまたはメモリユニット48などのメモリユニットを含む実施形態では、変換処理ユニットデバイスは、変換論理ユニットの外部にメモリユニットを含まなくてもよい。たとえば、図2に示されるメモリユニット32を省略してもよい。そのような実施形態では、変換ブロック自体を使用して、入力および出力ユニバースに関連するすべてのデータなどのデータを記憶することができ、それらを使用して高速アクセスメモリおよびストレージに使用することができる。この手法を使用して、変換論理ユニットを、変換ブロックを記憶ユニットとして使用することができる変換ブロックのみから構成されるようにすることができる。 In an embodiment in which the conversion block includes a memory unit such as a register or a memory unit 48, the conversion processing unit device may not include the memory unit outside the conversion logic unit. For example, the memory unit 32 shown in FIG. 2 may be omitted. In such an embodiment, the conversion block itself can be used to store data such as all data related to the input and output universes, which can be used for high speed access memory and storage. can. Using this technique, the conversion logic unit can be made up of only conversion blocks that can use the conversion block as a storage unit.

上述のように、データは、レジスタ、外部メモリ、内部メモリなどに記憶することができ、データは、種々の方法でフォーマットおよび符号化することができる。1つの実施形態では、データは、変換処理ユニットデバイス10のために最適化されたフォームおよび変換として符号化される。フォームは、あらゆるタイプのデータを表現するために使用することができ、高度に階層的な構造を表現することができる。これはたとえば、肝臓および心臓を含む体であり、心臓は心筋細胞から構成され、細胞はそれ自体が原子から構成される分子から構成されるDNAを含む。変換によってフォームが効率的に処理されることを可能にするデータとともに、フォームはそのような階層構造を正確に表現するようにすることができる。 As mentioned above, the data can be stored in registers, external memory, internal memory, etc., and the data can be formatted and encoded in various ways. In one embodiment, the data is encoded as a form and transformation optimized for the transformation processing unit device 10. Forms can be used to represent any type of data and can represent a highly hierarchical structure. This is, for example, the body containing the liver and heart, where the heart is composed of cardiomyocytes and the cells themselves contain DNA composed of molecules composed of atoms. A form can be made to accurately represent such a hierarchical structure, along with data that allows the transformation to process the form efficiently.

フォーム変換処理ユニットがメモリを含まない実施形態では、フォームなどのデータは、変換ブロックのレジスタに直接記憶される。この場合、一部の変換ブロックは記憶に使用することができ、空の入力サイトブロックおよび出力サイトブロックを有することができ、一方、エフェクトブロックはフォームなどのデータを含むことができる。代替的に、アクセス速度に応じて、入力サイト、出力サイトおよびエフェクトブロックが各々、フォームのコピーを含むことができる。 In an embodiment where the form conversion processing unit does not include memory, data such as forms are stored directly in the registers of the conversion block. In this case, some conversion blocks can be used for storage and can have empty input and output site blocks, while effect blocks can contain data such as forms. Alternatively, depending on the access speed, the input site, output site and effect block can each contain a copy of the form.

1つの実施形態では、キーボード、マウス、および他の入力デバイスを、確保済みまたは事前に割り当てられた変換ブロックに接続することができる。モニタ、VRヘッドセットおよび他のデバイスなどの出力も、複数の変換ブロック、および変換ブロックの識別番号またはアドレスに接続することができる。 In one embodiment, keyboards, mice, and other input devices can be connected to reserved or pre-assigned conversion blocks. Outputs such as monitors, VR headsets and other devices can also be connected to multiple conversion blocks, and the identification numbers or addresses of the conversion blocks.

1つの実施形態では、制御ユニットまたは制御ユニットの一部は、確保された変換ブロックのセットから構成されてもよい。これにより、プロセッサの内部プロセスを種々のタイプの最適化に合わせて変更することが可能になる。 In one embodiment, the control unit or part of the control unit may consist of a reserved set of conversion blocks. This allows the processor's internal processes to be modified for different types of optimization.

上述の変換処理ユニットデバイスは、変換を実行する、すなわち、以下で詳細に説明するように、外部サイトに従って、変換データを使用し、任意選択的に入力サイト、入力範囲、および出力範囲に含まれる情報を使用して、選択されたフォームにエフェクトを適用するように構成されていることを理解されたい。 The conversion processing unit device described above performs the conversion, i.e., according to the external site, uses the conversion data and is optionally included in the input site, input range, and output range, as described in detail below. Please understand that the information is configured to apply the effect to the selected form.

図7~図11は、複数の変換ブロック152a、152b、152c、152d、...152m、152nのみを含む変換処理ユニットデバイス150を使用して、データを計算および処理するための例示的なプロセスを示す。各変換ブロック152a、152b、152c、152d、...152m、152nには、それぞれの制御ユニット154a、154b、154c、154d、...154m、154n、それぞれのエフェクトブロック156a、156b、156c、156d、...156m、156n、およびそれぞれの出力サイトブロック158a、158b、158c、158d、...158m、158nが与えられている。変換処理ユニットデバイス150のアーキテクチャはクロックレスであり、結果、デバイス150は非同期プロセッサデバイスに対応する。 7 to 11 show a plurality of conversion blocks 152a, 152b, 152c, 152d ,. .. .. An exemplary process for calculating and processing data using a conversion processing unit device 150 containing only 152m, 152n is shown. Each conversion block 152a, 152b, 152c, 152d ,. .. .. The control units 154a, 154b, 154c, and 154d, respectively, are attached to 152m and 152n. .. .. 154m, 154n, each effect block 156a, 156b, 156c, 156d ,. .. .. 156m, 156n, and their respective output site blocks 158a, 158b, 158c, 158d ,. .. .. 158m and 158n are given. The architecture of the conversion processing unit device 150 is clockless, and as a result, the device 150 corresponds to an asynchronous processor device.

変換ブロック152a、152b、152c、152d、...152m、152nはすべて相互接続されており、結果、各変換ブロック152a、152b、152c、152d、...152m、152nは、他の変換ブロック152a、152b、152c、152d、...152m、152nのいずれか1つとデータを交換することができる。 Conversion blocks 152a, 152b, 152c, 152d ,. .. .. The 152m and 152n are all interconnected, and as a result, the conversion blocks 152a, 152b, 152c, 152d ,. .. .. 152m, 152n are other conversion blocks 152a, 152b, 152c, 152d ,. .. .. Data can be exchanged with either 152m or 152n.

図7に示すように、変換処理ユニットデバイス150は、入力信号を受信し、出力信号を出力するように構成される。入力信号は、たとえば、キーボードのキーの押下を示すことができる。 As shown in FIG. 7, the conversion processing unit device 150 is configured to receive an input signal and output an output signal. The input signal can indicate, for example, the pressing of a key on the keyboard.

図8に示すように、変換ブロック152aなどのいくつかの変換ブロックは空であり、一方、変換ブロック152b、152d、および152mなどの他の変換ブロックは事前定義され、いくつかの変換に関する情報を含む。 As shown in FIG. 8, some conversion blocks such as conversion block 152a are empty, while other conversion blocks such as conversion blocks 152b, 152d, and 152m are predefined and provide information about some conversions. include.

この例では、キー1が押され、変換ブロック152aが、キーボードからキー1が押されたという信号を受信する。変換ブロック152aの制御ユニット154aは、受信した入力信号に従って、エフェクトブロック156aおよび出力サイトブロック158aを更新する。本例では、制御ユニット154aは、図9に示すように、エフェクトブロック156aのレジスタの1つを2進数1によって更新し、出力サイトブロック18aのレジスタの1つを、文字Kを表現する2進数によって更新する。 In this example, the key 1 is pressed and the conversion block 152a receives a signal from the keyboard that the key 1 has been pressed. The control unit 154a of the conversion block 152a updates the effect block 156a and the output site block 158a according to the received input signal. In this example, as shown in FIG. 9, the control unit 154a updates one of the registers of the effect block 156a with a binary number 1 , and represents one of the registers of the output site block 158a with the character K. Update by binary number.

変換ブロック152aの制御ユニット154aは、エフェクトおよび出力サイトの値を符号化する信号を他の変換ブロック152b、...152nに送ることにより、照合プロトコルを開始する。変換ブロック152aから信号を受信すると、変換ブロック152b、...、152nの制御ユニット154b、...、154nは、出力サイトの入来信号と、その記憶されている値との比較を開始し、一致がある場合、記憶されている値は、入来エフェクト値に変更される。一致がない場合、記憶されている値は置換も変更もされない。本例では、変換ブロック152dのエフェクトブロック156dに含まれる値は、変換ブロック152aの出力サイトブロック158aに含まれる値に対応する。したがって、エフェクトブロック156dに含まれる値は、図10に示されるように1に変更される。デジタル回路のレベルでは、複数の論理ゲートから構成されるデジタルコンパレータを使用して照合を達成することができ、通常の制御ユニットなしで直接達成できる。論理ゲートは制御ユニットに対応する。さらに、データの送信、データの受信、ならびに命令および動作の開始は、制御ユニットを使用せずに変換ブロックレベルで直接実行することができる。 The control unit 154a of the conversion block 152a converts the signal encoding the value of the effect and the output site into another conversion block 152b ,. .. .. By sending to 152n, the collation protocol is started. Upon receiving a signal from the conversion block 152a, the conversion block 152b ,. .. .. , 152n control unit 154b ,. .. .. 154n starts comparing the incoming signal of the output site with its stored value, and if there is a match, the stored value is changed to the incoming effect value. If there is no match, the stored value is neither replaced nor modified. In this example, the value included in the effect block 156d of the conversion block 152d corresponds to the value included in the output site block 158a of the conversion block 152a. Therefore, the value contained in the effect block 156d is changed to 1 as shown in FIG. At the digital circuit level, matching can be achieved using a digital comparator consisting of multiple logic gates, which can be achieved directly without a normal control unit. The logic gate corresponds to the control unit. In addition, data transmission, data reception, and instruction and operation initiation can be performed directly at the conversion block level without the use of control units.

次に、一致があった変換ブロック152dの制御ユニット154dは、その新しいエフェクト値を示す信号を他の変換ブロック152a、152b、152c、152n、152mに送り、当該他の変換ブロックは、各々がそれらの出力サイト値(すなわち、それらの出力サイトブロック158a、158b、158c、158n、158mに記憶されたそれらの出力サイト値)と、変換ブロック152dの新しいエフェクト値とを照合しようと試みる。本例では、エフェクト2(または2進フォームでは10)および出力サイト1による変換に関連付けられる変換ブロック152mに一致がある。次に、変換ブロック152mは、そのエフェクト値およびその出力サイト値を変換ブロック152dに送り、最近更新された値1を2に置き換える。このとき、変換ブロック152dに関連する変換は、出力サイトにおいて値2およびOを有するエフェクトに対応する。たとえば、新たに更新された変換152dは、次いで、数2を示すためにモニタピクセル値を更新することを担当する複数の変換に信号を送ることができる。別の例では、新たに更新された変換152dはまた、追加の内部プロセッサ計算をトリガするか、またはそれに関与することもできる。 Next, the control unit 154d of the matching conversion block 152d sends a signal indicating the new effect value to the other conversion blocks 152a, 152b, 152c, 152n, 152m, and the other conversion blocks are each of them. Attempts to match the output site values of (ie, those output site values stored in those output site blocks 158a, 158b, 158c, 158n, 158m) with the new effect values of the conversion block 152d. In this example, there is a match for effect 2 (or 10 in binary form) and the conversion block 152m associated with the conversion by output site 1. Next, the conversion block 152m sends its effect value and its output site value to the conversion block 152d, and replaces the recently updated value 1 with 2. At this time, the conversion related to the conversion block 152d corresponds to the effect having the values 2 and O at the output site. For example, the newly updated conversion 152d can then signal a plurality of conversions responsible for updating the monitor pixel values to indicate the number 2. In another example, the newly updated conversion 152d can also trigger or participate in additional internal processor computations.

上記の例では、変換からの各照合試行におおいて1つの一致のみが可能であったが、各照合試行において複数の一致が発生する可能性があることを理解されたい。複数の一致がある場合、一致した各変換が更新され、他の複数の変換データの照合などの計算プロセスが続行される。これにより、変換処理ユニットデバイスのアーキテクチャがクロックレスであるだけでなく、本質的に高度な並列化も可能になる。さらに、一致するインスタンスの数が指数関数的に増加する可能性がある(5つの一致は各々、他の5つの変換を照合することができる5つの一致をトリガし、したがって、5、5*5、5*5*5の同時変換事象が与えられる)。 In the above example, only one match was possible in each matching attempt from the transformation, but it should be understood that multiple matches may occur in each matching attempt. If there are multiple matches, each matched transformation is updated and the computational process, such as matching other multiple transformations data, continues. This not only enables the architecture of the conversion processing unit device to be clockless, but also enables a high degree of parallelization in nature. In addition, the number of matching instances can increase exponentially (each of the five matches triggers five matches that can match the other five transformations, thus 5,5 * 5). 5 * 5 * 5 simultaneous conversion events are given).

1つの実施形態では、変換ブロックは、(入力範囲を記憶するための)入力サイト範囲および/または(出力範囲を記憶するための)出力サイト範囲を含むこともできる。この場合、上記の例に戻って参照すると、照合プロトコルは、照合を試行するすべての変換ブロックに照合信号を送信するのではなく、すべての変換ブロックのうちのサブセットのみに送信する。たとえば、エフェクト1および出力サイトKを与えられた変換ブロック152aからの信号は、変換ブロック152i~152kにのみ送信され得る。これは、変換ブロック152aの出力サイト範囲または入力サイト範囲が、照合信号が送信されることになるレジスタ/変換ブロック識別情報(またはレジスタのアドレス)のリストを含む場合に行われ得る。このような構成により、コンピュータアーキテクチャ(または変換ブロックを定義するユーザ)は、一致の検索の「範囲」を事前定義された変換ブロックのセットに制限することにより、照合時間またはエネルギー消費を低減することができる。 In one embodiment, the conversion block can also include an input site range (for storing the input range) and / or an output site range (for storing the output range). In this case, referring back to the above example, the matching protocol does not send the matching signal to all the conversion blocks that it attempts to match, but only to a subset of all the conversion blocks. For example, the signal from the conversion block 152a given the effect 1 and the output site K may be transmitted only to the conversion blocks 152i-152k. This can be done if the output site range or input site range of the conversion block 152a includes a list of registers / conversion block identification information (or address of the register) to which the matching signal will be transmitted. With such a configuration, the computer architecture (or the user defining the transformation block) can reduce matching time or energy consumption by limiting the "range" of the match search to a predefined set of transformation blocks. Can be done.

さらに、入力サイト範囲および/または出力サイト範囲は、類似の変換ブロックを区別する方法を提供することができる。上記の例では、エフェクト1および出力サイトKを有する変換と一致する複数の変換ブロックが存在する可能性がある。[エフェクト1および出力サイトO]および[エフェクトKおよび出力サイトM]を有する変換がある可能性があるが、出力サイト範囲により、一致をたとえば、[エフェクト1および出力サイトO]など、そのうちの1つだけに制限することが可能である。これは、その識別情報が出力サイト範囲に含まれるためである。 In addition, the input site range and / or the output site range can provide a way to distinguish similar conversion blocks. In the above example, there may be multiple conversion blocks that match the conversion with effect 1 and output site K. There may be conversions with [Effect 1 and Output Site O] and [Effect K and Output Site M], but depending on the output site range, one of them may match, for example, [Effect 1 and Output Site O]. It is possible to limit to only one. This is because the identification information is included in the output site range.

送信された信号または照合要求は、出力サイト一致のために送信されるように確保されるだけでなく、他の変換から開始することもできる。たとえば、入力サイトを有する変換ブロックが、信号を開始(または信号を受信)することができる。入力サイト照合は、入力サイト範囲にリストされているレジスタに対して入力サイト照合を可能にすることにより、出力サイトと同様に機能する。 The transmitted signal or matching request is not only ensured to be transmitted for output site matching, but can also start with other conversions. For example, a conversion block with an input site can initiate (or receive) a signal. Input site matching works like an output site by allowing input site matching against the registers listed in the input site range.

1つの実施形態では、変換ブロックは、制御ユニット(複数可)、変換自体、任意の数の他の変換または場合によっては任意の外部デバイスによって読み取りおよび書き込みが可能なデータ(限定ではないが、任意の数のフォームまたはレジスタへの参照など)を有するレジスタを含むデータセクションも有することができる。このようなデータの例は、変換ブロックがマッチングプロトコルを開始した回数、または、この変換ブロックによって実行することができる照合の回数を含むことができる。 In one embodiment, the conversion block is data (but not limited) that can be read and written by the control unit (s), the conversion itself, any number of other conversions or possibly any external device. It can also have a data section containing a register with a number of forms or references to the register). Examples of such data can include the number of times a conversion block initiates a matching protocol, or the number of collations that can be performed by this conversion block.

変換処理ユニットデバイスの上記のアーキテクチャは、仮想マシン上で再現することもできる。Cuda(登録商標)、OpenCL(登録商標)、OpenMP(登録商標)、OpenCV(登録商標)、Compute Shaders(登録商標)、マルチスレッドライブラリ、並列計算ライブラリおよび/または他のタイプのライブラリとともに、1つまたは複数のGPU、コア、CPU、処理デバイス、コンピューティングデバイスおよび/またはフィールドプログラマブルゲートアレイ(FPGA)を使用して、仮想マシン上でアーキテクチャの全体または一部を近似することが可能である。 The above architecture of the conversion processing unit device can also be reproduced on a virtual machine. One with a CPU®, OpenCL®, OpenMP®, OpenCV®, Complete Shaders®, multithreaded libraries, parallel computing libraries and / or other types of libraries. Alternatively, multiple GPUs, cores, CPUs, processing devices, computing devices and / or field programmable gate arrays (FPGAs) can be used to approximate all or part of the architecture on a virtual machine.

以下に示す結果は、CPUおよびGPUを備えた仮想マシン上に実装された上記のアーキテクチャを使用して達成された。このようにして得られた仮想マシンは、中でも、ニューラルネットワークのシステムである3Dの人工ニューラルネットワークを訓練し、DNA複製をシミュレートし、クラウドシミュレーションを作成するために使用された。 The results shown below were achieved using the above architecture implemented on a virtual machine with a CPU and GPU. The virtual machine thus obtained was used, among other things, to train a 3D artificial neural network, which is a system of neural networks, to simulate DNA replication, and to create cloud simulations.

以下では、上記のアーキテクチャによって可能になる、変換を適用する方法について説明する。 The following describes how to apply the transformations made possible by the above architecture.

図12は、視覚的プログラミングのための方法200の1つの実施形態を示す。方法200は、ハードウェアまたは仮想マシンのいずれかに実装された上記の変換処理設計によって実行することができる。 FIG. 12 shows one embodiment of Method 200 for visual programming. Method 200 can be performed by the conversion process design described above implemented in either hardware or a virtual machine.

ステップ202において、変換が受信される。本事例において、変換は、少なくとも、入力サイトの識別情報、出力サイト、エフェクトおよび変換データの識別情報を含む。ただし、前述のように、変換はエフェクトおよび入力サイト、または入力および出力サイトのみを含み得、変換データは任意選択である。 In step 202, the conversion is received. In this case, the conversion includes at least the identification information of the input site, the output site, the effect and the identification information of the conversion data. However, as mentioned above, the conversion may include only effects and input sites, or input and output sites, and the conversion data is optional.

ステップ204において、入力サイトが入力ユニバースから取り出される。入力サイトは、変換に関連する情報が取り出される入力ユニバースから少なくとも1つのフォームを識別する。ステップ206において、出力サイトが出力ユニバースから取り出される。1つの実施形態では、出力サイトは、入力サイトから取り出される情報を使用して出力ユニバースから取り出される。出力サイトは、変換に関連付けられるエフェクトが適用される出力ユニバースの部分空間(すなわち、出力ユニバースに含まれる所与のフォーム)を規定する。 At step 204, the input site is retrieved from the input universe. The input site identifies at least one form from the input universe from which the information related to the transformation is retrieved. At step 206, the output site is retrieved from the output universe. In one embodiment, the output site is retrieved from the output universe using the information retrieved from the input site. The output site defines a subspace of the output universe (ie, a given form contained within the output universe) to which the effect associated with the transformation is applied.

ステップ208において、変換において定義されるエフェクトが、変換データおよび入力サイトから取り出される情報を使用して、取り出された出力サイトに適用され、それにより、変更された出力サイトが得られる。 In step 208, the effect defined in the transformation is applied to the retrieved output site using the transformed data and the information retrieved from the input site, thereby obtaining a modified output site.

ステップ210において、変更された出力サイトが出力される。1つの実施形態では、変更された出力サイトはメモリに記憶される。同じまたは別の実施形態では、以下で説明するように、変更された出力サイトのグラフィック表示が出力ユニバースの表現内に表示される。さらに別の実施形態では、変更された出力サイトは、第2の変換が実行されるための入力として使用されてもよい。たとえば、図8~図11を参照すると、変更された出力サイトは、その関連する変換ブロック152a、152b、152c、152d、...152m、152nから少なくとも別の変換ブロック152a、152b、152c、152d、...152m、152nに送信することができる。 In step 210, the modified output site is output. In one embodiment, the modified output site is stored in memory. In the same or another embodiment, the graphic display of the modified output site is displayed within the representation of the output universe, as described below. In yet another embodiment, the modified output site may be used as an input for performing a second conversion. For example, referring to FIGS. 8-11, the modified output site has its associated conversion blocks 152a, 152b, 152c, 152d ,. .. .. At least another conversion block 152a, 152b, 152c, 152d, from 152m, 152n. .. .. It can be transmitted to 152m and 152n.

1つの実施形態では、入力サイトを使用して、変換の任意の部分を変更することができる。たとえば、入力サイトデータを使用して、出力サイト、変換データ、出力範囲およびエフェクトの任意の部分をインスタンス化、更新、計算、または変更することができる。 In one embodiment, the input site can be used to modify any part of the transformation. For example, you can use input site data to instantiate, update, calculate, or modify any part of the output site, transformation data, output range, and effects.

1つの実施形態では、変換は、入力サイトの識別情報および/または変換データを含まない。この場合、入力ユニバースから入力サイトを取り出すステップ204が省略され、および/または、変換データを取り出すステップが省略され、入力サイトおよび/または変換データに関する情報を考慮せずに出力サイトにエフェクトが適用される。 In one embodiment, the conversion does not include the identification information of the input site and / or the conversion data. In this case, step 204 to retrieve the input site from the input universe is omitted, and / or the step to retrieve the transformed data is omitted, and the effect is applied to the output site without considering the information about the input site and / or the transformed data. To.

別の実施形態では、変換は、出力サイトの識別情報および/または変換データを含まない。この場合、出力ユニバースから出力サイトを取り出すステップ206が省略され、および/または、変換データを取り出すステップが省略され、出力サイトおよび/または変換データに関する情報を考慮せずにエフェクトが適用される。 In another embodiment, the conversion does not include output site identification information and / or conversion data. In this case, the step 206 of retrieving the output site from the output universe is omitted, and / or the step of retrieving the transformed data is omitted, and the effect is applied without considering the information about the output site and / or the transformed data.

出力サイトおよび変換データの受信が省略される実施形態では、ステップ202は、エフェクトのみを受信することを含む。その後、エフェクトおよび入力サイトのみが受信される。次に、ステップ206は、入力ユニバース内の受信された入力サイトを取り出すこと、すなわち、受信された入力ユニバースの入力ユニバースへの一致を見つけ、取り出された入力サイトに関連する情報を取り出すことに存する。ステップ208は、変更されたエフェクトを得るために、入力一致に関連する取り出された情報を使用してエフェクトを変更することに存する。次に、ステップ210において変更されたエフェクトが出力される。変更されたエフェクトは、エフェクトブロック内など、メモリ内に記憶され、および/または表示されるために出力され得る。 In embodiments where reception of output sites and conversion data is omitted, step 202 comprises receiving only the effect. After that, only the effects and input sites are received. Step 206 then resides in retrieving the received input site within the input universe, i.e. finding a match for the input universe of the received input universe and retrieving information related to the retrieved input site. .. Step 208 is to modify the effect using the retrieved information associated with the input match in order to obtain the modified effect. Next, the effect changed in step 210 is output. The modified effect may be stored and / or output for display in memory, such as in an effect block.

1つの実施形態では、ステップ204は、入力サイトに関連する入力範囲を取り出すこと、および/または出力サイトに関連する出力範囲を取り出すことをさらに含む。この場合、エフェクトは、取り出された入力範囲に関連する情報および/または取り出された出力範囲に関連する情報を使用して適用される。 In one embodiment, step 204 further comprises retrieving the input range associated with the input site and / or retrieving the output range associated with the output site. In this case, the effect is applied using information related to the retrieved input range and / or information related to the retrieved output range.

1つの実施形態では、方法200は、出力ユニバースを表現するための第1のセクションと、変換のグラフィック表現を表示するための第2のセクションとを含むユーザグラフィカルインターフェースを表示することをさらに含む。1つの実施形態では、第2のセクションは、入力サイトを規定するための第1のウィンドウ、エフェクトを規定するための第2のウィンドウ、出力サイトを規定するための第3のウィンドウ、および変換データを入力するための第4のウィンドウを含む。ユーザインターフェースは、出力ユニバースの視覚的表現、および変換の視覚的表示をディスプレイ上でユーザに表示することができる限り、変化してもよいことを理解されたい。 In one embodiment, method 200 further comprises displaying a user graphical interface that includes a first section for representing the output universe and a second section for displaying a graphic representation of the transformation. In one embodiment, the second section contains a first window for defining input sites, a second window for defining effects, a third window for defining output sites, and transformation data. Includes a fourth window for entering. It should be understood that the user interface may change as long as the visual representation of the output universe and the visual representation of the transformation can be shown to the user on the display.

1つの実施形態では、入力サイトは第1のウィンドウに表示され、エフェクトは第2のウィンドウに表示される一方、出力サイトは第3のウィンドウに表示される。 In one embodiment, the input site is displayed in the first window, the effect is displayed in the second window, while the output site is displayed in the third window.

以下でさらに詳細に説明するように、ユーザは、任意のウィンドウの内容を描画および編集することができる。 As described in more detail below, the user can draw and edit the contents of any window.

上述の方法200は、コンピュータによって実行されるときに上記のステップを実施するコンピュータ実行可能命令を記憶するコンピュータ可読メモリを備えるコンピュータプログラム製品として実施することができる。 The method 200 described above can be implemented as a computer program product comprising computer-readable memory for storing computer-executable instructions that perform the above steps when executed by a computer.

図13は、視覚的プログラミングのためのシステム230の1つの実施形態を示す。システム230は、少なくとも1つのCPUおよび/または少なくとも1つのGPUなどの処理ユニット232と、通信ユニット234と、命令およびデータが記憶されるメモリ236とを少なくとも備える。処理ユニット232は、方法200の上述のステップを実行するように構成される。1つの実施形態では、システム230は、上述の変換処理ユニットアーキテクチャを再現するように構成された仮想マシンに対応する。 FIG. 13 shows one embodiment of the system 230 for visual programming. The system 230 includes at least one processing unit 232 such as a CPU and / or at least one GPU, a communication unit 234, and a memory 236 in which instructions and data are stored. The processing unit 232 is configured to perform the steps described above in Method 200. In one embodiment, the system 230 corresponds to a virtual machine configured to reproduce the conversion processing unit architecture described above.

上記のように、変換は、エフェクト、入力サイトおよび/または出力サイト、ならびに、任意選択的に変換データ、入力範囲および/または出力範囲から構成され得る。単純な例として、出力サイトは、出力ユニバース内でフォームが変化しているものと考えることができ、エフェクトは同じフォームを示すが、たとえば、新しい位置にあるかまたは新しい形状を有するなどの新しい状態にある。出力サイトにある1枚の紙(または1枚の紙の表現)を考えることができ、この1枚の紙がくしゃくしゃになってボールのようになっていることがエフェクトである。ここで、変換のエフェクトは、紙をくしゃくしゃにしてボールにする動作に対応する。この変換を100枚のスタックに100回適用して、くしゃくしゃになった100個の紙のボールを得ることができる。 As mentioned above, the conversion may consist of effects, input sites and / or output sites, and optionally conversion data, input ranges and / or output ranges. As a simple example, the output site can be thought of as the form changing within the output universe, and the effect shows the same form, but in a new state, for example, in a new position or with a new shape. It is in. You can think of a piece of paper (or an expression of a piece of paper) at the output site, and the effect is that this piece of paper is crumpled and looks like a ball. Here, the conversion effect corresponds to the action of crumpling the paper into a ball. This transformation can be applied 100 times to a stack of 100 sheets to obtain 100 crumpled paper balls.

存在する場合、入力サイトは、入力ユニバースの部分空間から、すなわち入力ユニバース内で選択された少なくとも1つのフォームから情報を抽出するために使用される。次に、選択したフォーム(複数可)の情報、および、任意選択的に、変換の適用回数、変換のスタイルおよびタイプなどの情報を含むがこれらに限定されない変換データに基づいて、変換のエフェクトが適用される。 If present, the input site is used to extract information from a subspace of the input universe, i.e., from at least one form selected within the input universe. The effect of the conversion is then based on the information of the selected form (s) and, optionally, the conversion data including, but not limited to, the number of times the conversion has been applied, the style and type of the conversion, and so on. Applies.

入力または出力サイトを選択するための任意の適切な方法を使用することができることを理解されたい。たとえば、システムから選択したフォームをコピーすること、ドラッグアンドドロップ機能を使用すること、他のシステムまたは他のシステムの一部をインポートすること、他のソフトウェアまたはデバイスからファイルをインポートすること、描画ツール、変換、グラフィカルユーザインターフェースボタン、変換に接続されたグラフィカルユーザインターフェースボタン、フォームおよび変換によって規定されるグラフィカルユーザインターフェースボタンなどソフトウェア機能を用いて直接フォームを作成することによって、入力または出力フォームを挿入することができる。 It should be understood that any suitable method for selecting an input or output site can be used. For example, copying selected forms from the system, using drag and drop features, importing other systems or parts of other systems, importing files from other software or devices, drawing tools. Insert an input or output form by creating a form directly using software features such as Transforms, Graphical User Interface Buttons, Graphical User Interface Buttons Connected to Transforms, Forms and Graphical User Interface Buttons Specified by Transforms. be able to.

1つの実施形態では、フォームを変換の一部に自動的に、またはユーザの要求によって挿入すると、フォームのコピーが変換の他の部分に自動的に表示されてもよい。1つの実施形態では、自動的に生成されたコピーは、挿入されたフォームと同一であり得る。別の実施形態では、自動的に生成されたコピーは、挿入されたフォームと異なっていてもよい。たとえば、自動生成されたコピーの透過性は異なっていてもよい。次いで、ユーザは、コピーのいずれの要素を保持、削除、置換、編集、または変更するかを決定することができる。これにより、変換およびシステムの迅速な構築が可能になる。システムは、フォーム、変換、フォームのコレクション、変換のコレクション、またはフォームおよび変換のコレクションであると理解されたい。 In one embodiment, a copy of the form may be automatically displayed in other parts of the conversion when the form is automatically inserted into one part of the conversion or at the request of the user. In one embodiment, the automatically generated copy can be identical to the inserted form. In another embodiment, the automatically generated copy may differ from the inserted form. For example, the transparency of the auto-generated copies may be different. The user can then decide which element of the copy should be retained, deleted, replaced, edited, or modified. This enables conversion and rapid system construction. A system should be understood as a form, a transformation, a collection of forms, a collection of transformations, or a collection of forms and transformations.

図14は、入力サイト252、入力範囲254、エフェクト256、出力サイト258、出力範囲260および変換データ262を含む変換の例示的なグラフィック表現250である。入力範囲は、入力サイト一致を選択することができる入力ユニバース264の一部を選択することを可能にし、一方、出力範囲は、中に存在する出力ユニバース266の出力サイトにエフェクトを適用することができる出力範囲の一部を規定することを可能にする。 FIG. 14 is an exemplary graphic representation 250 of a transformation that includes an input site 252, an input range 254, an effect 256, an output site 258, an output range 260, and conversion data 262. The input range allows you to select a portion of the input universe 264 where you can select an input site match, while the output range can apply effects to the output sites of the output universe 266 existing inside. It makes it possible to specify a part of the output range that can be done.

1つの実施形態では、以下のコマンド/言語を使用して、変換を定義することができる。 In one embodiment, the following commands / languages can be used to define the transformation.

記号「:=」またはテキスト入力セクションは、フォーム、変換、またはユニバースに名前を付けるために使用することができる。 The symbol ": =" or text entry section can be used to name a form, transformation, or universe.

「コピー(Copy)/切り取り(Take)」は、入力サイト、すなわち、入力ユニバース内で選択されるフォームが、エフェクトの適用後に入力ユニバースに残る(コピー)か、または、変換が適用された後に入力ユニバースから消える(切り取り)かを指定するために使用することができる。 "Copy / Take" means that the form selected in the input site, that is, the input universe, remains in the input universe after the effect is applied (copy) or is entered after the conversion is applied. It can be used to specify whether it disappears (cuts) from the universe.

「追加(Add)/置換(Replace)」は、出力サイト、すなわち、出力ユニバース内で選択されるフォームが、変換が適用された後、残る(追加)か、または、出力ユニバース内で置換される(置換)かを指定するために使用することができる。場合によっては、フォームが互いに重なり合い、したがって、同じ場所に同じフォームの複数のコピーがあることが許容される。 "Add / Replace" means that the output site, that is, the form selected in the output universe, remains (adds) or is replaced in the output universe after the transformation is applied. Can be used to specify (replacement). In some cases, forms overlap each other, so it is permissible to have multiple copies of the same form in the same location.

「回数(#times)」は、変換が適用される回数を示すために使用することができる。 "Number of times (#times)" can be used to indicate the number of times the conversion is applied.

「すべて(All)」は、変換が、その時点またはタイムラインの現在の位置における変換の入力サイトおよび出力サイトを満たすフォームの各々を1回変更することを示すために使用することができる。 "All" can be used to indicate that the transformation modifies each of the forms that satisfy the input and output sites of the transformation at that time or at the current position in the timeline once.

「常に(Always)」は、変換が常に適用される準備ができているか、または、無限回数適用することができるか(場合によっては、入力および出力の条件が満たされている限り)を示すために使用することができる。 "Always (Always)" to indicate whether the transformation is always ready to be applied or can be applied an infinite number of times (in some cases, as long as the input and output conditions are met). Can be used for.

「Application#」は、さまざまな変換が適用される順序を示すために使用することができる。システム内にいくつかの変換が存在する場合、最も低い番号が割り当てられている変換が、次に適用される変換である。 "Application #" can be used to indicate the order in which the various transformations are applied. If there are several transformations in the system, the one with the lowest number is the one that applies next.

「Lifespan parameters(存続期間パラメータ)」(図示せず)は、変換がいくつのステップ内で適用され得るか、および、いくつのステップにわたって変換が適用され得るかを示すために使用され得る。これらのパラメータは、グローバルステップカウンタを参照し、変換を適用することができるステップ(整数または区間)を示すことができる。 "Lifepan parameters" (not shown) can be used to indicate within how many steps the transformation can be applied and how many steps the transformation can be applied. These parameters can refer to the global step counter and indicate the step (integer or interval) to which the transformation can be applied.

他のタイプの変換データ(図示せず)は、限定ではないが、変換が適用後に残るかまたは消えるかに関する指示、変換が属するグループ、変換が並列に、順次または同時に適用されるべきかに関する指示、変換のタイプ、変換のスタイル、変換の名前、制約、グローバル軸またはローカル軸などのデータを含んでもよい。 Other types of transformation data (not shown) include, but are not limited to, instructions on whether the transformation remains or disappears, the group to which the transformation belongs, and whether the transformation should be applied in parallel, sequentially, or simultaneously. , Transformation type, transformation style, transformation name, constraint, global axis or local axis, etc. may be included.

変換のアクティブ化およびプロセス
1つの実施形態では、変換が入力サイトを含み、入力サイトが入力ユニバースで内に一致を有する場合、変換はアクティブ化され、実行することができる。入力サイト内に満たさなければならない不等式または条件がある場合、出力サイトが出力ユニバース内に一致を有する場合であっても、不等式が満たされるまで変換は適用されない。
Conversion Activation and Process In one embodiment, if the conversion contains an input site and the input site has a match within the input universe, the conversion can be activated and performed. If there are inequalities or conditions that must be met in the input site, the conversion will not be applied until the inequalities are met, even if the output site has a match in the output universe.

1つの実施形態では、変換の実行のプロセスは以下の通りである。
まず、入力サイト内で定義されたフォームと入力ユニバース内のフォームとの一致が検索される。一致が見つかると、識別されたフォームが入力ユニバース内で選択される。
In one embodiment, the process of performing the conversion is as follows.
First, a match between the form defined in the input site and the form in the input universe is searched. If a match is found, the identified form is selected in the input universe.

次に、入力ユニバース内で選択されたフォームに関連付けられた情報に基づいて、存在する場合、入力サイトまたは入力範囲内で定義された不等式、条件または方程式が満たされるか否かが判断される。1つの実施形態では、満たすべき不等式および方程式は、存在する場合、入力範囲または出力範囲内に含めることができる。 It is then determined, if present, whether the inequality, condition, or equation defined within the input site or input range is satisfied, based on the information associated with the selected form in the input universe. In one embodiment, the inequalities and equations to be satisfied can be included within the input or output range, if any.

エフェクト出力サイトおよび変換データは、適切な変数(または*)を情報または変更された情報に置き換えることにより、選択された情報によって更新される。この場合、変換はアクティブ化されたと言われ、値は初期化されたと言われる。 Effects , output sites and transformation data are updated with the selected information by replacing the appropriate variables (or *) with information or modified information. In this case, the conversion is said to have been activated and the values are said to have been initialized.

次に、出力サイト内で定義されたフォームと一致する出力ユニバースに含まれるフォームが選択される。 The forms contained in the output universe that match the forms defined within the output site are then selected.

次に、変換は、出力ユニバース内で選択されたフォームを、変換のエフェクト内で定義されたフォームに置き換える。1つの実施形態では、エフェクト内で定義されたフォームは、出力ユニバース内で選択されたフォームに重ね合わせることができる。 The transformation then replaces the selected form in the output universe with the form defined in the transformation's effect. In one embodiment, the form defined in the effect can be overlaid on the selected form in the output universe.

1つの実施形態では、入力サイトが常に入力ユニバースの所与のフォームに接続されまたは一致する場合、入力ユニバース内の所定のフォームへの変更により、上記のプロセスの実行がトリガされる。この場合、変換は出力サイトを一切含まない場合があり、したがって出力範囲を一切含まない場合がある。常に接続されたフォームの例は、入力ユニバース内に1つのフォームがあり、同じフォームが入力サイト内で定義されており、結果、変換が切り取りではなくコピーに設定されるシナリオに対応する。この場合、入力ユニバース内に存在し、入力サイト内で定義されたフォームに加えられた変更が検出されると、変換が自動的に実行される。 In one embodiment, if the input site is always connected to or matches a given form in the input universe, changes to a given form in the input universe trigger the execution of the above process. In this case, the conversion may not include any output site and therefore may not include any output range. An example of a form that is always connected corresponds to a scenario where there is one form in the input universe, the same form is defined in the input site, and as a result the transformation is set to copy instead of cut. In this case, the conversion is automatically performed when a change that exists in the input universe and is made to the form defined in the input site is detected.

変換適用
変換は、入力範囲および出力範囲を含むとき、以下のように適用することができる。入力範囲および出力範囲は、システム全体、空、フォーム、フォームタイプ、システムのサブシステム、システムの多次元空間、またはシステムのフォームの周りの多次元空間(たとえば、3Dメッシュのエッジの周りのボリューム)などとすることができる。入力範囲は、変換が情報を抽出することを可能にされる場所に関する情報を提供する。すなわち、入力範囲は、入力サイト内で識別されたフォームを選択することができる入力ユニバースの部分空間を規定する。入力サイトは、入力範囲から選択することができるフォームを定義する。エフェクトは、入力範囲の選択されたフォームの情報に依拠するフォームから構成される。出力範囲は、出力ユニバース内の変換を適用することができる場所に関する情報を提供する。変換は、出力範囲から出力サイトに類似するかまたは等しいフォームを選択することによって適用される。次に、システムの選択されたフォームが変更され、追加され、横に追加され、近くの階層位置に追加され、またはエフェクトからの対応するフォームに置換される。出力サイトのフォームとエフェクトとの間の対応は、たとえば、それらの間に線を表示することによって、または、種々の場所に表示されるデータを用いてなど、種々の方法で示すことができる。
Applying Transforms Transforms, when including input and output ranges, can be applied as follows. Input and output ranges can be the entire system, empty, form, form type, system subsystem, system multidimensional space, or multidimensional space around the system form (eg, volume around the edges of a 3D mesh). And so on. The input range provides information about where the transformation is allowed to extract the information. That is, the input range defines a subspace of the input universe from which the identified form can be selected within the input site. The input site defines a form that can be selected from the input range. The effect consists of a form that relies on the information of the selected form in the input range. The output range provides information about where the transformation can be applied in the output universe. The conversion is applied by selecting a form similar to or equal to the output site from the output range. The selected form of the system is then modified, added, added horizontally, added to a nearby hierarchical position, or replaced with the corresponding form from the effect. The correspondence between the form of the output site and the effect can be shown in various ways, for example by displaying a line between them or by using data displayed in different places.

入力サイトおよびエフェクトを与えられた変換は、入力ユニバース内のフォームのコレクションからフォームを取り上げ、それらを使用して「エフェクト」と呼ばれるオブジェクトを構築することとして理解することができる。選択されたフォームは、入力ユニバースから削除されるか、または変更されないままになる。出力サイトおよびエフェクトを有する変換は、出力ユニバースからフォームを選択し、その後、選択したフォームを追加、置換、および変更することとして理解することができる。特に選択したフォームに要素が追加される場合、出力サイトのフォームがエフェクト内に存在し得る。変換は、入力フォームと出力フォームの両方を有することができる。したがって、入力からエフェクトを作成し、次いで、システムからのフォームを変更するために適用することができる。 Input sites and transformations given effects can be understood as taking forms from a collection of forms in the input universe and using them to build objects called "effects". The selected form is removed from the input universe or remains unchanged. Transformations with output sites and effects can be understood as selecting a form from the output universe and then adding, replacing, and modifying the selected form. The form at the output site can be present in the effect, especially if the element is added to the selected form. The transformation can have both an input form and an output form. Therefore, you can create an effect from the input and then apply it to modify the form from the system.

1つの実施形態では、選択されたフォームは、オブジェクトの名前またはタイプタグであり得る。変換データは、タグ自体またはタグの内容が選択されるべきか否かに関する指示を含み得る。たとえば、これにより、タグ「分子」を選択し、使用または置換のためにタグ「分子」に関連付けられた分子を使用することが可能である。これは、特定のフォームに添付されているものをすべて選択または変更する必要があることを示す表記(記号または色)を使用して、タグまたは名前とは異なるオブジェクトに拡張することができる。さらに、表記によって識別される所定の構造を有しないすべてのフォームを変更するために選択される表記(記号または色)を定義することができる。たとえば、タグ分子を有するフォームを選択するが、炭素原子(C)を有しない変換を定義することができる。 In one embodiment, the selected form can be the name or type tag of an object. The transformed data may include instructions as to whether the tag itself or the content of the tag should be selected. For example, this allows the tag "molecule" to be selected and the molecule associated with the tag "molecule" to be used or replaced. It can be extended to an object different from the tag or name, using a notation (symbol or color) that indicates that everything attached to a particular form needs to be selected or changed. In addition, it is possible to define the notation (symbol or color) selected to modify all forms that do not have the given structure identified by the notation. For example, a form with a tag molecule can be selected, but a transformation without a carbon atom (C) can be defined.

変換データ
変換が情報を抽出し、構築され、適用され、システム内で挙動する様式は、変換データによって調整することができる。このような変換データの例は、変換が適用される回数(有限または無限)、変換が適用される順序、変換が適用できなくなったときに変換が削除されるか、またはとどまるかに関する指示、特定のタイプのすべてのオブジェクトに変換が適用されるべきか否かに関する指示、変換が補間ステップを表現するか否かに関する指示、変換がオブジェクトをスケーリングまたは回転させる様式、変換が絶対または相対のいずれにおいて挙動するかに関する指示、変換が座標系にどのように影響するかの指標、変換の名前、変換が使用されるシステムの名前、変換の作成者および編集者の名前、変換の使用に関連するコメント、ローカルおよびリモートリポジトリ、レーティングなどを含む。変換データは変換全体に割り当てることができるが、変換の部分の異なるコレクションに異なるデータセットを割り当てることもできる。たとえば、データは、入力サイトとエフェクトとから構成されるカップル、または出力サイトとエフェクトとから構成されるカップルに割り当てることができる。これを使用して、たとえば、特定のタイプの多数のフォームに基づくエフェクトを作成し、次いで、変換を適用して、単一のオブジェクトを変更することができる。
Transformed data The way the transform extracts, builds, applies, and behaves in the system can be tuned by the transformed data. Examples of such transformation data are instructions and specifics regarding the number of transformations applied (finite or infinite), the order in which the transformations are applied, and whether the transformations are removed or stayed when the transformations are no longer applicable. Instructions on whether the transformation should be applied to all objects of type, whether the transformation represents an interpolation step, how the transformation scales or rotates the object, whether the transformation is absolute or relative. Instructions on how it behaves, indicators of how the transformation affects the coordinate system, the name of the transformation, the name of the system in which the transformation is used, the names of the creators and editors of the transformation, and comments related to using the transformation. , Local and remote repositories, ratings, etc. The transformation data can be assigned to the entire transformation, but different datasets can be assigned to different collections of parts of the transformation. For example, data can be assigned to a couple of input sites and effects, or a couple of output sites and effects. It can be used, for example, to create effects based on multiple forms of a particular type, and then apply transformations to modify a single object.

1つの実施形態では、有用なタイプの変換データは、「ポスト(post)」および「プレ(pre)」と呼ばれる。変換に「ポスト」を割り当てることは、この変換が非ポスト変換の各適用後に適用されることを示す。これを3Dアニメーションで使用すると、図15aおよび図15bに示すように、ポイントのメッシュを特定のフォームに追従させることができる。たとえば、三角形の上に3Dメッシュを追加するポスト変換によって、3Dメッシュ(または長方形のボックス)を三角形の位置および向きに追従させることができる。三角形を移動した後、ポスト変換があるため、船は三角形に続く位置に更新される。 In one embodiment, useful types of conversion data are referred to as "post" and "pre". Assigning a "post" to a transformation indicates that this transformation will be applied after each application of the non-post transformation. This can be used in 3D animations to allow the mesh of points to follow a particular form, as shown in FIGS. 15a and 15b. For example, a post transformation that adds a 3D mesh on top of a triangle can cause the 3D mesh (or rectangular box) to follow the position and orientation of the triangle. After moving the triangle, the ship is updated to the position following the triangle due to the post transformation.

1つの実施形態では、フォームを別のフォームのサブセットとして挿入することができ、結果、サブセットのフォームの解釈はその親フォームに依存する。たとえば、3Dメッシュは三角形のサブセットとして挿入することができ、三角形が動くと、メッシュは三角形の位置に基づいて解釈されるため、メッシュはそれに追従する。 In one embodiment, a form can be inserted as a subset of another form, and as a result, the interpretation of the subset's form depends on its parent form. For example, a 3D mesh can be inserted as a subset of triangles, and as the triangle moves, the mesh is interpreted based on the position of the triangle, so the mesh follows it.

同時および一連の変換
変換のシーケンスを構築することができ、この場合、前の変換がまだ存在するまで次の変換を適用することができないように、変換が順次適用されることになることを理解されたい。シーケンス自体もフォームであるため、データのコレクションを割り当てることができる。1つの実施形態では、変換の順序番号は、いずれの変換が次に適用されるべきかを示す。変換データに番号または等しい順序番号のない複数の同時シーケンスは、それぞれの優先順位に応じて、同時にまたは次々に適用することができる。代替的に、実行の順序は、各変換に割り当てられた確率を使用して、変換データ情報に基づいて、フレームワークのランダム関数から決定される。順序番号は、関数および演算によって与えることができる。たとえば、適用は、2つ以上の変換の間で交互に切り替わるようにすることができる。1つの実施形態では、シーケンスはアクティブである特性を有することができ、シーケンスが含む変換は、いくつかのまたはすべてのタイムラインステップにおいて適用される。1つの実施形態では、ユニバースまたはイベントの変化が、それらが含む変換を実行することによって処理されるシーケンスの取り出しをトリガする。
Understand that you can build a sequence of simultaneous and series of transformation transformations, in which case the transformations will be applied sequentially so that the next transformation cannot be applied until the previous transformation still exists. I want to be. Since the sequence itself is also a form, you can assign a collection of data. In one embodiment, the conversion sequence number indicates which conversion should be applied next. Multiple simultaneous sequences without numbers or equal sequence numbers in the converted data can be applied simultaneously or sequentially, depending on their respective priorities. Alternatively, the order of execution is determined from the framework's random functions, based on the transformation data information, using the probabilities assigned to each transformation. Sequence numbers can be given by functions and operations. For example, the application can be made to alternate between two or more transformations. In one embodiment, the sequence can have the property of being active, and the transformations it contains apply in some or all timeline steps. In one embodiment, changes in the universe or events trigger the retrieval of the sequence processed by performing the transformations they contain.

自己および高次変換
変換がどこから情報を抽出することができるか、または変換をどこに適用することができるかについては制約がない場合があることを理解されたい。たとえば、変換を適用して、任意の他の変換の任意の部分、システムのデータ、または変換に関連付けられたデータを変更することができる。変換は、さらには情報を抽出し、または、それ自体の部分の所与の1つを変更することができる。これらの機能は、より高次のシステムへの機会、および、モデルにおける再現の組み込みを提供する。
Self- and higher-order transformations It should be understood that there may be no restrictions on where the transformation can extract information or where the transformation can be applied. For example, you can apply a transformation to modify any part of any other transformation, system data, or data associated with the transformation. The transformation can even extract information or modify a given one of its own parts. These features provide opportunities for higher-order systems and the incorporation of reproductions in the model.

タイムラインアクセス
各ステップにおいて、またはシステムが変化するたびに、以前の状態をメモリに記録して、システムのタイムラインを構築することができる。タイムラインは、システムの履歴と考えることができる。同様に、システムの各要素またはフォームのタイムラインを記録することができる。たとえば、メッシュのエッジがあった位置を記録して、その後アクセスできるようにすることができる。この場合、エフェクトまたは出力サイトなどの変換の一部は、フォームだけでなく、タイムラインに記録されたフォームの以前の状態も含むことができる。これは、微分計算に関連するモデリングを作成するのに有用であり得る。たとえば、エッジが特定の位置にあり、さらに過去にある特定の位置にあった場合、エッジを削除する変換を構築することができる。タイムラインの未来を使用することも可能であるが、これにはシステムを複数回実行するか、または、複数のパスを実行する必要がある。たとえば、エッジが所与の実際の位置にあり、将来的にある特定の位置になる場合、この時点でエッジが削除され得る。この場合、これは、エッジを削除せずにシステムを1回実行した後で将来が決定されたと想定している。
Timeline access You can build a system timeline by recording the previous state in memory at each step or as the system changes. The timeline can be thought of as a history of the system. Similarly, a timeline for each element or form of the system can be recorded. For example, you can record where the edges of the mesh were and then make them accessible. In this case, some of the transformations, such as effects or output sites, can include not only the form, but also the previous state of the form recorded in the timeline. This can be useful for creating modeling related to differential calculations. For example, if an edge is in a specific position and then in a specific position in the past, you can build a transformation that removes the edge. It is possible to use the future of the timeline, but this requires running the system multiple times or running multiple paths. For example, if the edge is in a given actual position and will be in a particular position in the future, the edge may be removed at this point. In this case, this assumes that the future is determined after running the system once without removing the edges.

以下は、将来のタイムラインのアクセスに関連するより正確な例を示している。将来のステップにおいてシステム内に特定の将来のフォームが存在する(または必要な状態にある)場合、本ステップSにおいてシステムに変換を適用することができる。このような変換を適用することができる場合、システムは変換を適用せずにシステムの実行を継続し、指定されたステップにおいてシステム内に将来のフォームがあるか否かを確認する。フォームが存在する場合、システムはステップSに戻り、変換を適用してシステムを実行する。フォームが将来のステップにおいて存在しない場合、システムはそこから実行を継続する。この技法を使用して、システムを最適化し、または、システム内の悪影響を回避することができる。 The following shows more accurate examples related to future timeline access. If a particular future form exists (or is in the required state) in the system in a future step, the transformation can be applied to the system in step S0 . If such a transformation can be applied, the system will continue to run the system without applying the transformation and check if there are future forms in the system at the specified steps. If the form exists, the system returns to step S0 , applies the transformation, and runs the system. If the form does not exist in a future step, the system will continue to run from there. This technique can be used to optimize the system or avoid adverse effects within the system.

タイムラインへのアクセスを必要とする変換は、多くの異なるフォームの複数の過去、現在、未来のステップに同時にアクセスすることができる。 Transformations that require access to the timeline can simultaneously access multiple past, present, and future steps in many different forms.

非表示/表示、プライベート/公開、およびインターフェース
各システム、変換またはフォームは、表示もしくは非表示にすることができ、および/または、公開もしくはプライベートとして選択することができる。これは、システムの実行時に表示する必要のない、基礎となるデータを非表示にすることに役立つ。たとえば、3Dメッシュは面のみを表示することができ、頂点または辺は表示しなくてもよい。ただし、辺が公開されたままの場合でも、非表示のフォームには依然として変換が適用される。フレームワークの非表示/表示およびプライベート/公開機能に基づいて、一部の情報のみが露出され、編集することができるインターフェースを作成することができる。たとえば、色cおよび長さdの辺のn個の正三角形から構成されるシステムを有することができる。三角形[n,c,d]のように見えるインターフェースを作成することができる。
この場合、三角形[6,緑,1/2]は、長さが1/2の辺を有する6つの緑色の正三角形を表現する。インターフェースを作成するこの機能は、システムのネイティブ機能として組み込むこともできる。
Hidden / Show, Private / Public, and Interface Each system, transformation or form can be shown or hidden and / or selected as public or private. This helps hide the underlying data that you don't need to see when you run the system. For example, a 3D mesh can only display faces, not vertices or edges. However, the transformation still applies to hidden forms, even if the edges remain exposed. Based on the framework's hidden / visible and private / public features, it is possible to create an interface where only some information is exposed and can be edited. For example, it can have a system composed of n equilateral triangles with sides of color c and length d. You can create an interface that looks like a triangle [n, c, d].
In this case, the triangle [6, green, 1/2] represents six green equilateral triangles with sides of 1/2 in length. This ability to create an interface can also be incorporated as a native feature of the system.

フレームワークのGUI機能
1つの実施形態では、システムは、それ自体をフレームワーク内で作成することができるか、またはフレームワーク自体を使用することによって追加することができるボタンを含むグラフィカルユーザインターフェース(GUI)を含むことができる。GUIボタン、キーボードボタン、マウスボタンをクリックするか、または、入力を開始すると、変換をシステムに適用することができる。これにより、ユーザはユーザインターフェースを完全にカスタマイズすることが可能である。初期GUIにはフレームワークが付属している場合があるが、ユーザは、種々の変換を開始しまたは種々のシステムを実行するボタンを追加することができる。興味深いことに、これによりユーザまたは開発者は、仮想現実および拡張現実アプリケーションの3D GUIを作成することが可能である。本変換処理ユニットおよび方法は、ウェブブラウザと同様の方法で動作するソフトウェアによってナビゲートされ得る対話型3Dウェブサイトを作成するために使用することができる。
GUI Features of the Framework In one embodiment, the system has a graphical user interface (GUI) that includes buttons that can be created within the framework itself or added by using the framework itself. ) Can be included. You can apply the conversion to your system by clicking the GUI button, keyboard button, mouse button, or by starting typing. This allows the user to fully customize the user interface. The initial GUI may come with a framework, but the user can add buttons to start different conversions or run different systems. Interestingly, this allows users or developers to create 3D GUIs for virtual reality and augmented reality applications. The conversion processing unit and method can be used to create an interactive 3D website that can be navigated by software that operates in a manner similar to a web browser.

入来および発信データ
本システムは、入来フォームおよび発信フォームと呼ばれる特殊なフォームを備えた他のソフトウェアまたはハードウェアとリアルタイムで接続されてもよく、されなくてもよい。このタイプのフォームは、別のソフトウェアまたはハードウェアによってアクセス可能な公開データまたはプライベートデータであってもよい。ここでは発信データを例に挙げる。本システム内で移動するロボットの3Dメッシュモデルを構築した後、腕の関節角度を発信フォームデータとして選択することができる。現実世界のロボットのハードウェアは、発信フォームデータにアクセスして、サーボモータ角の角度を更新することができる。同様に、ユーザの身体上のさまざまなセンサから入来するデータを使用して、入来フォームデータを含むヒトの仮想生物学的モデルを更新できる。このとき、このモデルは、ユーザと同じ心拍数または呼吸数を有することができる。
Incoming and Outgoing Data The system may or may not be connected in real time to other software or hardware with specialized forms called incoming and outgoing forms. This type of form may be public or private data accessible by another software or hardware. Here, outgoing data is taken as an example. After constructing a 3D mesh model of a robot moving in this system, the joint angle of the arm can be selected as the transmission form data. Real-world robot hardware can access outbound form data to update the servomotor angle. Similarly, data coming from various sensors on the user's body can be used to update the human virtual biological model, including incoming form data. The model can then have the same heart rate or respiratory rate as the user.

フォームは多くのフォームのコレクションであり得るため、発信データを使用して、入来データフォームから要求が来た後にシステムまたはシステムデータにサービスすることができる。これは、以下で説明する「プロジェクトのネットワーク」にとって有用な構成要素であり得る。 Since a form can be a collection of many forms, outgoing data can be used to service the system or system data after a request comes from an incoming data form. This can be a useful component for the "network of projects" described below.

1つの実施形態では、フレームワークは、種々のフォーマットの3Dメッシュ、データベースおよびテーブルからのデータ、またはHTML/CSS、C++(登録商標)、Java(登録商標)およびPython(登録商標)などの言語のコードなどの種々のタイプのファイルをインポートすることができる。これは、フォーム内のシステムまたはフォームとして構築されたソフトウェアまたはインタープリタのネイティブ機能であり得、言語間の翻訳のためにテキストまたはコンピュータファイルに変換が適用されるフレームワークを変換する。 In one embodiment, the framework is a 3D mesh in various formats, data from databases and tables, or languages such as HTML / CSS, C ++®, Java® and Python®. You can import various types of files such as code. This can be a native feature of the software or interpreter built as a system or form within a form, converting the framework to which the conversion is applied to a text or computer file for translation between languages.

マルチスケール
本変換処理ユニットデバイスは、マルチスケール(空間および時間)ナビゲーションおよびプロセスを可能にすることができる。たとえば、心臓のモデルでは、細胞をクリックして細胞の内部システムを拡大することができる。細胞に向かって漸進的にズームすることもでき、細胞膜を透明にして細胞の内部モデルを明らかにすることにより、内部システムが明らかになる。メインシステムに別のシステムをインポートする場合、このシステムの組み込みに関連するシステムデータの種々のパラメータを指定することができる。このようなデータの例は、サイズスケールおよび時間スケールを含む。たとえば、心臓のシステムに心筋細胞をインポートする場合、心臓に対する細胞のサイズおよび時間スケールを指定する必要がある。細胞内の変換は、心臓のレベルでの変換よりもはるかに頻繁に適用されることになる。心臓の鼓動が秒スケールであるのに対して、細胞内の変換はナノ秒スケールである。
Multiscale This conversion processing unit device can enable multiscale (spatial and temporal) navigation and processes. For example, in the heart model, cells can be clicked to expand the cell's internal system. It can also be progressively zoomed towards the cell, revealing the internal system by making the cell membrane transparent and revealing the internal model of the cell. When importing another system into the main system, you can specify various parameters of the system data related to the incorporation of this system. Examples of such data include size scales and time scales. For example, when importing cardiomyocytes into the heart system, it is necessary to specify the cell size and time scale for the heart. Intracellular transformations will be applied much more often than transformations at the heart level. The heartbeat is on the second scale, while the intracellular transformation is on the nanosecond scale.

1つの実施形態では、各システムまたはフォームは、それに関連付けられたティック数値(整数、浮動小数点数、ダブル、有理数または実数)を有し、ティック数値は更新および変更され得る。ティック数値は、システムのいずれの変換を次に適用することができるかを示すのに役立つ。これは、システムおよびサブシステムを通過する速度および時間を調整するために使用することができる。 In one embodiment, each system or form has a tick number (integer, floating point number, double, rational or real number) associated with it, and the tick number can be updated and changed. Tick numbers help indicate which transformations in the system can be applied next. It can be used to adjust the speed and time of passing through systems and subsystems.

補間
変換の2回の適用の間に、少なくとも1回の中間変換を追加することができる。これは、2回の変換の間の補間と呼ばれる。また、変換は複数の変換に置き換えることができる。これは、変換の補間と呼ばれる。これは、変換のシーケンスを挿入するか、または、システムのネイティブ補間関数を使用することによって、システムを用いて手動で行うことができる。たとえば、点を1単位だけz方向に移動する変換は、シーケンスの各変換が点を0.01単位だけz方向に移動するように、補間関数を用いて変換のシーケンスに変更することができる。これにより、システムの精度を向上させることができる。
Interpolation At least one intermediate transformation can be added between the two applications of the interpolation. This is called interpolation between the two transformations. Also, the conversion can be replaced with a plurality of conversions. This is called transformation interpolation. This can be done manually with the system by inserting a sequence of transformations or by using the system's native interpolation functions. For example, a transformation that moves a point by one unit in the z direction can be changed to a sequence of transformations using an interpolation function such that each transformation in the sequence moves the point by 0.01 units in the z direction. This can improve the accuracy of the system.

変換の補間または2回の変換の間の補間を実行するとき、補間を生成するために使用される変換の回数は有限であり得る。代替的に、この回数は無限または連続的であってもよい。これにより、フレームワーク内での連続的な変換というより抽象的な概念の導入および使用が可能になる。これは、実線、実数、連続性および連続関数の古典的な数学的概念に関連している。補間は、以下で説明するフィードを用いることによって達成することができる。 When performing transformation interpolation or interpolation between two transformations, the number of transformations used to generate the interpolation can be finite. Alternatively, this number may be infinite or continuous. This allows the introduction and use of abstract concepts rather than continuous transformations within the framework. This relates to the classical mathematical concepts of solid lines, real numbers, continuity and continuous functions. Interpolation can be achieved by using the feed described below.

変換のフィード
以下では、図16~図31を参照して、変換のフィードについて説明する。変換のフィードは、変換に関連付けられた変換データの一部である。
Conversion Feeds The conversion feeds will be described below with reference to FIGS. 16-31. The conversion feed is part of the conversion data associated with the conversion.

フィードは、変数およびその関連する順序付けられたフォームセットから構成される。フィードは、変換内に順次プッシュされて、適用されるこの変換のインスタンスを作成する数(またはオブジェクト)のリストとして理解することができる。関連するセットは、数の有限セット、無限セット数、実区間、フォームのセット、変換のセット、オブジェクトのシーケンス、記号のセット、データなど、任意のタイプのセットとすることができる。 A feed consists of variables and their associated ordered form sets. The feed can be understood as a list of numbers (or objects) that are sequentially pushed into the transformation to create instances of this transformation to be applied. The related set can be any type of set, such as a finite set of numbers, an infinite number of sets, a real interval, a set of forms, a set of transformations, a sequence of objects, a set of symbols, data, and so on.

以下に、本セット例を挙げる。[0,1]、[0、無限大];2,5];[n]={1,2,3,4,...};[0,1]U[4,12];M×N;{abd,a,cc,c,e,t,%};{1,2,3,4,5,...};{1,2,3,4.5,12.2、-15.2};{1,2,2,2,2,1,1,10、0.5、e};実数、複素数、有理数および/または整数のセット;{変換1,フォーム1,フォーム2,a,4.3,6,pi};など。 An example of this set is given below. [0,1], [0, infinity]; [ 2,5]; [n] = {1,2,3,4. .. .. }; [0,1] U [4,12]; M × N; {abd, a, cc, c, e, t,%}; {1,2,3,4,5. .. .. }; {1,2,3,4.5,12.2, -15.2}; {1,2,2,2,2,1,1,10,0.5, e}; real numbers, complex numbers , A set of rational numbers and / or integers; {conversion 1, form 1, form 2, a, 4.3, 6, pi}; etc.

1つの実施形態では、フィードは、複数の変数およびそれらのそれぞれのセットから構成される。変数が最初に使用される順序があり得る。また、変数が満たす必要のあるフィードの制約もあり得る。一部の実施形態では、制約は、変換の入力サイトに現れる。 In one embodiment, the feed consists of multiple variables and their respective sets. There can be an order in which the variables are used first. There can also be feed constraints that variables must meet. In some embodiments, the constraint appears at the conversion input site.

いくつかの実施形態では、フィードは以下への変換を可能にする。
-変換を拡張して、離散的だけでなく連続的にすること、
-連続的な形状を作成すること、
-離散変換間の補間を行い、補間が完全に制御されるようにすること、
-継続性の概念および強度の実数にアクセスすること、
-微分計算を行うこと、
-変換の適用回数の概念を一般化すること、
-forループもしくはwhileループとして使用されること、
-ベクトルおよび多次元配列、さらにはテンソルを表現すること、
-オブジェクト指向言語における複数のオブジェクトをインスタンス化するためのループに類似する、複数の変換をインスタンス化するループのように動作すること、ならびに/または
-フィードを用いて変換すること。
In some embodiments, the feed allows conversion to:
-Extending the transformation to be continuous as well as discrete,
-Creating a continuous shape,
-Interpolate between discrete transforms so that the interpolation is completely controlled,
-Accessing the concept of continuity and real numbers of intensities,
-Performing differential calculations,
-Generalizing the concept of the number of times a transformation is applied,
-Used as a for loop or while loop,
-Representing vectors and multidimensional arrays, and even tensors,
-To behave like a loop to instantiate multiple transformations, similar to a loop for instantiating multiple objects in an object-oriented language, and / or-to transform using a feed.

動作中のフィード
1つの実施形態では、変換は、入力サイト、エフェクト、および出力サイト、ならびに、それぞれの順序付けられたセットを有する1つの変数のフィードから構成され得る。変数は、入力サイト、出力サイト、エフェクト、さらにはフィード自体を含む変換のデータ内など、変換のどこにでも、かつ何度でも(ゼロ、有限回数、または無限回数)現れることができる。
Feed in operation In one embodiment, the transformation can consist of input sites, effects, and output sites, as well as a feed of one variable with each ordered set. Variables can appear anywhere in the transformation and any number of times (zero, finite, or infinite), including in the data of the transformation, including input sites, output sites, effects, and even the feed itself.

変換を適用するために、変換に含まれる変数のインスタンスは、順序付けられたセットの第1の要素に置き換えられる。変換が適用されると、変数はセットの第2の要素によって第2の変数に置き換えられ、次いで、第2の変換が適用され、プロセスは、変数のセットの各要素に対してすべての変換が1回適用されるまで続行される。 To apply the transformation, the instances of variables contained in the transformation are replaced with the first element of the ordered set. When the transformation is applied, the variable is replaced by the second variable in the set, then the second transformation is applied, and the process has all the transformations for each element of the set of variables. Continues until applied once.

図17は、変換が値1、2、3に対して3回適用される第1の例を示している。変数tは1に置き換えられ、変換が適用され、したがって、黒い点から1単位の距離に白い点が追加される。次いで、tは2に置き換えられ、変換が適用され、したがって、黒い点から2単位の距離に白い点が追加される。最後に、tは3に置き換えられ、変換が適用され、したがって、黒い点から3単位の距離に白い点が追加される。 FIG. 17 shows a first example in which the transformation is applied three times for values 1, 2, and 3. The variable t is replaced by 1 and the transformation is applied, thus adding a white dot at a distance of 1 unit from the black dot. T is then replaced by 2 and the transformation is applied, thus adding a white dot at a distance of 2 units from the black dot. Finally, t is replaced by 3 and the transformation is applied, thus adding a white dot at a distance of 3 units from the black dot.

図18は、実線を作成するように構成された変換の例を示す。図17の例と同様に、長さ2の線が、区間[0,2]のすべての要素を変換に順次供給することによって作成される。 FIG. 18 shows an example of a transformation configured to create a solid line. Similar to the example of FIG. 17, a line of length 2 is created by sequentially feeding all the elements of the interval [0,2] to the transformation.

有限数の点のみが表示ユニットに表示されることを理解されたい。ただし、2つの実線の交点またはオブジェクト間の衝突点を決定する必要がある場合など、必要に応じて非表示の実点にアクセスできる。 It should be understood that only a finite number of points are displayed in the display unit. However, hidden real points can be accessed as needed, such as when it is necessary to determine the intersection of two solid lines or the collision point between objects.

図19は、適用回数の一般化を示している。この例では、変数tは変換に現れない。実際には、フィードを定義する代わりに、100回書き込んでもよい。変換内に変数tが発生せず、関連するセット内に100個の要素がある限り、セット内の記号のタイプは重要ではないことに留意されたい。特に、記号「@」を100回含むセットは、変換の100回の適用として作用する。 FIG. 19 shows a generalization of the number of applications. In this example, the variable t does not appear in the transformation. In practice, instead of defining a feed, you may write 100 times. Note that the type of symbol in the set is not important as long as the variable t does not occur in the transformation and there are 100 elements in the related set. In particular, a set containing the symbol "@" 100 times acts as a 100-time application of the transformation.

図20は、フィード内の複数の変数の例を示している。フィード内に2つの変数があることによって、要素のグリッドを生成することが可能である。1つの実施形態では、フィード内の変数の数に制限はなく、テンソル係数と同様の多次元配列、行列、およびオブジェクトを作成することができる。本例では、t=1が選択され、次にh=1が選択されることを理解されたい。その後、t=1のままでh=2が選択され、次にt=1のままでh
=3が選択される。次に、考えられるすべての組み合わせが取得されるまで、t=1およびh=1を取得することによってプロセスが再び開始される。同じプロセスが3つ以上の変数について実行されることを理解する必要がある。1つの実施形態では、要素が選択される順序は、変換のデータにおいて詳細に示すことができる。
FIG. 20 shows an example of a plurality of variables in a feed. Having two variables in the feed makes it possible to generate a grid of elements. In one embodiment, the number of variables in the feed is unlimited and multidimensional arrays, matrices, and objects similar to tensor coefficients can be created. It should be understood that in this example, t = 1 is selected, then h = 1. After that, h = 2 is selected with t = 1, and then h with t = 1.
= 3 is selected. The process is then restarted by acquiring t = 1 and h = 1 until all possible combinations have been acquired. It is necessary to understand that the same process is executed for more than two variables. In one embodiment, the order in which the elements are selected can be shown in detail in the transformation data.

図21は、複数の点が互いに積み重ねられる例を示している。
図22は、フィードがプレーンのまたは連続的な正方形を作成するための連続的なセットを含む例示的な変換を示し、一方、図23は、フィードがプレーンのまたは連続的な三角形を作成するための連続的なセットを含む例示的な変換を示す。
FIG. 21 shows an example in which a plurality of points are stacked on each other.
FIG. 22 shows an exemplary transformation involving a continuous set for the feed to create a plain or continuous square, while FIG. 23 shows the feed for creating a plain or continuous triangle. An exemplary transformation involving a continuous set of is shown.

三角形の記述の場合、変換が適用される前に、変換の入力サイトにおける条件を満たす必要がある。この制約は、y=-x+1の下の点のみがユニバースに追加されることを示している。 In the case of a triangle description, the conditions at the conversion's input site must be met before the conversion is applied. This constraint indicates that only points under y = -x + 1 are added to the universe.

図24は、ロケットを加速させるための例示的な変換を示す。ロケットの加速は、フィード内の数に依存する。5tはまた、任意のタイプの関数f(t)であるように選択され得ることが理解されるべきである。 FIG. 24 shows an exemplary transformation for accelerating a rocket. Rocket acceleration depends on the number in the feed. It should be understood that 5t can also be selected to be any type of function f (t).

図25は、ロケットの例示的な相対変位を示している。この例では、ロケットの相対変位は、フィード値1/7および関数2tに基づいて定義される。 FIG. 25 shows an exemplary relative displacement of a rocket. In this example, the relative displacement of the rocket is defined based on the feed value 1/7 and the function 2t.

図26では、変換はロケットを14ユニットだけ移動し、ただし、7ステップにおいてロケットを補間するように要求する。補間は、図27に示すフィードによって表現することができる。 In FIG. 26, the transformation moves the rocket by 14 units, but requires the rocket to interpolate in 7 steps. The interpolation can be represented by the feed shown in FIG.

図28は、補間が実行される様式を、加速度などの挙動を反映するようにカスタマイズすることができることを示している。 FIG. 28 shows that the mode in which the interpolation is performed can be customized to reflect behavior such as acceleration.

図29は、ロケットが除去されるときに別のロケットがグローバル軸に対して新しい位置に挿入される、絶対位置の例示的な連続的変換を示している。 FIG. 29 shows an exemplary continuous transformation of absolute position in which another rocket is inserted into a new position with respect to the global axis when the rocket is removed.

図30は、相対位置についての例示的な連続的変換を示す。この例では、変換は相対的に適用される。セット内で、一度に複数の値にアクセスすることができる。本事例において、t1=0、t2=0.25、t3=5、t4=0.75かつt5=1である。これにより、差を計算して1単位増分の変位を生成することが可能である。 FIG. 30 shows an exemplary continuous transformation for relative position. In this example, the transformations are applied relatively. You can access multiple values at once within a set. In this case, t1 = 0, t2 = 0.25, t3 = 5, t4 = 0.75 and t5 = 1. This makes it possible to calculate the difference and generate a displacement of one unit increment.

図31に示すように、デルタtの代わりとなるdtを使用して、連続的な相対変位を行うことができる。 As shown in FIG. 31, continuous relative displacement can be performed using dt instead of delta t.

図32は、n個の要素のベクトルを作成するための例示的な変換を示す。たとえば、図33に示すように、3×3行列を作成することができる。 FIG. 32 shows an exemplary transformation for creating a vector of n elements. For example, as shown in FIG. 33, a 3 × 3 matrix can be created.

解決
変数記号を追加するか、または、フォームが変数であることを示すことによって、システムに変数を追加することができる。通常、変数が解決されるときに、システムがどのようになることが所望されるか、または何を実行することが所望されるかを示す必要がある。これは、等号「=」を用いた古典代数方程式においてxについて解くことに似ている。たとえば、複製を続けるがん細胞を取り上げると、がん細胞に適用される変数変換Tを取得し、システムがもはや複製しない細胞になることが所望されることを示すことができる。次に、Tについてこれを解くために、このシステムが使用される。フレームワーク内で作成される解決システムを使用すること、入来および発信データフォームを使用すること、外部解法を使用すること、または可能性のある変換を手動で入力することによって、Tについて解くこともできる。その結果、がん細胞の複製を停止するTの種々の可能なフォームのセットがもたらされる。複数のタイプの数学的およびプログラミング技法をモデル化してフレームワークに直接実装することができるため、困難なシステムを解くために複数の強力なツールを同時に使用することができる。フレームワークに実装することができるツールの例は、人工ニューラルネットワーク、方程式の解決、数学的最適化、および種々の機械学習アルゴリズムなどである。
You can add variables to your system by adding a resolution variable symbol or by indicating that the form is a variable. Usually, when a variable is resolved, it needs to indicate what the system wants to be or what it wants to do. This is similar to solving for x in a classical algebraic equation with the equal sign "=". For example, taking cancer cells that continue to replicate can obtain the change of variables T applied to the cancer cells and indicate that the system is desired to be a cell that no longer replicates. This system is then used to solve this for T. Solving about T by using a resolution system created within the framework, using incoming and outgoing data forms, using external solutions, or manually entering possible transformations. You can also. The result is a set of various possible forms of T that stop the replication of cancer cells. Multiple types of mathematical and programming techniques can be modeled and implemented directly in the framework, allowing multiple powerful tools to be used simultaneously to solve difficult systems. Examples of tools that can be implemented in the framework include artificial neural networks, equation solving, mathematical optimization, and various machine learning algorithms.

プロジェクトのネットワーク
プロジェクトまたはシステムを作成するとき、システムはリポジトリ内にあり、公開またはプライベートにすることができる。ウェブプラットフォーム、プライベートローカルサーバ、またはピアツーピアベースのネットワーク上で、達成する必要がある内容の記述によって新しいプロジェクトPを開始することができる。ユーザは、そのプロジェクトのシステムを提出し、または、他者がこのプロジェクトにおいて提出したシステムを改善することができる。ユーザは、最良のシステム、すなわち、プロジェクトの要件に最も近い最良のシステムに投票することができる。
Networking a project When you create a project or system, the system is in the repository and can be public or private. A new project P can be started by describing what needs to be achieved on a web platform, private local server, or peer-to-peer based network. The user can submit the system for the project or improve the system submitted by others in this project. The user can vote for the best system, that is, the best system that most closely matches the requirements of the project.

他のプロジェクトシステムは、システム(またはプロジェクト)に完全にインポートして、それに適合させることができる。たとえば、システムSysにシステムSub全体をインポートする代わりに、情報をSysからSubに送信して、SubにSysの戻り値を計算させるよう求めることができる。これにより、分散コンピューティングが可能になり、プロジェクトおよびシステムの重複が少なくなる。一部のプロジェクトは、プライベートまたは公開とすることができる。これにより、多数のユーザが大規模で有用なプロジェクトを開発および作成することができるプロジェクトの大規模なネットワークを作成することが可能になる。これらのプロジェクトの各々は、それ自体が他のプロジェクトに依拠する他の複数のプロジェクトから構成することができる。含まれる各プロジェクトは、C++などのスクリプトベースのプログラミング言語のライブラリに似ていると考えることができる。 Other project systems can be fully imported into the system (or project) and adapted to it. For example, instead of importing the entire System Sub into System Sys, information can be sent from Sys to Sub and asked to have Sub calculate the return value of Sys. This enables distributed computing and reduces project and system duplication. Some projects can be private or public. This makes it possible to create a large network of projects where a large number of users can develop and create large and useful projects. Each of these projects can consist of multiple other projects that themselves depend on other projects. Each included project can be thought of as a library of script-based programming languages such as C ++.

1つの実施形態では、変換内で定義されるエフェクトは、表現を助けるために複数の部分を含むことができる。たとえば、エフェクトは2つの部分を含むことができる。入力サイトが選択され、その値がエフェクトおよび出力サイト内で使用される場合、出力サイトによって選択される出力サイトフォームは、エフェクトの出力部分内のフォームによって変更され、入力サイトによって選択される入力サイトフォームは、エフェクトの入力部分内のフォームによって変更される。 In one embodiment, the effect defined within the transformation can include multiple parts to aid expression. For example, an effect can contain two parts. If an input site is selected and its value is used within the effect and output site, the output site form selected by the output site will be modified by the form in the output portion of the effect and selected by the input site. The form is modified by the form in the input part of the effect.

図34は、2部分エフェクトを有する例示的な変換を示す。ここでは、初期ユニバースの値12が変換にインポートされ、結果、K=12になる。次に、K=0はK=12に置き換えられ、H=12はH=1に置き換えられる。 FIG. 34 shows an exemplary transformation with a two-part effect. Here, the value 12 of the initial universe is imported into the conversion, resulting in K = 12. Next, K = 0 is replaced with K = 12, and H = 12 is replaced with H = 1.

図35は、2部分エフェクトを有する変換のさらなる例を示す。この例では、初期ユニバースからの値12およびが変換にインポートされ、結果、M=12+8=20になる。次に、H=12はH=0に置き換えられ、K=8はK=-8に置き換えられ、M=0はM=20に置き換えられる。次に、K=0はK=12に置き換えられ、H=12はH=1に置き換えられる。 FIG. 35 shows a further example of a transformation with a two-part effect. In this example, the values 12 and 8 from the initial universe are imported into the conversion, resulting in M = 12 + 8 = 20. Next, H = 12 is replaced with H = 0, K = 8 is replaced with K = -8, and M = 0 is replaced with M = 20. Next, K = 0 is replaced with K = 12, and H = 12 is replaced with H = 1.

図36は、フィードおよび2部分エフェクトを含む例示的な変換を示す。
フィードは、フィードなしで3部分変換の構成要素のみを用いて、離散的なフィード向けにエミュレートすることができることを理解されたい。図37に示す離散変換は、順序付けられた要素1、2、3を含む入力ユニバースからtの値を取得する。変換を適用した後、左の要素が右にシフトされる。これにより、次の変換の適用時に順序付けられたセットの第2の要素を選択することが可能になる。フィードが実数の区間または無限セットである場合、連続的な順序付けされたセットから要素を抽出するために、新しい手順を定義する必要がある。1つの実施形態では、フィードの定義をシステムに追加することができ、これは区間を処理するのに非常に適しており、多くの他の用途を有する。
FIG. 36 shows an exemplary transformation including a feed and a two-part effect.
It should be understood that feeds can be emulated for discrete feeds using only the components of the tripartic transformation without feeds. The discrete transform shown in FIG. 37 obtains the value of t from the input universe containing the ordered elements 1, 2, and 3. After applying the transformation, the element on the left is shifted to the right. This makes it possible to select the second element of the ordered set when applying the next transformation. If the feed is a real interval or an infinite set, a new procedure needs to be defined to extract the elements from the continuous ordered set. In one embodiment, a feed definition can be added to the system, which is very suitable for processing intervals and has many other uses.

以下では、変換のさらなる例を説明する。
第1の例において、変換を作成するために、ユーザは出力ユニバースに存在する四面体の面を選択し(図38aを参照)、それを変換の出力サイトに送信またはドラッグアンドドロップする(図38bを参照)。自動的に、三角形の面がエフェクトおよび出力サイトに現れる。次に、ユーザは面上にメッシュを追加するか、三角形を縮小することにより、エフェクトを編集することができる。ユーザがより小さい四面体を面に追加し(図38bを参照)、回数を3に設定することによって変換データを調整する場合、変換が適用されることになる。システムを実行すると、3つの面上に小さい四面体ができるまで(図38cを参照)、より小さい四面体が面上に次々に追加される。
Further examples of conversion will be described below.
In the first example, to create a transformation, the user selects a tetrahedral face present in the output universe (see Figure 38a) and sends or drags and drops it to the transformation's output site (Figure 38b). See). Automatically, triangular faces will appear at the effects and output sites. The user can then edit the effect by adding a mesh on the face or shrinking the triangle. If the user adds a smaller tetrahedron to the surface (see FIG. 38b) and adjusts the conversion data by setting the number of times to 3, the conversion will be applied. When the system is run, smaller tetrahedra are added one after another on the faces until there are smaller tetrahedra on the three faces (see Figure 38c).

ユーザは、小さい立方体が三角形に追加される別の変換を作成することもできる。2つの変換が別の変換と同時にシステムの四面体上に配置され、システムが実行されるとき、2つのうちの1つのみが適用される。この場合、ユーザは、立方体による変換を適用する可能性を80%、他の変換を適用する可能性を20%と決定することができる。 The user can also create another transformation in which a small cube is added to the triangle. When two transformations are placed on the tetrahedron of the system at the same time as another transformation and the system is run, only one of the two is applied. In this case, the user can determine that the likelihood of applying the cubic transformation is 80% and the likelihood of applying another transformation is 20%.

別の例では、ユーザがシステム内に分子をインポートして選択し、出力サイトにこれを送信する。ユーザはDを入力サイト内に追加し、それをエフェクトに追加することもできる。エフェクト分子を右に移動すると、値または関数を挿入することができる場所が開く。Dをエフェクトからドラッグアンドドロップするか、または、Dをそのスペースに入力すると、それが入力サイトのDに接続される。次に、ユーザは1/Dを書き込むことによってDに関数を適用する。ここで、変換が分子に適用されるとき、分子の変位は、システム内の別の場所から、またはさらには入来データからのDの値に依存する。変換が適用される前に、Dの値が読み取られて、分子の変位が決定される。本事例では、D=100の場合、この変換が分子に7回適用されると、分子は1/100単位だけ7回左に移動される。 In another example, the user imports the molecule into the system, selects it, and sends it to the output site. The user can also add D in the input site and add it to the effect. Moving the effect numerator to the right opens up a place where you can insert a value or function. Drag and drop D from the effect, or type D into that space and it will connect to D at the input site. The user then applies the function to D by writing 1 / D. Here, when the transformation is applied to the molecule, the displacement of the molecule depends on the value of D from another location in the system or even from the incoming data. Before the transformation is applied, the value of D is read to determine the displacement of the molecule. In this case, when D = 100, if this transformation is applied to the molecule 7 times, the molecule will be moved 7 times to the left by 1/100 unit.

変換がタイムラインを使用しアクセスすることができるように、分子の以前の位置はすべてタイムラインに保存することができる。たとえば、5ステップ前および現在からの平均速度を測定するために、ユーザは入力サイト内で現在の分子のグローバル位置(P0)および5ステップ前のフォームの分子のグローバル位置(P5)を書き込むかまたは選択することができる。エフェクトには、ユーザはS=(P0-P5)/5と書き込む。ここで、この変換が分子に適用されるたびに、平均速度が計算される。この変換はシステムの隅に残し、システムを変更するたびに適用することができる。その変換の入力サイトを非表示にすることによって、速度データのみが隅に表示される。 All previous positions of the molecule can be stored in the timeline so that the transformation can be accessed using the timeline. For example, to measure the average velocity from 5 steps before and from the present, the user writes or writes the global position of the current molecule (P0) and the global position of the molecule of the form 5 steps before (P5) in the input site. You can choose. The user writes S = (P0-P5) / 5 in the effect. Here, the average velocity is calculated each time this transformation is applied to the molecule. This transformation is left in the corner of the system and can be applied every time the system is modified. By hiding the input site for that conversion, only the velocity data will be displayed in the corner.

図39は、入力サイト、エフェクト、および出力サイトを含む例示的な変換を示している(変換データは省略されている)。変換の適用は以下のように実施される。最初に、入力ユニバース内のフォームが選択される。選択されたフォームは入力サイトと一致し、ここで、スター(*)は、スターの周囲のフォームが一致している限り、何であってもよい。 FIG. 39 shows an exemplary conversion including input sites, effects, and output sites (conversion data omitted). The application of the conversion is carried out as follows. First, the form in the input universe is selected. The selected form matches the input site, where the star (*) can be anything as long as the forms around the star match.

この例では、「A=」が一致しているため、また、スター記号は何を選択してもよく、したがって数3が選択されるため、A=3が選択されている。 In this example, A = 3 is selected because "A =" is the same and any star symbol can be selected, and therefore the number 3 is selected.

次に、変換の残りの部分にも現れる入力サイトの情報が識別され、識別された情報は、出現するたびに、関連する選択されたフォームからの情報に置き換えられる。 The input site information that also appears in the rest of the transformation is then identified, and each time the identified information appears, it is replaced with information from the relevant selected form.

本例では、スター記号が変換のエフェクトおよび出力サイト内に現れる。スターに関連付けられている、選択されたたフォームからの情報は「3」である。したがって、エフェクトおよび出力サイトのスターは、図40に示すように3に置き換えられる。スターの数3への置き換えは、変換の適用のためにのみ行われる場合があるため、エフェクトおよび出力サイトで永続的ではない場合があることを理解されたい。 In this example, the star symbol appears in the conversion effect and output site. The information from the selected form associated with the star is "3". Therefore, the star of the effect and output site is replaced with 3 as shown in FIG. It should be understood that the replacement with the number 3 of stars may not be permanent at the effect and output site, as it may only be done for the application of the transformation.

次いで、出力サイトと一致する出力ユニバース内のフォームが選択され、エフェクトに置き換えられる。 The form in the output universe that matches the output site is then selected and replaced with the effect.

本例では、出力ユニバース内の三角形の長さ3の辺が選択され、同じ辺に置き換えられるが、図41に示すように、別の三角形を作成する2つの線が追加される。 In this example, the side of length 3 of the triangle in the output universe is selected and replaced with the same side, but as shown in FIG. 41, two lines are added to create another triangle.

変換の部分間の相対位置
1つの実施形態では、入力サイト、エフェクト、および出力サイト内部のフォームの相対位置が変換に影響を与える場合がある。たとえば、2つのオブジェクトが出力サイトおよびエフェクトについてそれぞれの長方形内の同じ位置にあることは、それらがともに接続されていることを意味し得る。たとえば、エフェクトのオブジェクトEが出力サイトのオブジェクトOと同じ場所にある場合、OはEに置き換えられる。オブジェクトの位置が異なる場合、以下の例に示すように異なる結果が得られる場合がある。
Relative Positions Between Parts of the Transformation In one embodiment, the relative positions of the forms inside the input site, effect, and output site may affect the transformation. For example, having two objects in the same position within their respective rectangles for the output site and effect can mean that they are connected together. For example, if the effect object E is in the same location as the output site object O, O is replaced by E. If the objects are in different positions, you may get different results as shown in the example below.

たとえば、図40に示す変換を図42に示す変換に置き換えると、図41のフォームではなく、図43に示すフォームになる。 For example, if the transformation shown in FIG. 40 is replaced with the transformation shown in FIG. 42, the form shown in FIG. 43 is obtained instead of the form shown in FIG. 41 .

ニューロン発火
この例では、入力ユニバースと出力ユニバースとは同じであり、一意のユニバースが図44に示されている。
Neuron firing In this example, the input universe and the output universe are the same, and a unique universe is shown in FIG.

図45に示す第1の変換は、入力サイトとして樹状突起d=xならびに閾値変数Tおよびその値yを選択する。エフェクトは、値xをyに追加することによって作成され、結果、この樹状突起の寄与が閾値に追加される。次いで、出力サイトによって選択されるとき、d=xおよびT=yはそれぞれ、d=0およびT=y+xに置き換えられる。 The first transformation shown in FIG. 45 selects dendrites d = x and the threshold variable T and its value y as input sites. The effect is created by adding the value x to y, and as a result, the contribution of this dendrite is added to the threshold. Then, when selected by the output site, d = x and T = y are replaced with d = 0 and T = y + x, respectively.

「すべて(All)」は、各樹状突起が1回だけ寄与するまで、この場合は11回、すべてのd=xに変換が適用されることを示す。変換内の類似の記号は同じオブジェクトと考えられる。したがって、入力サイトおよび出力サイトのd=xおよびT=yは同じであると理解される。 "All" indicates that the transformation is applied to all d = x 11 times in this case until each dendrite contributes only once. Similar symbols in the transformation are considered the same object. Therefore, it is understood that d = x and T = y of the input site and the output site are the same.

図46に示す次の変換は、閾値が6以上の場合にニューロン発火を引き起こす(ここで、6はこのニューロンの限界値である)。入力サイト内で定義される不等式は、この不等式が満たされると、hラベル付きの稲妻をiラベル付きの稲妻に変更することによって変換が適用されることを示している。 The next transformation shown in FIG. 46 causes neuron firing when the threshold is greater than or equal to 6 (where 6 is the limit of this neuron). The inequality defined in the input site indicates that if this inequality is satisfied, the transformation will be applied by changing the h-labeled lightning bolt to the i-labeled lightning bolt.

図47に示す次の変換では、活動電位が軸索終末に向かって動くことを可能にする。この場合、入力サイトは空である。これは、変換を適用する前に満たすべき「条件がない」ことを意味する。変換を適用するために必要な唯一の条件は、出力ユニバースにおいて稲妻記号にiラベルを付け、とげのある円にhラベルを付けることである。 The next transformation shown in FIG. 47 allows the action potential to move towards the axon terminal. In this case, the input site is empty. This means that there are "no conditions" to meet before applying the transformation. The only condition required to apply the transformation is to label the lightning bolt with an i-label and the thorny circle with an h-label in the output universe.

ここで活動電位が軸索に近いため、図48の変換によって示されているように、各軸索の値a=0が値a=1に変更される。 Here, since the action potential is close to the axon, the value a = 0 of each axon is changed to the value a = 1 as shown by the conversion in FIG. 48.

次に、軸索に関連付けられた各値が1になった後、図49の変換で示されているように、活動電位を表現する記号にhのラベルが付けられる。 Next, after each value associated with the axon becomes 1, the symbol representing the action potential is labeled with h, as shown in the transformation of FIG.

ニューロンのネットワークは、このニューロンの軸索を他のニューロンネットワークの樹状突起に接続することによって作成することができる。軸索a=xの値をそれに関連する樹状突起d=yの値に送信するおおまかな方法は、図50に示す変換によって行うことができる。 A network of neurons can be created by connecting the axons of this neuron to the dendrites of other neuronal networks. A rough method of transmitting the value of axon a = x to the value of its associated dendrite d = y can be performed by the transformation shown in FIG.

シナプス間隙
図51は、シナプス間隙のモデルを示している。
Synaptic Cleft FIG. 51 shows a model of the synaptic cleft.

図52に示す変換は、シナプス間隙における10個の神経伝達物質の放出をモデル化することを可能にする。 The transformation shown in FIG. 52 makes it possible to model the release of 10 neurotransmitters in the synaptic cleft.

入力範囲は、このニューロンのa=xである。a=1の場合、出力範囲内のランダムな位置が選択され、この位置に円形の神経伝達物質が挿入される。空白の出力サイトは特定の位置を指定せず、したがって、出力範囲内のランダムな位置として解釈される。出力範囲は、図53に示す長方形のボックスによって区切られた領域を規定する。 The input range is a = x of this neuron. When a = 1, a random position within the output range is selected and a circular neurotransmitter is inserted at this position. Blank output sites do not specify a specific position and are therefore interpreted as random positions within the output range. The output range defines the area separated by the rectangular box shown in FIG. 53.

神経伝達物質が放出された後、図54の変換を使用してa=1が0にされる。
図55の変換により、図56に示す円柱によって区切られたシナプス間隙内で神経伝達物質が動かされることが可能になる。変換は神経伝達物質およびその周りの空間の境界球を必要とする。次に、変換は、境界球内のその場所が円柱によって区切られたシナプス間隙の外側にない限り、神経伝達物質を境界球内のランダムな場所に戻す。
After the neurotransmitter is released, a = 1 is reduced to 0 using the transformation of FIG.
The transformation of FIG. 55 allows neurotransmitters to be moved within the synaptic clefts separated by the cylinder shown in FIG. The transformation requires a neurotransmitter and the boundary sphere of the space around it. The transformation then returns the neurotransmitter to a random location within the border sphere, unless its location within the border sphere is outside the synaptic cleft separated by a cylinder.

最後に、神経伝達物質が神経受容体に結合すると、図57の変換によって表現されるように、その寄与が樹状突起の値d=yに追加される。この変換は常に存在し、条件が満たされるとき、すなわち神経伝達物質が神経受容体の1つと結合するときに機能する。 Finally, when the neurotransmitter binds to the neuroreceptor, its contribution is added to the dendrite value d = y, as represented by the transformation in FIG. This transformation is always present and functions when conditions are met, i.e., when a neurotransmitter binds to one of the neuroreceptors.

グラフェンシートの構築
58の変換は、グラフェンシートを組み立てるために必要な規則の1つを表している。この変換は4つのCO 分子を取得し、図59に示すグラフェンシートに追加する。
Construction of Graphene Sheet The transformation of FIG. 58 represents one of the rules required to assemble a graphene sheet. This conversion obtains four CO 2 molecules and adds them to the graphene sheet shown in FIG. 59 .

CO コレクタ
図60に示す変換は、関数「take」および「add」を使用することによりコレクタとして機能する。この例では、CO分子が収集され、COコレクションに追加される。文字通り、これは入力ユニバースからCO分子を取得し、それらを二酸化炭素コレクションと呼ばれるグループに移動させる。入力ユニバースは、多数のCO分子を含む容器と考えられる。
CO 2 Collector The transformation shown in FIG. 60 functions as a collector by using the functions "take" and "add". In this example, CO 2 molecules are collected and added to the CO 2 collection. Literally, this takes CO 2 molecules from the input universe and moves them into a group called a carbon dioxide collection. The input universe is considered to be a container containing a large number of CO 2 molecules.

5つの分子を収集した後、図61に示すシナリオが得られる。
CO分子を収集してグラフェンシートの一部を構築する、より複雑なシステムを図62に示す。赤いボックス内の数字は、変換の適用順序を示している。最初にCOが収集され、次にグラフェンシートが拡張される。
After collecting the 5 molecules, the scenario shown in FIG. 61 is obtained.
A more complex system for collecting CO 2 molecules to build a portion of the graphene sheet is shown in FIG. The numbers in the red box indicate the order in which the conversions are applied. First CO 2 is collected and then the graphene sheet is expanded.

衛星回転
変換を使用して、3Dメッシュなどのオブジェクトを移動および回転させることができる。
Satellite rotation transformations can be used to move and rotate objects such as 3D meshes.

手動回転
図63に示す変換により、3D衛星を回転させることが可能である。
Manual rotation It is possible to rotate the 3D satellite by the transformation shown in FIG. 63.

この変換を衛星の3Dモデルに複数回適用すると、図64に示す出力ユニバースの一連の状態が得られる。 Applying this transformation to a 3D model of a satellite multiple times yields a series of states in the output universe shown in FIG.

自動信号ファインダ変換
衛星自体を特定の信号に自動的に向ける衛星が必要である場合、図65に示す変換のセットを使用することができ、この変換のセットは、衛星の中心z軸間の角度が、それぞれの平面内で信号源から20度を超えて異なるときに、衛星をそれぞれの平面内で回転させる。
Automatic signal finder transformations If you need a satellite that automatically directs the satellite itself to a particular signal, you can use the set of transformations shown in Figure 65, which is the angle between the satellite's central z-axis. Rotates the satellite in each plane when it differs by more than 20 degrees from the signal source in each plane.

この変換セットに加えて、角度が180以上であるときに他の方向に回転すると、衛星が自律的にアンテナをその信号に向けることを可能にする変換のセットが得られる。回転を有効化し、また衛星回転増分を1度にするために20度の閾値の代わりに1度の閾値を使用することによって、より高い精度を実現することができる。 In addition to this set of conversions, rotation in other directions when the angle is 180 or greater gives a set of conversions that allows the satellite to autonomously point its antenna at its signal. Higher accuracy can be achieved by enabling rotation and using a 1 degree threshold instead of a 20 degree threshold to make the satellite rotation increment 1 degree.

キーボードによって有効化される回転
回転の適用は、図66に示すように、キーボードの矢印キーを押すことによってトリガすることができる。
Rotations Activated by the Keyboard The application of rotations can be triggered by pressing the arrow keys on the keyboard, as shown in FIG.

衛星を回転させるためのユーザインターフェースまたは現実の物理ボタン
図67の変換の入力サイトに示されている線は、YZ平面内の線に接続されている。エフェクト内の衛星は絶対位置にあると考えられ、衛星が以前に方向付けられていた場所に関係なく、この方向に置き換えられることに留意されたい。
User interface for rotating satellites or real physical buttons The lines shown at the transformation input site of FIG. 67 are connected to the lines in the YZ plane. Note that the satellites in the effect are considered to be in absolute position and will be replaced in this direction regardless of where the satellites were previously oriented.

自動車およびタイムライン
各ステップにおいて、またはシステムが変化するたびに、システムの状態を記録してメモリに保存することができる。これにより、上で説明したようにシステムのタイムラインが構築される。
Vehicles and Timelines At each step or as the system changes, the state of the system can be recorded and stored in memory. This builds a timeline for the system as described above.

変換が適用されると、システムのステップ数が増加する。本例では、システム内で変換が適用されるたびに、ステップ数が1だけ増加すると仮定される。ステップ数は必ずしも整数である必要はなく、実数の増分によって増加する実数とすることもできることを理解されたい。実数ステップの例は、時間の経過をステップとして説明するためのものである。さらに、本発明の1つの実施形態では、変換は、離散的にではなく連続的に適用することができる。 When the transformation is applied, the number of steps in the system increases. In this example, it is assumed that the number of steps is increased by 1 each time the transformation is applied in the system. It should be understood that the number of steps does not necessarily have to be an integer, but can be a real number that increases with the increment of the real number. The example of a real step is for explaining the passage of time as a step. Moreover, in one embodiment of the invention, the transformation can be applied continuously rather than discretely.

このシステムは、種々のタイプの変換に従って移動する自動車を記述する。図68に示す変換を用いて、ステップ0とステップ50との間で、x方向における自動車の平均速度を計算することができる。入力サイトにおいて、ステップ0およびステップ50における自動車の状態に関する情報がアクセスされる。透明な自動車は、自動車が先行するステップからのものであることを示すために使用される。 This system describes a vehicle moving according to various types of transformations. Using the transformation shown in FIG. 68, the average speed of the vehicle in the x direction can be calculated between step 0 and step 50. At the input site, information about the state of the vehicle in step 0 and step 50 is accessed. A transparent car is used to indicate that the car is from the preceding step.

変換を用いてタイムラインにアクセスすることによって、速度、加速度、導関数および他の多くの概念のモデル化を求めることが可能である。 By accessing the timeline with transformations, it is possible to seek modeling of velocities, accelerations, derivatives and many other concepts.

自動車の実際の速度の測定値をモデル化して走行距離計に投影することは、図69および図70に示す変換を用いて行われる。本事例において、「実際の」とは、この変換が適用されようとしている瞬間のステップの値を意味する。現在の速度を得るために、最後の5つのステップの平均速度が計算されることに留意されたい。図69の変換は、PresentSpeed(現在の速度)を出力ユニバースに挿入することを可能にする。 Modeling and projecting the actual speed measurements of the vehicle onto the mileage meter is done using the transformations shown in FIGS. 69 and 70. In this case, "actual" means the value of the step at the moment when this transformation is about to be applied. Note that the average speed of the last 5 steps is calculated to get the current speed. The transformation in FIG. 69 allows the PresentSpeed to be inserted into the output universe.

図70の変換は、PresentSpeedを以前の出力ユニバースから取得し、速度の数を黒い四角形に青色で書き込む。次に、図0に示すように、走行距離計の画像に青色の数字および正方形を重ねる。「追加」という語は、走行距離計が置き換えられず、数字を有する黒い四角が走行距離計の画像に追加されることを意味する。 The transformation in FIG. 70 takes the PresentSpeed from the previous output universe and writes the number of velocities in a black rectangle in blue. Next, as shown in FIG. 70 , a blue number and a square are superimposed on the image of the mileage meter. The word "addition" means that the rangefinder is not replaced and a black square with numbers is added to the image of the rangefinder.

変換表記
上記の変換表記は単なる例示であることを理解されたい。
Conversion notation Please understand that the above conversion notation is merely an example.

たとえば、変換は、エフェクトおよび出力サイトから構成される2部分として記述することもできる。この場合、入力として機能するフォームを特定する必要がある。これは、変換のエフェクト、出力サイト、およびデータを初期化するためにフォームを使用する必要があるためである。 For example, a conversion can be described as a two-part consisting of an effect and an output site. In this case, you need to identify the form that will serve as input. This is because the conversion effects, output sites, and the form need to be used to initialize the data.

変換および構造は、必要性およびモデル化コンテキストに応じて異なる方法で表示することができることも理解されたい。たとえば、図72の変換は、よりコンパクトな記述を示す図73に示す変換に置き換えることができる。 It should also be understood that transformations and structures can be displayed in different ways depending on the needs and modeling context. For example, the transformation of FIG. 72 can be replaced with the transformation shown in FIG. 73, which shows a more compact description.

向きおよび照合
変換が入力サイトを入力ユニバースのフォームと照合するとき、本発明の一部の実施形態では、一致はリテラルとすることができ、または回転および変換を可能にすることができる。
When the orientation and matching transformation matches the input site with the form of the input universe, in some embodiments of the invention the match can be literal or can be rotated and transformed.

上記の単純なシステムでは、出力ユニバースでの一致はリテラルであった。
上記の二酸化炭素コレクタでは、入力ユニバースでの一致はリテラルではない。異なる方向に向いている分子を選択することができる。
In the simple system above, the match in the output universe was literal.
In the above carbon dioxide collector, the match in the input universe is not literal. You can select molecules that are oriented in different directions.

相互接続
入力サイトは、複数の異なるエフェクトに接続することができる。エフェクトは複数の出力サイトに接続することができる。入力サイトは、複数の入力ユニバースに接続することができる。出力サイトは、複数の出力ユニバースに接続することができる。
Interconnect Input sites can connect to a number of different effects. Effects can be connected to multiple output sites. The input site can connect to multiple input universes. The output site can connect to multiple output universes.

出力ユニバースは変換とすることができ、入力ユニバースを変換とすることもできる。
さらに、単一の入力サイトを、その入力サイト、エフェクト、出力サイト、およびデータから構成される完全な変換に接続することができる。入力サイトは、変換のセットまたはさらにはユニバースに接続することもできる。同様に、単一の出力サイトを3部分変換、変換のセット、またはユニバースに接続することができる。
The output universe can be a conversion, and the input universe can be a conversion.
In addition, a single input site can be connected to a complete transformation consisting of that input site, effects, output sites, and data. The input site can also connect to a set of conversions or even a universe. Similarly, a single output site can be connected to a tripartic transformation, a set of transformations, or a universe.

グラフィカルユーザインターフェース(GUI)
以下に、変換の定義に使用することができるグラフィカルユーザインターフェース(GUI)を示す。図74に示すように、GUIは、変換を視覚的に作成することができる第1の部分と、出力ユニバースを表現することができる第2の部分とを備える。
Graphical User Interface (GUI)
Below is a graphical user interface (GUI) that can be used to define the transformation. As shown in FIG. 74, the GUI comprises a first part where the transformation can be visually created and a second part where the output universe can be represented.

GUIの第1の部分は5つのウィンドウを備える。第1のウィンドウにおいて、入力サイトを視覚的にまたはグラフィックで表現することができる。第2のウィンドウはエフェクトを視覚的に定義するために使用され、一方、第3のウィンドウは出力サイトに含まれるフォームを視覚的に表現するために使用される。第4のウィンドウは出力範囲を視覚的に表現するために使用され、第5のウィンドウは変換データを入力するために使用される。 The first part of the GUI comprises five windows. In the first window, the input site can be represented visually or graphically. The second window is used to visually define the effect, while the third window is used to visually represent the form contained in the output site. The fourth window is used to visually represent the output range, and the fifth window is used to input the conversion data.

1つの実施形態では、図88に示すように、範囲なしの変換が左に表示され、ユニバースが側に表示される。 In one embodiment, the unranged transformation is displayed on the left and the universe is displayed on the right , as shown in FIG. 88.

1つの実施形態では、GUIは、入力ユニバースを視覚的に表現するための第3の部分を含むことができる。 In one embodiment, the GUI can include a third part for visually representing the input universe.

1つの実施形態では、変換および変換のシーケンスは、ユニバース内に直接表現することができる。 In one embodiment, the transformation and the sequence of transformations can be represented directly within the universe.

1つの実施形態では、変換のシーケンスは、単一の表現の下でグループ化することができる。 In one embodiment, the sequence of transformations can be grouped under a single representation.

1つの実施形態では、変換のシーケンスは、それらがどのように適用されるかを示すために、2Dで、または変換表現間の線、矢印(または他の形状)を用いて表現することができる。 In one embodiment, the sequences of transformations can be represented in 2D or using lines, arrows (or other shapes) between transformation representations to show how they are applied. ..

1つの実施形態では、変換のシーケンスは、それらがどのように適用されるかを示すために、変換表現間の線、3D矢印(または他の形状)を用いて3D空間内に配置することができる。 In one embodiment, the sequences of transformations may be placed in 3D space using lines, 3D arrows (or other shapes) between the transformation representations to show how they are applied. can.

1つの実施形態では、出力範囲を表現するための第4のウィンドウは省略されてもよい。同じまたは別の実施形態では、GUIの第1の部分は、入力範囲を視覚的に表現するためのウィンドウを含むことができる。 In one embodiment, the fourth window for representing the output range may be omitted. In the same or another embodiment, the first part of the GUI can include a window for visually representing the input range.

変換を作成するために、まず、ユーザはライブラリから出力ユニバース内の3Dモデルなどのフォームをインポートするか、または、GUIの左上にある「幾何形状タブ」の要素を使用することによって基本的な3Dモデルを作成する。この例では、図75に示すように、ユーザはユニバース内に四面体を作成する。 To create the transformation, the user first imports a form such as a 3D model in the output universe from the library, or uses the "Geometry Tab" element at the top left of the GUI to create a basic 3D. Create a model. In this example, as shown in FIG. 75, the user creates a tetrahedron in the universe.

次に、ユーザは四面体から面を選択し、図76に示すように、変換の出力サイトにドラッグアンドドロップする。 The user then selects a face from the tetrahedron and drags and drops it onto the conversion output site, as shown in FIG.

図77に示すように、ユーザは出力サイトの内容全体をエフェクトにコピーする。
次に、ユーザは、フォームを追加することにより、または、幾何形状タブの要素を使用するかもしくは3Dモデルを手動で変更することによってエフェクトウィンドウに含まれるフォームの幾何形状を変更することにより、エフェクトウィンドウ内にエフェクトを作成する。代替的に、ユーザはライブラリから3Dモデルをインポートしてもよい。この例では、図78に示すように、三角形上により小さい四面体が追加されている。
As shown in FIG. 77, the user copies the entire contents of the output site into the effect.
The user can then change the geometry of the form contained in the effect window by adding a form, using the elements of the Geometry tab, or manually changing the 3D model. Create an effect in the window. Alternatively, the user may import the 3D model from the library. In this example, as shown in FIG. 78, a smaller tetrahedron is added on the triangle.

図79に示すように、次いで、ユーザは変換データを入力する。たとえば、ユーザは変換のデータ内で「すべて」のラジオボタンをクリックし、「チェックマーク」を4回クリックして、この変換をユニバースに注入することができる。「すべて」ボタンは、変換が、出力サイトの三角形と一致するユニバースのすべての三角形に適用されることを示す。 As shown in FIG. 79, the user then inputs the conversion data. For example, the user can click the "All" radio button in the conversion data and click the "Checkmark" four times to inject this conversion into the universe. The All button indicates that the transformation is applied to all triangles in the universe that match the triangle at the output site.

ユーザが「ステップ(Step)」ボタンを押すと、変換が1回適用される。四面体の各三角形は、より小さい四面体を有する三角形に置き換えられる。結果のフォームを図80に示す。 When the user presses the "Step" button, the conversion is applied once. Each triangle of the tetrahedron is replaced by a triangle with a smaller tetrahedron. The resulting form is shown in FIG.

ユーザが「再生(Play)」を押すと、他の3つの変換が連続して適用されて、次の複雑なフラクタルが与えられて、図81に示すフォームが得られる。 When the user presses "Play", the other three transformations are applied in succession, given the following complex fractals, resulting in the form shown in FIG. 81.

変換の入力サイト、出力サイトおよびエフェクトの使用
ここで、入力サイトを有する変換を使用しながら、同じ例を説明する。この場合、テキスト、値、3Dモデル、またはデータをユニバースに追加することができる。本例では、図82に示すように、「D=2」というテキストがユニバースに追加される。
Using Transform Input Sites, Output Sites, and Effects Here, the same example is illustrated while using a transform that has input sites. In this case, text, values, 3D models, or data can be added to the universe. In this example, the text "D = 2" is added to the universe, as shown in FIG.

図83に示すように、ユーザはテキスト「D=x」を入力サイトに追加する。「x」は、出力サイトが「D=x」のフォームのオブジェクトに一致することを示す。「x」は何であってもよい。次に、ユーザはエフェクト(または任意選択的に出力サイト)内でその値「x」が使用される場所を示す。この例では、値「x」が三角形のより小さい四面体の高さに割り当てられる。 As shown in FIG. 83, the user adds the text "D = x" to the input site. An "x" indicates that the output site matches an object of the form "D = x". The "x" can be anything. The user then indicates where in the effect (or optionally the output site) the value "x" is used. In this example, the value "x" is assigned to the height of the smaller tetrahedron of the triangle.

ラジオボタン「すべて」を選択して変換を注入および適用した後、変換は入力サイトをユニバースからのテキスト「D=2」と照合する。次に、図84に示すように、値「2」がエフェクト内の「x」に置き換わる。適用される変換のエフェクトおよび出力サイトが計算される。 After selecting the radio button "All" to inject and apply the transformation, the transformation matches the input site with the text "D = 2" from the universe. Next, as shown in FIG. 84, the value "2" is replaced with "x" in the effect. The effect of the transformation applied and the output site are calculated.

変換を4回適用した結果のユニバースを図85~図88に示す。
動的入力
前の例では、「D=2」というテキストはユニバース内で常に同じである。より動的で変化する入力を使用することができる。
The universe as a result of applying the transformation four times is shown in FIGS. 85 to 88.
Dynamic input In the previous example, the text "D = 2" is always the same in the universe. More dynamic and variable inputs can be used.

I)変換は、変換の各適用後に、値「D=2」を何らかのより大きい値に変更することができる。たとえば、図89に示すように、変換は、「D=2」を「D=x+0.5」によって計算された「D=2.5」に変更しながら、三角形に四面体を追加することができる。 I) The conversion can change the value "D = 2" to some larger value after each application of the conversion. For example, as shown in FIG. 89, the transformation can add a tetrahedron to the triangle while changing "D = 2" to "D = 2.5" calculated by "D = x + 0.5". can.

変換の最初の適用は、追加されている四面体に2の高さ、2.5の第2の高さ、3の第3の高さなどを与える。言い換えれば、変換の高さは、ユニバース内の「D」の初期値、および、この変換が適用された回数に依存する。 The first application of the transformation gives the added tetrahedron a height of 2, a second height of 2.5, a third height of 3, and so on. In other words, the height of the conversion depends on the initial value of "D" in the universe and the number of times this conversion has been applied.

II)入力は、他の複数の変換の適用下でユニバースが変化するときにそれら自体変更される、ユニバース内の他の形状から抽出することができる。たとえば、「x」は、オブジェクト間の2点間の距離から取得することができる。 II) Inputs can be extracted from other shapes in the universe that change themselves as the universe changes under the application of multiple other transformations. For example, "x" can be obtained from the distance between two points between objects.

変換の範囲
a)上記のステップを実行した後、ユーザは、図90に示すように、変換の右下のメニューの適切なボタンをクリックすることにより変換の出力範囲を使用して、変換の出力範囲内のユニバースのすべてのデータをコピーすることを決定することができる。
Scope of conversion a) After performing the above steps, the user can use the output range of the conversion to output the conversion by clicking the appropriate button in the menu at the bottom right of the conversion, as shown in Figure 90. You can decide to copy all the data in the universe within range.

b)ユーザは、範囲の四面体のいくつかの面を選択することができる。削除ボタンを押すことによって、選択した面が削除される。図91に示す例では、2つの面のみが保持されている。すなわち、変換は、範囲内にまだ存在する面に対応するユニバースの四面体の面にのみ適用される。 b) The user can select some faces of the tetrahedron of the range. By pressing the delete button, the selected face is deleted. In the example shown in FIG. 91, only two faces are held. That is, the transformation applies only to the tetrahedral faces of the universe that correspond to the faces that are still in range.

この例では、図92に示すように、変換の1回の適用後に、結果として得られるユニバースには、左面および底面により小さい四面体が配置された四面体を含む。 In this example, as shown in FIG. 92, after one application of the transformation, the resulting universe includes tetrahedra with smaller tetrahedra arranged on the left and bottom surfaces.

変換の記録
ユニバース内で行われた手動の変更は、変換として記録することができる。
Recording a conversion Manual changes made within the universe can be recorded as a conversion.

たとえば、図93に示すように、ユーザはユニバースに、一方の端に点のある線分を追加することができる。これは、「幾何形状タブ」構成要素を使用することによって行うことができる。 For example, as shown in FIG. 93, the user can add a line segment with a point at one end to the universe. This can be done by using the "Geometry Tab" component.

ユーザは、ユーザインターフェースの下部にある「記録」ボタンを押す。記録ボタンが押されなくなるまで、変換が作成され、ユーザがユニバース内で行う手動の変更が記録される。 The user presses the "Record" button at the bottom of the user interface. The conversion is created and the manual changes made by the user in the universe are recorded until the record button is no longer pressed.

ユーザが線分をクリックし、手動で約20度回転させる。次に、図94に示すように、変換が作成され、左側に表示される。 The user clicks on the line segment and manually rotates it about 20 degrees. The transformation is then created and displayed on the left, as shown in FIG. 94.

ユーザは、記録された変換に満足している場合、記録ボタンの選択を解除する。次に、変換のデータの「回数」ボックスに「12」を入力した後、図95に示すように、記録された変換がユニバースに注入される。 The user deselects the record button if he is satisfied with the recorded conversion. Next, after entering "12" in the "Number of times" box of the conversion data, the recorded conversion is injected into the universe, as shown in FIG. 95.

「再生」を押した後、図96に示すように、ユニバースの線分が12回回転する。
注入された変換の編集
ユニバース(限定ではないが、2Dまたは3D空間であり得る)に注入された変換は、編集および変更することができる。図97は、記録された変換のシーケンスを提示するインターフェースを示している。変換のシーケンスにおいて、ユーザは変換の1つをダブルクリックすることができる。
After pressing "Play", the universe line segment rotates 12 times, as shown in FIG. 96.
Editing Injected Transformations Transformations injected into the universe (which can be, but are not limited to, 2D or 3D space) can be edited and modified. FIG. 97 shows an interface that presents a sequence of recorded transformations. In the conversion sequence, the user can double-click on one of the conversions.

ダブルクリックの結果、GUIに変換が表示される。次に、ユーザは変更のために特定の変換を編集することができる。変換を変更した後、ユーザは変換を保存することができ、変換が適用される番になると、変換は異なる動作をする。 As a result of double-clicking, the conversion is displayed in the GUI. The user can then edit a particular transformation for modification. After changing the conversion, the user can save the conversion, and when it is time for the conversion to be applied, the conversion behaves differently.

シーケンスでは、変換を上下にドラッグして並べ替えることができる。
1つの実施形態では、本方法およびシステムの目的は、モデル、シミュレーション、通信、および最適化を作成し、すべての領域の知識に対して実装することができる汎用システムを提供することである。本方法に基づいて、単一のシステムおよびパラダイムの下で、すべての知識および応用形態を統合することができる。ここで、以下では、汎用システムを「フレームワーク」と呼ぶ。
In sequences, you can drag the transformations up and down to reorder them.
In one embodiment, the object of the method and system is to provide a general purpose system that can create models, simulations, communications, and optimizations and implement them for knowledge in all areas. Based on this method, all knowledge and applications can be integrated under a single system and paradigm. Here, the general-purpose system will be referred to as a "framework" below.

上述した本発明の実施形態は、単なる例示であることが意図されている。したがって、本発明の範囲は、添付の特許請求の範囲によってのみ限定されることが意図されている。 The embodiments of the present invention described above are intended to be merely exemplary. Therefore, the scope of the invention is intended to be limited only by the appended claims.

Claims (21)

処理ユニットデバイスであって、
前記処理ユニットデバイスの動作を制御する少なくとも1つの制御ユニットと、
前記少なくとも1つの制御ユニットによって実行される変換に関連付けられる少なくとも1つの変換ブロックを含む変換論理ユニットであり、前記変換は、出力ユニバースに含まれる出力サイトフォームを含む出力サイトに適用されるエフェクトを含み、前記出力ユニバースは階層データ構造を含み、前記エフェクトは所与の階層データ部分構造における特性の変更に関連付けられており、前記少なくとも1つの変換ブロックの各々は、エフェクトブロックおよび出力サイトブロックを含み、前記エフェクトブロックは、前記エフェクトに関する情報を記憶するための少なくとも1つの第1の記憶ユニットを含み、前記出力サイトブロックは、前記出力サイトに関する情報を記憶するための少なくとも1つの第2の記憶ユニットを含む、変換論理ユニットと、
ユーザグラフィカルインターフェースを含む表示ユニットとを備え、前記ユーザグラフィカルインターフェースは、
前記出力ユニバースと、前記出力ユニバースに含まれる前記出力サイトフォームを含む前記出力サイトに適用される前記エフェクトとを表現するための第1のセクションと、
前記変換のグラフィック表現を表示するための第2のセクションとを含む、処理ユニットデバイス。
It is a processing unit device
At least one control unit that controls the operation of the processing unit device, and
A transformation logic unit that includes at least one transformation block associated with a transformation performed by the at least one control unit, wherein the transformation includes effects applied to the output site, including the output site form contained in the output universe. , The output universe comprises a hierarchical data structure, the effect is associated with a change in properties in a given hierarchical data substructure, and each of the at least one transformation block comprises an effect block and an output site block. The effect block includes at least one first storage unit for storing information about the effect, and the output site block contains at least one second storage unit for storing information about the output site. Including, conversion logic unit and
The user graphical interface comprises a display unit including a user graphical interface.
A first section for representing the output universe and the effect applied to the output site, including the output site form contained within the output universe.
A processing unit device comprising a second section for displaying a graphic representation of the transformation.
前記少なくとも1つの制御ユニットは、前記変換のためのパラメータを定義する変換データを含むフォーム変換命令セットを使用してさらに前記変換を実行するように構成されている、請求項1に記載の処理ユニットデバイス。 The processing unit according to claim 1, wherein the at least one control unit is configured to further perform the conversion using a form conversion instruction set containing conversion data defining parameters for the conversion. device. 前記少なくとも1つの制御ユニットは、前記変換論理ユニットに含まれる、請求項1に記載の処理ユニットデバイス。 The processing unit device according to claim 1, wherein the at least one control unit is included in the conversion logic unit. 前記少なくとも1つの制御ユニットは、前記少なくとも1つの変換ブロックのうちの1つに含まれる、請求項3に記載の処理ユニットデバイス。 The processing unit device according to claim 3, wherein the at least one control unit is included in one of the at least one conversion block. 前記少なくとも1つの制御ユニットは複数の制御ユニットを含み、前記少なくとも1つの変換ブロックは複数の変換ブロックを含み、前記複数の制御ユニットの各々は前記複数の変換ブロックのうちのそれぞれの変換ブロックに含まれる、請求項4に記載の処理ユニットデバイス。 The at least one control unit includes a plurality of control units, the at least one conversion block includes a plurality of conversion blocks, and each of the plurality of control units is included in each conversion block among the plurality of conversion blocks. The processing unit device according to claim 4. 前記少なくとも1つの制御ユニットは、前記エフェクトブロックに含まれる少なくとも1つの第1の論理ユニットおよび前記出力サイトブロックに含まれる少なくとも1つの第2の論理ユニットを含む、請求項5に記載の処理ユニットデバイス。 The processing unit device according to claim 5, wherein the at least one control unit includes at least one first logical unit included in the effect block and at least one second logical unit included in the output site block. .. 前記出力ユニバースに関する情報は、前記第1の記憶ユニットのいくつかおよび前記第2の記憶ユニットのいくつかのうちの少なくとも1つに記憶される、請求項1に記載の処理ユニットデバイス。 The processing unit device of claim 1, wherein the information about the output universe is stored in at least one of some of the first storage units and some of the second storage units. 前記少なくとも1つの第1の記憶ユニットおよび前記少なくとも1つの第2の記憶ユニットは、レジスタを含む、請求項1に記載の処理ユニットデバイス。 The processing unit device according to claim 1, wherein the at least one first storage unit and the at least one second storage unit include a register. 前記少なくとも1つの変換ブロックの各々は、前記出力サイトブロックと、入力ユニバースに含まれる入力サイトに関する情報を記憶するための少なくとも1つの第3の記憶ユニットを含む入力サイトブロックの両方を含む、請求項1に記載の処理ユニットデバイス。 Each of the at least one conversion block comprises both the output site block and an input site block containing at least one third storage unit for storing information about the input site contained in the input universe. The processing unit device according to 1. 前記少なくとも1つの変換ブロックの各々は、
前記入力ユニバースの部分空間を規定する入力範囲に関する情報を記憶するための少なくとも1つの第4の記憶ユニットを備える入力サイト範囲ブロックと、
前記出力ユニバースの部分空間を規定する出力範囲に関する情報を記憶するための少なくとも1つの第5の記憶ユニットを備える出力サイト範囲ブロックとをさらに備える、請求項9に記載の処理ユニットデバイス。
Each of the at least one conversion block
An input site range block comprising at least one fourth storage unit for storing information about an input range defining a subspace of the input universe.
The processing unit device of claim 9, further comprising an output site range block comprising at least one fifth storage unit for storing information about an output range defining a subspace of the output universe.
プログラミングのためのコンピュータにより実行される方法であって、前記コンピュータにより実行される方法は、非一時的な記憶媒体に動作可能に接続された処理ユニットによって実行され、前記コンピュータにより実行される方法は、
(1)所与の階層データ部分構造を含む出力サイトフォームを含む出力サイトと、(2)前記所与の階層データ部分構造における特性の変更に関連付けられているエフェクトとを少なくとも含む変換を、前記非一時的な記憶媒体から受信することと、
前記出力サイトフォームと一致する出力ユニバース内の少なくとも1つのフォームを識別することにより、前記変換が適用される出力一致を得ることとを備え、前記出力ユニバースは階層データ構造を含み、前記コンピュータにより実行される方法はさらに、
前記出力一致に前記エフェクトを適用することにより、変更された出力一致を得ることを備え、前記変更された出力一致は、前記特性が変更された少なくとも1つの一致した所与の階層データ部分構造を含み、前記コンピュータにより実行される方法はさらに、
前記変更された出力一致を出力することと、
前記出力ユニバースを表現するための第1のセクションおよび前記変換のグラフィック表現を表示するための第2のセクションを含むユーザグラフィカルインターフェースを表示することとを備え、前記変更された出力一致を出力することは、前記ユーザグラフィカルインターフェースの前記第1のセクション内に前記変更された出力一致を表示することを含む、コンピュータにより実行される方法。
A method performed by a computer for programming, wherein the method performed by the computer is performed by a processing unit operably connected to a non-temporary storage medium, and a method performed by the computer. ,
A transformation comprising (1) an output site containing an output site form containing a given hierarchical data substructure and (2) at least an effect associated with a change in properties in the given hierarchical data substructure. Receiving from non-temporary storage media and
By identifying at least one form in the output universe that matches the output site form, the output universe comprises obtaining an output match to which the transformation is applied, the output universe containing a hierarchical data structure and executed by the computer. How to be done further
The effect is applied to the output match to obtain a modified output match, wherein the modified output match has at least one matched hierarchical data substructure with altered characteristics. Including, the methods performed by said computer further
To output the modified output match and
To display the modified output match, comprising displaying a user graphical interface that includes a first section for representing the output universe and a second section for displaying the graphic representation of the transformation. Is a method performed by a computer, comprising displaying the modified output match within the first section of the user graphical interface.
前記出力することは、前記出力ユニバースおよび前記出力ユニバース内の前記変更された出力一致のグラフィック表示を表示することを含む、請求項11に記載のコンピュータにより実行される方法。 The method performed by a computer according to claim 11, wherein the output comprises displaying a graphic display of the output universe and the modified output match within the output universe. 前記変換は、前記変換のためのパラメータを定義する変換データをさらに含み、取り出された前記出力一致に前記エフェクトを適用することは、前記変換データを使用して実施される、請求項11に記載のコンピュータにより実行される方法。 11. The conversion further comprises transformation data defining parameters for the transformation, and applying the effect to the retrieved output match is performed using the transformation data, claim 11. The method performed by the computer. 前記変換は、入力サイトフォームを含む入力サイトをさらに含み、前記入力サイトフォームは別の所与の階層データ部分構造を含み、前記方法は、前記入力サイトフォームと一致する入力ユニバース内の少なくとも別のフォームを識別することによって、前記入力サイトとの入力一致を得ることをさらに備え、前記入力ユニバースは別の階層データ構造を含み、取り出された前記出力一致に前記エフェクトを適用することは、取り出された前記入力一致に関連する情報を使用して実施される、請求項11に記載のコンピュータにより実行される方法。 The transformation further comprises an input site containing an input site form, the input site form comprises another given hierarchical data substructure, and the method is at least another in an input universe that matches the input site form. Further comprising obtaining an input match with the input site by identifying the form, the input universe contains another hierarchical data structure, and applying the effect to the retrieved output match is retrieved. The method performed by the computer according to claim 11, which is performed using the information related to the input match. 前記出力ユニバースを表現するための第1のセクション、前記エフェクトを規定するための第2のセクション、および前記入力ユニバースを表現するための第3のセクションを含むユーザグラフィカルインターフェースを表示することをさらに備える、請求項14に記載のコンピュータにより実行される方法。 It further comprises displaying a user graphical interface comprising a first section for representing the output universe, a second section for defining the effect, and a third section for representing the input universe. , The method performed by the computer according to claim 14. 前記入力サイトを前記グラフィカルユーザインターフェースの前記第3のセクションに表示することと、
前記エフェクトのグラフィック表現を前記グラフィカルユーザインターフェースの前記第2のセクションに表示することと、
前記出力サイトを前記グラフィカルユーザインターフェースの前記第1のセクションに表示することとをさらに備える、請求項15に記載のコンピュータにより実行される方法。
Displaying the input site in the third section of the graphical user interface.
Displaying the graphic representation of the effect in the second section of the graphical user interface.
15. The method performed by a computer according to claim 15, further comprising displaying the output site in the first section of the graphical user interface.
入力範囲および出力範囲のうちの少なくとも1つを受信することをさらに備え、前記入力範囲は、前記入力ユニバースの部分空間を規定し、前記出力範囲は、前記出力ユニバースの部分空間を規定し、前記入力一致は、前記入力ユニバースの前記部分空間から選択され、前記出力一致は、前記出力ユニバースの前記部分空間から選択される、請求項14に記載のコンピュータにより実行される方法。 Further comprising receiving at least one of an input range and an output range, the input range defines a subspace of the input universe, the output range defines a subspace of the output universe, said. 14. The method performed by a computer according to claim 14, wherein the input match is selected from the subspace of the input universe and the output match is selected from the subspace of the output universe. 前記出力ユニバースを表現するための第1のセクション、前記エフェクトを規定するための第2のセクション、前記入力ユニバースを表現するための第3のセクション、前記出力範囲を表示するための第4のセクション、および前記入力範囲を表示するための第5のセクションを含むユーザグラフィカルインターフェースを表示することをさらに備える、請求項17に記載のコンピュータにより実行される方法。 A first section for representing the output universe, a second section for defining the effect, a third section for representing the input universe, and a fourth section for displaying the output range. , And a method performed by a computer according to claim 17, further comprising displaying a user graphical interface including a fifth section for displaying the input range. 前記入力サイトを前記グラフィカルユーザインターフェースの前記第3のセクションに表示することと、
前記エフェクトのグラフィック表現を前記グラフィカルユーザインターフェースの前記第2のセクションに表示することと、
前記出力サイトを前記グラフィカルユーザインターフェースの前記第1のセクションに表示することと、
前記出力範囲のグラフィック表現を前記グラフィカルユーザインターフェースの前記第4のセクションに表示することと、
前記入力範囲のグラフィック表現を前記グラフィカルユーザインターフェースの前記第5のセクションに表示することとをさらに備える、請求項15に記載のコンピュータにより実行される方法。
Displaying the input site in the third section of the graphical user interface.
Displaying the graphic representation of the effect in the second section of the graphical user interface.
Displaying the output site in the first section of the graphical user interface.
Displaying a graphic representation of the output range in the fourth section of the graphical user interface.
15. The method performed by a computer according to claim 15, further comprising displaying a graphic representation of the input range in said fifth section of the graphical user interface.
前記変換は、入力ユニバースに含まれる入力サイトからの情報によって変更される第2のエフェクトをさらに含み、前記変換ブロックは入力サイトブロックをさらに含み、前記入力サイトブロックは、前記入力サイトに関する情報を記憶するための少なくとも1つの第2の記憶ユニットを含む、請求項1に記載の処理ユニットデバイス。 The transformation further comprises a second effect that is modified by information from the input site contained in the input universe, the transformation block further comprises an input site block, and the input site block stores information about the input site. The processing unit device of claim 1, comprising at least one second storage unit for the purpose of 少なくとも1つのコンピュータプロセッサによって実行可能なコンピュータ命令を備える非一時的なコンピュータ読取可能媒体であって、前記コンピュータ命令は、
(1)所与の階層データ部分構造を含む出力サイトフォームを含む出力サイトと、(2)前記所与の階層データ部分構造における特性の変更に関連付けられているエフェクトとを少なくとも含む変換を受信するコンピュータ命令と、
前記出力サイトフォームと一致する出力ユニバース内の少なくとも1つのフォームを識別することにより、前記変換が適用される出力一致を得るコンピュータ命令とを含み、前記出力ユニバースは階層データ構造を含み、前記コンピュータ命令はさらに、
前記出力一致に前記エフェクトを適用することにより、変更された出力一致を得るコンピュータ命令を含み、前記変更された出力一致は、前記特性が変更された少なくとも1つの一致した所与の階層データ部分構造を含み、前記コンピュータ命令はさらに、
前記変更された出力一致を出力するコンピュータ命令と、
前記出力ユニバースを表現するための第1のセクションおよび前記変換のグラフィック表現を表示するための第2のセクションを含むユーザグラフィカルインターフェースを表示するコンピュータ命令とを含み、前記変更された出力一致を出力することは、前記ユーザグラフィカルインターフェースの前記第1のセクション内に前記変更された出力一致を表示することを含む、非一時的なコンピュータ読取可能媒体。
A non-temporary computer-readable medium comprising computer instructions that can be executed by at least one computer processor, said computer instructions.
Receives a transformation that includes (1) an output site containing an output site form containing a given hierarchical data substructure and (2) at least the effects associated with changing properties in the given hierarchical data substructure. Computer instructions and
Includes a computer instruction to obtain an output match to which the transformation applies by identifying at least one form in the output universe that matches the output site form, the output universe comprising a hierarchical data structure, said computer instruction. Furthermore,
The modified output match comprises a computer instruction to obtain a modified output match by applying the effect to the output match, wherein the modified output match is at least one matched hierarchical data substructure with modified characteristics. The computer instructions further include
A computer instruction that outputs the modified output match, and
Includes a computer instruction to display a user graphical interface that includes a first section for representing the output universe and a second section for displaying the graphic representation of the transformation, and outputs the modified output match. That is, a non-temporary computer-readable medium comprising displaying the modified output match within said first section of the user graphical interface.
JP2020567656A 2018-02-27 2019-02-27 Scalable transformation processing unit for heterogeneous data Active JP7349453B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862635627P 2018-02-27 2018-02-27
US62/635,627 2018-02-27
PCT/IB2019/051577 WO2019166967A1 (en) 2018-02-27 2019-02-27 Scalable transform processing unit for heterogeneous data

Publications (3)

Publication Number Publication Date
JP2021515954A JP2021515954A (en) 2021-06-24
JPWO2019166967A5 true JPWO2019166967A5 (en) 2022-03-07
JP7349453B2 JP7349453B2 (en) 2023-09-22

Family

ID=67805124

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020567656A Active JP7349453B2 (en) 2018-02-27 2019-02-27 Scalable transformation processing unit for heterogeneous data

Country Status (7)

Country Link
US (1) US11275556B2 (en)
EP (1) EP3759584A4 (en)
JP (1) JP7349453B2 (en)
KR (1) KR20200124287A (en)
AU (1) AU2019228387A1 (en)
CA (1) CA3048419C (en)
WO (1) WO2019166967A1 (en)

Family Cites Families (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4644461A (en) 1983-04-29 1987-02-17 The Regents Of The University Of California Dynamic activity-creating data-driven computer architecture
US5182642A (en) * 1991-04-19 1993-01-26 General Dynamics Lands Systems Inc. Apparatus and method for the compression and transmission of multiformat data
US5592599A (en) * 1991-12-18 1997-01-07 Ampex Corporation Video special effects system with graphical operator interface
US5768561A (en) * 1992-06-30 1998-06-16 Discovision Associates Tokens-based adaptive video processing arrangement
US5339265A (en) 1992-08-31 1994-08-16 University Of Maryland At College Park Optimal unified architectures for the real-time computation of time-recursive discrete sinusoidal transforms
US5386568A (en) 1992-12-01 1995-01-31 Yamaha Corporation Apparatus and method for linking software modules
KR0136517B1 (en) * 1994-06-18 1999-05-15 조백제 Wavelet change processor using bit-unit pipe line
JP3514947B2 (en) * 1997-06-05 2004-04-05 シャープ株式会社 Three-dimensional image processing apparatus and three-dimensional image processing method
US6061705A (en) * 1998-01-21 2000-05-09 Telefonaktiebolaget Lm Ericsson Power and area efficient fast fourier transform processor
JP2000090290A (en) 1998-07-13 2000-03-31 Sony Corp Device and method for processing image and medium
US7385940B1 (en) * 1999-12-15 2008-06-10 Cisco Technology, Inc. System and method for using a plurality of processors to support a media conference
DE50100620D1 (en) * 2000-05-17 2003-10-16 Ccp Systems Ag METHOD AND SYSTEM FOR TRANSFORMING DIGITAL PRINT DATA FLOWS AND RELATED PRINTERS AND PRINTER SERVER
JP4612782B2 (en) * 2000-09-27 2011-01-12 キヤノン株式会社 Image processing apparatus, method thereof, program, and storage medium
FR2819074B1 (en) * 2000-12-29 2003-02-21 Dominique Bertrand TERMINAL FOR DISPLAY, RETURN, INPUT AND DATA PROCESSING, CONFIGURABLE BY ITS USERS
JP2002252759A (en) * 2001-02-26 2002-09-06 Sanyo Electric Co Ltd Image quantization method and device, and image coder utilizing them
DE50101548D1 (en) * 2001-05-17 2004-04-01 Presmar Peter Virtual database of heterogeneous data structures
ATE323918T1 (en) * 2001-09-21 2006-05-15 Imec Inter Uni Micro Electr A 2D FIFO DEVICE FOR BLOCK-BASED CODING AND METHOD THEREOF
US7088398B1 (en) * 2001-12-24 2006-08-08 Silicon Image, Inc. Method and apparatus for regenerating a clock for auxiliary data transmitted over a serial link with video data
JP2003223428A (en) 2002-01-31 2003-08-08 Fujitsu Ltd Data transfer device
US6885375B2 (en) * 2002-03-11 2005-04-26 Sun Microsystems, Inc. Stalling pipelines in large designs
US6806883B2 (en) * 2002-03-11 2004-10-19 Sun Microsystems, Inc. System and method for handling display device requests for display data from a frame buffer
JP2004007251A (en) * 2002-05-31 2004-01-08 Fuji Xerox Co Ltd Image processor
TW591910B (en) * 2003-01-30 2004-06-11 Quanta Comp Inc Control device of virtual keyboard and mouse
US6862027B2 (en) 2003-06-30 2005-03-01 Microsoft Corp. System and method for parallel execution of data generation tasks
JP4665898B2 (en) * 2004-02-23 2011-04-06 日本電気株式会社 Two-dimensional signal encoding / decoding method and apparatus
JP4403396B2 (en) * 2004-07-13 2010-01-27 ソニー株式会社 IMAGING DEVICE AND IMAGING ELEMENT INTEGRATED CIRCUIT
US7613761B2 (en) * 2005-06-27 2009-11-03 The Aerospace Corporation Haar wavelet transform embedded lossless type II discrete cosine transform
JP4182446B2 (en) * 2006-07-14 2008-11-19 ソニー株式会社 Information processing apparatus and method, program, and recording medium
US8463589B2 (en) * 2006-07-28 2013-06-11 Synopsys, Inc. Modifying a virtual processor model for hardware/software simulation
JP2008089868A (en) * 2006-09-29 2008-04-17 Fujifilm Corp Method and device for acquiring drawing point data and method and device for drawing
JP2008098911A (en) 2006-10-11 2008-04-24 Sony Corp Image processing equipment and method, and program
JP4752726B2 (en) * 2006-10-31 2011-08-17 富士ゼロックス株式会社 Image processing apparatus, image processing system, and image processing program
WO2009019848A1 (en) * 2007-08-03 2009-02-12 Panasonic Corporation Imaging device, imaging method, and program
US8443205B2 (en) * 2008-01-08 2013-05-14 Alcatel Lucent Secure function evaluation techniques for circuits containing XOR gates with applications to universal circuits
US8060857B2 (en) * 2009-01-31 2011-11-15 Ted J. Biggerstaff Automated partitioning of a computation for parallel or other high capability architecture
JP4932917B2 (en) * 2009-04-03 2012-05-16 株式会社エヌ・ティ・ティ・ドコモ Speech decoding apparatus, speech decoding method, and speech decoding program
JPWO2011016250A1 (en) * 2009-08-06 2013-01-10 パナソニック株式会社 Encoding method, decoding method, encoding device, and decoding device
WO2011118156A1 (en) * 2010-03-24 2011-09-29 パナソニック株式会社 Image decoding device, image encoding device, image decoding circuit, and image decoding method
US20110302397A1 (en) * 2010-04-12 2011-12-08 Mitola Iii Joseph Method and Apparatus for Improved Secure Computing and Communications
US8638863B1 (en) * 2010-05-18 2014-01-28 Google Inc. Apparatus and method for filtering video using extended edge-detection
JP5510120B2 (en) 2010-06-29 2014-06-04 ソニー株式会社 Information processing apparatus and information processing method
US8984488B2 (en) * 2011-01-14 2015-03-17 Honeywell International Inc. Type and range propagation through data-flow models
JP5834759B2 (en) * 2011-02-28 2015-12-24 富士通株式会社 Matrix generation program, method and apparatus, and plant control program, method and apparatus
JP5770378B2 (en) * 2011-09-08 2015-08-26 モトローラ モビリティ エルエルシーMotorola Mobility Llc Method and apparatus for quantizing and dequantizing rectangular blocks of coefficients
EP2762196B1 (en) * 2013-01-30 2018-06-13 Les Hôpitaux Universitaires de Genève Device for electrical stimulation of neural or muscular tissue
US9544597B1 (en) * 2013-02-11 2017-01-10 Google Inc. Hybrid transform in video encoding and decoding
GB2523560B (en) * 2014-02-27 2016-08-31 Naturalmotion Ltd Defining an animation of a virtual object within a virtual world
US10353754B2 (en) * 2015-12-31 2019-07-16 Entefy Inc. Application program interface analyzer for a universal interaction platform
US10210518B2 (en) * 2016-04-13 2019-02-19 Abdullah Abdulaziz I. Alnajem Risk-link authentication for optimizing decisions of multi-factor authentications
WO2018035143A1 (en) * 2016-08-15 2018-02-22 Delta Energy & Communications, Inc. Integrated solution of internet of things and smart grid network
US10402173B2 (en) * 2017-02-24 2019-09-03 General Electric Company Systems and methods for arbitrary software logic modeling
US10404454B1 (en) * 2018-04-25 2019-09-03 Blockchain Asics Llc Cryptographic ASIC for derivative key hierarchy
US10983880B2 (en) * 2018-07-31 2021-04-20 Hewlett Packard Enterprise Development Lp Role designation in a high availability node
US11194946B2 (en) * 2018-08-29 2021-12-07 International Business Machines Corporation Optimization of quantum circuits
US10768904B2 (en) * 2018-10-26 2020-09-08 Fuji Xerox Co., Ltd. System and method for a computational notebook interface
CN116569211A (en) * 2019-03-15 2023-08-08 辉达公司 Technique for training neural networks using transformations
US11159609B2 (en) * 2020-03-27 2021-10-26 Intel Corporation Method, system and product to implement deterministic on-boarding and scheduling of virtualized workloads for edge computing

Similar Documents

Publication Publication Date Title
Dong et al. Deep Reinforcement Learning
Chun On software, or the persistence of visual knowledge
Flake The computational beauty of nature: Computer explorations of fractals, chaos, complex systems, and adaptation
JP2021012693A (en) Modeling calculation for functional structure
Terzidis Permutation design: Buildings, texts, and contexts
Bukhari et al. A research on an intelligent multipurpose fuzzy semantic enhanced 3D virtual reality simulator for complex maritime missions
Kniaz et al. Adversarial dataset augmentation using reinforcement learning and 3d modeling
Walczak et al. Inference-based creation of synthetic 3D content with ontologies
Aghaei Meibodi Generative design exploration: Computation and material practice
Couclelis Geocomputation and space
Huang et al. Applications of large scale foundation models for autonomous driving
JP7349453B2 (en) Scalable transformation processing unit for heterogeneous data
CN111868682B (en) Scalable transformation processing unit for heterogeneous data
Khandare et al. Analysis of python libraries for artificial intelligence
JPWO2019166967A5 (en)
Fujishiro et al. Top computational visualization R&D problems 2015: Panel
Mabrok et al. Mathematical framework for recursive model-based system design
Laroche et al. Methodology for simulating ancient technical systems
Zheng Geometry and Topology: Building Machine Learning Surrogate Models with Graphic Statics Method
Mahankali Assessing the potential applications of deep learning in design
Tran Visioning of an Generalized Paper Prototyping Framework
Lehman et al. EnDEVR: An Environment for Data Engineering in VR
Muthazhagu et al. Exploring the Role of AI in Web Design and Development: A Voyage through Automated Code Generation
Κύρκος Visual scripting tools for machine learning development
Thomas Integrated graphic and computer modelling