(57)【要約】  処理ユニットデバイスであって、処理ユニットデバイスの動作を制御する少なくとも１つの制御ユニットと、少なくとも１つの制御ユニットによって実行される変換に関連付けられる少なくとも１つの変換ブロックを含む変換論理ユニットであり、変換は、出力ユニバースに含まれる出力サイトに適用されるエフェクトを含み、少なくとも１つの変換ブロックの各々は、エフェクトブロックおよび出力サイトブロックを含み、エフェクトブロックは、エフェクトに関する情報を記憶するための少なくとも１つの第１の記憶ユニットを含み、出力サイトブロックは、出力サイトに関する情報を記憶するための少なくとも１つの第２の記憶ユニットを含む、変換論理ユニットとを備える、処理ユニットデバイスが提供される。
2021515954.tif 000002
【特許請求の範囲】
【請求項１】
処理ユニットデバイスであって、
前記処理ユニットデバイスの動作を制御する少なくとも１つの制御ユニットと、
前記少なくとも１つの制御ユニットによって実行される変換に関連付けられる少なくとも１つの変換ブロックを含む変換論理ユニットであり、前記変換は、出力ユニバースに含まれる出力サイトに適用されるエフェクトを含み、前記少なくとも１つの変換ブロックの各々は、エフェクトブロックおよび出力サイトブロックを含み、前記エフェクトブロックは、前記エフェクトに関する情報を記憶するための少なくとも１つの第１の記憶ユニットを含み、前記出力サイトブロックは、前記出力サイトに関する情報を記憶するための少なくとも１つの第２の記憶ユニットを含む、変換論理ユニットとを備える、処理ユニットデバイス。
【請求項２】
前記少なくとも１つの制御ユニットは、前記変換のためのパラメータを定義する変換データを含むフォーム変換命令セットを使用してさらに前記変換を実行するように構成されている、請求項１に記載の処理ユニットデバイス。
【請求項３】
前記少なくとも１つの制御ユニットは、前記変換論理ユニットに含まれる、請求項１または２に記載の処理ユニットデバイス。
【請求項４】
前記少なくとも１つの制御ユニットは、前記少なくとも１つの変換ブロックのうちの１つに含まれる、請求項３に記載の処理ユニットデバイス。
【請求項５】
前記少なくとも１つの制御ユニットは複数の制御ユニットを含み、前記少なくとも１つの変換ブロックは複数の変換ブロックを含み、前記複数の制御ユニットの各々は前記複数の変換ブロックのうちのそれぞれの変換ブロックに含まれる、請求項４に記載の処理ユニットデバイス。
【請求項６】
前記少なくとも１つの制御ユニットは、前記エフェクトブロックに含まれる少なくとも１つの第１の論理ユニットおよび前記出力サイトブロックに含まれる少なくとも１つの第２の論理ユニットを含む、請求項５に記載の処理ユニットデバイス。
【請求項７】
前記少なくとも１つの第１の論理ユニットおよび前記少なくとも１つの第２の論理ユニットは、算術論理演算ユニットおよび論理ゲートのうちの１つを含む、請求項６に記載の処理ユニットデバイス。
【請求項８】
前記少なくとも１つの制御ユニットは、前記変換論理ユニットに含まれる中央ユニットをさらに備える、請求項６または７に記載の処理ユニットデバイス。
【請求項９】
前記少なくとも１つの制御ユニットは、外部メモリに接続可能である、請求項１〜８のいずれか一項に記載の処理ユニットデバイス。
【請求項１０】
前記出力ユニバースに関する情報は、前記外部メモリに記憶される、請求項９に記載の処理ユニットデバイス。
【請求項１１】
内部メモリをさらに備える、請求項１〜８のいずれか一項に記載の処理ユニットデバイス。
【請求項１２】
前記出力ユニバースに関する情報は、前記内部メモリに記憶される、請求項１１に記載の処理ユニットデバイス。
【請求項１３】
前記出力ユニバースに関する情報は、前記第１の記憶ユニットのいくつかおよび前記第２の記憶ユニットのいくつかのうちの少なくとも１つに記憶される、請求項１〜８のいずれか一項に記載の処理ユニットデバイス。
【請求項１４】
前記少なくとも１つの第１の記憶ユニットおよび前記少なくとも１つの第２の記憶ユニットは、レジスタを含む、請求項１〜１３のいずれか一項に記載の処理ユニットデバイス。
【請求項１５】
前記少なくとも１つの変換ブロックの各々は、入力ユニバースに含まれる入力サイトに関する情報を記憶するための少なくとも１つの第３のソートユニットを含む入力サイトブロックをさらに備える、請求項１〜１４のいずれか一項に記載の処理ユニットデバイス。
【請求項１６】
前記少なくとも１つの制御ユニットは複数の制御ユニットを含み、前記入力サイトブロックは少なくとも１つの前記複数の制御ユニットを備える、請求項１５に記載の処理ユニットデバイス。
【請求項１７】
前記少なくとも１つの変換ブロックの各々は、
前記入力ユニバースの部分空間を規定する入力範囲に関する情報を記憶するための少なくとも１つの第４のソートユニットを備える入力サイト範囲ブロックと、
前記出力ユニバースの部分空間を規定する出力範囲に関する情報を記憶するための少なくとも１つの第５のソートユニットを備える出力サイト範囲ブロックとをさらに備える、請求項１５または１６に記載の処理ユニットデバイス。
【請求項１８】
処理ユニットデバイスであって、
前記処理ユニットデバイスの動作を制御する少なくとも１つの制御ユニットと、
前記少なくとも１つの制御ユニットによって実行される変換に関連付けられる少なくとも１つの変換ブロックを含む変換論理ユニットであり、前記変換は、入力ユニバースに含まれる入力サイトからの情報によって変更されるエフェクトを含み、前記少なくとも１つの変換ブロックの各々は、エフェクトブロックおよび入力サイトブロックを含み、前記エフェクトブロックは、前記エフェクトに関する情報を記憶するための少なくとも１つの第１の記憶ユニットを含み、前記入力サイトブロックは、前記入力サイトに関する情報を記憶するための少なくとも１つの第２の記憶ユニットを含む、変換論理ユニットとを備える、処理ユニットデバイス。
【請求項１９】
前記少なくとも１つの制御ユニットは、前記変換のためのパラメータを定義する変換データを含むフォーム変換命令セットを使用してさらに前記変換を実行するように構成されている、請求項１８に記載の処理ユニットデバイス。
【請求項２０】
前記少なくとも１つの制御ユニットは、前記変換論理ユニットに含まれる、請求項１８または１９に記載の処理ユニットデバイス。
【請求項２１】
前記少なくとも１つの制御ユニットは、前記少なくとも１つの変換ブロックのうちの１つに含まれる、請求項２１に記載の処理ユニットデバイス。
【請求項２２】
前記少なくとも１つの制御ユニットは複数の制御ユニットを含み、前記少なくとも１つの変換ブロックは複数の変換ブロックを含み、前記複数の制御ユニットの各々は前記複数の変換ブロックのうちのそれぞれの変換ブロックに含まれる、請求項２１に記載の処理ユニットデバイス。
【請求項２３】
前記少なくとも１つの制御ユニットは、前記エフェクトブロックに含まれる少なくとも１つの第１の論理ユニットおよび前記入力サイトブロックに含まれる少なくとも１つの第２の論理ユニットを含む、請求項２２に記載の処理ユニットデバイス。
【請求項２４】
前記少なくとも１つの第１の論理ユニットおよび前記少なくとも１つの第２の論理ユニットは、算術論理演算ユニットおよび論理ゲートのうちの１つを含む、請求項２３に記載の処理ユニットデバイス。
【請求項２５】
前記少なくとも１つの制御ユニットは、前記変換論理ユニットに含まれる中央ユニットをさらに備える、請求項２３または２４に記載の処理ユニットデバイス。
【請求項２６】
前記少なくとも１つの制御ユニットは、外部メモリに接続可能である、請求項１８〜２５のいずれか一項に記載の処理ユニットデバイス。
【請求項２７】
前記入力ユニバースに関する情報は、前記外部メモリに記憶される、請求項２６に記載の処理ユニットデバイス。
【請求項２８】
内部メモリをさらに備える、請求項１８〜２５のいずれか一項に記載の処理ユニットデバイス。
【請求項２９】
前記入力ユニバースに関する情報は、前記内部メモリに記憶される、請求項２８に記載の処理ユニットデバイス。
【請求項３０】
前記入力ユニバースに関する情報は、前記第１の記憶ユニットのいくつかおよび前記第２の記憶ユニットのいくつかのうちの少なくとも１つに記憶される、請求項１８〜２５のいずれか一項に記載の処理ユニット。
【請求項３１】
前記少なくとも１つの第１の記憶ユニットおよび前記少なくとも１つの第２の記憶ユニットは、レジスタを含む、請求項１８〜３０のいずれか一項に記載の処理ユニットデバイス。
【請求項３２】
前記少なくとも１つの変換ブロックの各々は、出力ユニバースに含まれる出力サイトに関する情報を記憶するための少なくとも１つの第３のソートユニットを含む出力サイトブロックをさらに備える、請求項１８〜３１のいずれか一項に記載の処理ユニットデバイス。
【請求項３３】
前記少なくとも１つの制御ユニットは複数の制御ユニットを含み、前記出力ブロックは少なくとも１つの前記複数の制御ユニットを備える、請求項３２に記載の処理ユニットデバイス。
【請求項３４】
前記少なくとも１つの変換ブロックの各々は、
前記入力ユニバースの部分空間を規定する入力範囲に関する情報を記憶するための少なくとも１つの第４のソートユニットを備える入力サイト範囲ブロックと、
前記出力ユニバースの部分空間を規定する出力範囲に関する情報を記憶するための少なくとも１つの第５のソートユニットを備える出力サイト範囲ブロックとをさらに備える、請求項３２または３３に記載の処理ユニットデバイス。
【請求項３５】
プログラミングのためのコンピュータにより実行される方法であって、
出力ユニバースに含まれるフォームを識別する１つの出力サイトおよび前記フォームに適用されるエフェクトを少なくとも含む変換を受信するステップと、
前記出力ユニバースからの前記出力サイトとの出力一致を取り出すステップと、
取り出された前記出力一致に前記エフェクトを適用するステップであり、結果、変更された出力一致を得る、適用するステップと、
変更された前記出力一致を出力するステップとを含む、コンピュータにより実行される方法。
【請求項３６】
前記変更された出力一致を出力する前記ステップは、前記出力ユニバースおよび前記出力ユニバース内の前記変更された出力一致のグラフィック表示を表示するステップを含む、請求項３５に記載のコンピュータにより実行される方法。
【請求項３７】
前記出力ユニバースを表現するための第１のセクションおよび前記変換のグラフィック表現を表示するための第２のセクションを含むユーザグラフィカルインターフェースを表示するステップをさらに含み、前記変更された出力一致を出力する前記ステップは、前記ユーザグラフィカルインターフェースの前記第１のセクション内に前記変更された出力一致を表示するステップを含む、請求項３５に記載のコンピュータにより実行される方法。
【請求項３８】
前記変換は、前記変換のパラメータを定義する変換データをさらに含み、前記取り出された出力一致に前記エフェクトを適用する前記ステップは、前記変換データを使用して実施される、請求項３５〜３７のいずれか一項に記載のコンピュータにより実行される方法。
【請求項３９】
前記変換は、入力サイトをさらに含み、前記方法は、入力ユニバースから前記入力サイトとの入力一致を取り出すステップをさらに含み、前記取り出された出力一致に前記エフェクトを適用する前記ステップは、前記取り出された入力一致に関連する情報を使用して実施される、請求項３５に記載のコンピュータにより実行される方法。
【請求項４０】
前記出力ユニバースを表現するための第１のセクション、前記エフェクトを規定するための第２のセクション、および前記入力ユニバースを表現するための第３のセクションを含むユーザグラフィカルインターフェースを表示するステップをさらに含む、請求項３９に記載のコンピュータにより実行される方法。
【請求項４１】
前記入力サイトを前記グラフィカルユーザインターフェースの前記第３のセクションに表示するステップと、
前記エフェクトのグラフィック表現を前記グラフィカルユーザインターフェースの前記第２のセクションに表示するステップと、
前記出力サイトを前記グラフィカルユーザインターフェースの前記第１のセクションに表示するステップとをさらに含む、請求項４０に記載のコンピュータにより実行される方法。
【請求項４２】
入力範囲および出力範囲のうちの少なくとも１つを受信するステップをさらに含み、前記入力範囲は、前記入力ユニバースの部分空間を規定し、前記出力範囲は、前記出力ユニバースの部分空間を規定し、前記入力一致は、前記入力ユニバースの前記部分空間から選択され、前記出力一致は、前記出力ユニバースの前記部分空間から選択される、請求項３９に記載のコンピュータにより実行される方法。
【請求項４３】
前記出力ユニバースを表現するための第１のセクション、前記エフェクトを規定するための第２のセクション、前記入力ユニバースを表現するための第３のセクション、前記出力範囲を表示するための第４のセクション、および前記入力範囲を表示するための第５のセクションを含むユーザグラフィカルインターフェースを表示するステップをさらに含む、請求項４２に記載のコンピュータにより実行される方法。
【請求項４４】
前記入力サイトを前記グラフィカルユーザインターフェースの前記第３のセクションに表示するステップと、
前記エフェクトのグラフィック表現を前記グラフィカルユーザインターフェースの前記第２のセクションに表示するステップと、
前記出力サイトを前記グラフィカルユーザインターフェースの前記第１のセクションに表示するステップと、
前記出力範囲のグラフィック表現を前記グラフィカルユーザインターフェースの前記第４のセクションに表示するステップと、
前記入力範囲のグラフィック表現を前記グラフィカルユーザインターフェースの前記第５のセクションに表示するステップとをさらに含む、請求項４０に記載のコンピュータにより実行される方法。
【請求項４５】
プログラミングのためのシステムであって、前記システムは、通信手段と、ステートメントおよび命令が記憶されているメモリと、請求項３５〜４４のいずれか一項に記載の方法のステップを実行するように構成された処理ユニットとを備える、システム。
【請求項４６】
コンピュータによって実行されるときに請求項３５〜４４のいずれか一項に記載の方法のステップを実施するコンピュータ実行可能命令を記憶するコンピュータ可読メモリを備えるコンピュータプログラム製品。
【請求項４７】
プログラミングのためのコンピュータにより実行される方法であって、
フォームを識別する１つの入力サイトおよび前記フォームに適用されるエフェクトを少なくとも含む変換を受信するステップと、
入力ユニバースからの前記入力サイトとの入力一致を取り出すステップと、
前記入力一致と関連付けられる情報を使用して前記エフェクトを変更するステップであり、結果、変更されたエフェクトを得る、変更するステップと、
前記変更されたエフェクトを出力するステップとを含む、コンピュータにより実行される方法。
【請求項４８】
前記変更されたエフェクトを出力する前記ステップは、前記変更されたエフェクトのグラフィック表示を表示するステップを含む、請求項４７に記載のコンピュータにより実行される方法。
【請求項４９】
前記入力ユニバースを表現するための第１のセクションおよび前記変換のグラフィック表現を表示するための第２のセクションを含むユーザグラフィカルインターフェースを表示するステップをさらに含み、前記変更されたエフェクトを出力する前記ステップは、前記ユーザグラフィカルインターフェースの前記第２のセクション内に前記変更されたエフェクトを表示するステップを含む、請求項４７に記載のコンピュータにより実行される方法。
【請求項５０】
前記変換は、前記変換のパラメータを定義する変換データをさらに含み、前記エフェクトを変更する前記ステップは、前記変換データを使用して実施される、請求項４７〜４９のいずれか一項に記載のコンピュータにより実行される方法。
【請求項５１】
前記変換は、出力ユニバース内に含まれる出力サイトをさらに含む、請求項４７に記載のコンピュータにより実行される方法。
【請求項５２】
前記出力ユニバースを表現するための第１のセクション、前記変更されたエフェクトを表現するための第２のセクション、および前記入力ユニバースを表現するための第３のセクションを含むユーザグラフィカルインターフェースを表示するステップをさらに含む、請求項５１に記載のコンピュータにより実行される方法。
【請求項５３】
前記入力サイトを前記グラフィカルユーザインターフェースの前記第３のセクションに表示するステップと、
前記変更されたエフェクトのグラフィック表現を前記グラフィカルユーザインターフェースの前記第２のセクションに表示するステップと、
前記出力サイトを前記グラフィカルユーザインターフェースの前記第１のセクションに表示するステップとをさらに含む、請求項５２に記載のコンピュータにより実行される方法。
【請求項５４】
入力範囲および出力範囲のうちの少なくとも１つを受信するステップをさらに含み、前記入力範囲は、前記入力ユニバースの部分空間を規定し、前記出力範囲は、前記出力ユニバースの部分空間を規定し、前記入力一致は、前記入力ユニバースの前記部分空間から選択される、請求項５１に記載のコンピュータにより実行される方法。
【請求項５５】
前記出力ユニバースを表現するための第１のセクション、前記変更されたエフェクトを表現するための第２のセクション、前記入力ユニバースを表現するための第３のセクション、前記出力範囲を表示するための第４のセクション、および前記入力範囲を表示するための第５のセクションを含むユーザグラフィカルインターフェースを表示するステップをさらに含む、請求項５４に記載のコンピュータにより実行される方法。
【請求項５６】
前記入力サイトを前記グラフィカルユーザインターフェースの前記第３のセクションに表示するステップと、
前記変更されたエフェクトのグラフィック表現を前記グラフィカルユーザインターフェースの前記第２のセクションに表示するステップと、
前記出力サイトを前記グラフィカルユーザインターフェースの前記第１のセクションに表示するステップと、
前記出力範囲のグラフィック表現を前記グラフィカルユーザインターフェースの前記第４のセクションに表示するステップと、
前記入力範囲のグラフィック表現を前記グラフィカルユーザインターフェースの前記第５のセクションに表示するステップとをさらに含む、請求項４０に記載のコンピュータにより実行される方法。
【請求項５７】
プログラミングのためのシステムであって、前記システムは、通信手段と、ステートメントおよび命令が記憶されているメモリと、請求項４７〜５６のいずれか一項に記載の方法のステップを実行するように構成された処理ユニットとを備える、システム。
【請求項５８】
コンピュータによって実行されるときに請求項４７〜５６のいずれか一項に記載の方法のステップを実施するコンピュータ実行可能命令を記憶するコンピュータ可読メモリを備えるコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
技術分野
本発明は、コンピュータの分野に関し、より詳細には、異種データのための処理ユニットに関する。
【背景技術】
【０００２】
背景
高性能コンピューティングおよびスーパーコンピューティングは、ヒッグス粒子の発見（ＣＥＲＮ）およびヒトゲノムのシークエンシング（ヒトゲノムプロジェクト）など、多くの成果を支えてきた。高性能コンピューティング（ＨＰＣ）およびスーパーコンピューティングは、医療および医薬、モデリングおよびシミュレーション、セキュリティ、フィンテック、工学および製造業などの分野に大きな影響を与えると期待されている。
【０００３】
ＨＰＣおよびスーパーコンピューティングのコミュニティは、上記の産業にさらに深い影響を与えるために対処する必要がある課題に直面している。いくつかの課題は、ハードウェアレベルとソフトウェアレベルの両方においてスケーラビリティを処理し、マルチレベル階層を表現して処理し、異種データの融合を実現し、人間の認知の弱点を補う代替の方法を見つけることである人間のボトルネック問題に対処することである。従来技術のプロセッサとコンピュータシステムの機能は、エクサスケール以上のコンピューティングを処理するためにさらに発展する必要があり、研究者および業界がスーパーコンピュータを利用できるように、使いやすく理解しやすい機能的に完成した共通のツールも必要である。
【０００４】
さらに、コンピュータモデルまたはシミュレーションを実行するために、多数のシステムが開発されている。これらのシステムは通常、いくつかのアプリケーションに制限されており、ほとんどの場合、１つの知識分野でのみ使用することができる。結果として、訓練および学習に相当の努力が費やされない限り、システムの専門家は他のシステムに堪能ではない。さらに、モデルおよびシミュレーションモデルは通常、プラットフォーム間で互換性がない。一部の企業は自社製品のエコシステム内で、ある程度の互換性を提供しているが、ユーザは多くの場合、各製品を知り、それぞれの方法、手法、およびモデリングパラダイムを理解する必要がある。これは重要な欠点である。
【０００５】
一部のシミュレーションソフトウェアまたはソリューションは、ソフトウェア開発キット（ＳＤＫ）またはスクリプト言語へのアクセスを提供する。これらのスクリプト言語は通常テキストであり、Ｃ＋＋（登録商標）、Ｃ＃（登録商標）、Ｊａｖａ（登録商標）またはＰｙｔｈｏｎ（登録商標）などのプログラミング言語に似ている。このようなソフトウェア言語の場合、ユーザはいわゆる「コーディング障壁」とも呼ばれ得るものにすぐにぶつかることになり、この影響として、ソフトウェアを使用することができるユーザのタイプが大幅に制限される。ソフトウェアをより広くアクセスできるようにするために、これらのソフトウェアの供給元は、２Ｄ視覚インターフェースに記号として表示されるブロック内のコード、関数、およびスクリプトを非表示にすることがある。複数のブロックを追加して相互接続することにより、ブロック図が作成され、ブロック図は、２Ｄで提示されるシミュレーションモデルを表す。シミュレーションを実行した後、出力を２Ｄグラフに表示して、分析に役立てることができる。このようなシステムでは、物理モデルの表現と物理モデルに関連するデータとの間にギャップがある。たとえば、自動車のホイールに作用する力にアクセスしてグラフ化することはできるが、ホイールが回転している自動車の３Ｄモデルはない。自動車産業では、種々の部品を相互接続してシミュレーションできるが、これらのシミュレーションは、自動車が設計されるときに破棄されることになる。このようなシミュレーションは、製品に関する抽象的な情報を研究することを意図しており、主に微分方程式に依拠している。ユーザは物理学および数学の高度な知識を必要とするため、このようなプログラミングシステムは、エンジニアまたは研究者などの訓練を受けた人間のみによって使用される。
【０００６】
現代の科学および企業プロジェクトは、今や学際的、協調的、世界的かつ非常に複雑である。多数の企業および公共団体を再編成する多くの大規模な学際的プロジェクト構想が存在する（Ｖｉｒｔｕａｌ  Ｐｈｙｓｉｏｌｏｇｉｃａｌ  Ｈｕｍａｎ  Ｐｒｏｊｅｃｔ、ヒューマンブレインプロジェクト、ブレインイニシアティブ）。そのようなプロジェクトでは、参加者のほんの一部だけが、モデルおよびシミュレーションを作成する技能を有する。ほとんどの参加者は自身の専門性の高い分野の専門家であり、他の分野の専門家に自身の知識を伝えたり、自身の知識を大きなまとまりのあるモデルに統合したりすることは困難である。
【０００７】
したがって、改善されたプログラミング方法を可能にする改善された処理ユニットアーキテクチャが必要とされている。
【発明の概要】
【課題を解決するための手段】
【０００８】
概要
第１の広範な態様によれば、処理ユニットデバイスであって、処理ユニットデバイスの動作を制御する少なくとも１つの制御ユニットと、少なくとも１つの制御ユニットによって実行される変換に関連付けられる少なくとも１つの変換ブロックを含む変換論理ユニットであり、変換は、出力ユニバースに含まれる出力サイトに適用されるエフェクトを含み、少なくとも１つの変換ブロックの各々は、エフェクトブロックおよび出力サイトブロックを含み、エフェクトブロックは、エフェクトに関する情報を記憶するための少なくとも１つの第１の記憶ユニットを含み、出力サイトブロックは、出力サイトに関する情報を記憶するための少なくとも１つの第２の記憶ユニットを含む、変換論理ユニットとを備える、処理ユニットデバイスが提供される。
【０００９】
１つの実施形態では、少なくとも１つの制御ユニットは、変換のためのパラメータを定義する変換データを含むフォーム変換命令セットを使用してさらに変換を実行するように構成される。
【００１０】
１つの実施形態では、少なくとも１つの制御ユニットは、変換論理ユニットに含まれる。
【００１１】
１つの実施形態では、少なくとも１つの制御ユニットは、少なくとも１つの変換ブロックのうちの１つに含まれる。
【００１２】
１つの実施形態では、少なくとも１つの制御ユニットは複数の制御ユニットを含み、少なくとも１つの変換ブロックは複数の変換ブロックを含み、複数の制御ユニットの各々は複数の変換ブロックのうちのそれぞれの変換ブロックに含まれる。
【００１３】
１つの実施形態では、少なくとも１つの制御ユニットは、エフェクトブロックに含まれる少なくとも１つの第１の論理ユニットおよび出力サイトブロックに含まれる少なくとも１つの第２の論理ユニットを含む。
【００１４】
１つの実施形態では、少なくとも１つの第１の論理ユニットおよび少なくとも１つの第２の論理ユニットは、算術論理演算ユニットおよび論理ゲートのうちの１つを含む。
【００１５】
１つの実施形態では、少なくとも１つの制御ユニットは、変換論理ユニットに含まれる中央ユニットをさらに備える。
【００１６】
１つの実施形態では、少なくとも１つの制御ユニットは、外部メモリに接続可能である。
【００１７】
１つの実施形態では、出力ユニバースに関する情報は、外部メモリに記憶される。
１つの実施形態では、処理ユニットデバイスは内部メモリをさらに備える。
【００１８】
１つの実施形態では、出力ユニバースに関する情報は、内部メモリに記憶される。
１つの実施形態では、出力ユニバースに関する情報は、第１の記憶ユニットのいくつかおよび第２の記憶ユニットのいくつかのうちの少なくとも１つに記憶される。
【００１９】
１つの実施形態では、少なくとも１つの第１の記憶ユニットおよび少なくとも１つの第２の記憶ユニットは、レジスタを含む。
【００２０】
１つの実施形態では、少なくとも１つの変換ブロックの各々は、入力ユニバースに含まれる入力サイトに関する情報を記憶するための少なくとも１つの第３のソートユニットを含む入力サイトブロックをさらに備える。
【００２１】
１つの実施形態では、少なくとも１つの制御ユニットは複数の制御ユニットを含み、入力サイトブロックは少なくとも１つの複数の制御ユニットを備える。
【００２２】
１つの実施形態では、少なくとも１つの変換ブロックの各々は、
入力ユニバースの部分空間を規定する入力範囲に関する情報を記憶するための少なくとも１つの第４のソートユニットを備える入力サイト範囲ブロックと、
出力ユニバースの部分空間を規定する出力範囲に関する情報を記憶するための少なくとも１つの第５のソートユニットを備える出力サイト範囲ブロックとをさらに備える。
【００２３】
別の広範な態様によれば、処理ユニットデバイスであって、処理ユニットデバイスの動作を制御する少なくとも１つの制御ユニットと、少なくとも１つの制御ユニットによって実行される変換に関連付けられる少なくとも１つの変換ブロックを含む変換論理ユニットであり、変換は、入力ユニバースに含まれる入力サイトからの情報によって変更されるエフェクトを含み、少なくとも１つの変換ブロックの各々は、エフェクトブロックおよび入力サイトブロックを含み、エフェクトブロックは、エフェクトに関する情報を記憶するための少なくとも１つの第１の記憶ユニットを含み、入力サイトブロックは、入力サイトに関する情報を記憶するための少なくとも１つの第２の記憶ユニットを含む、変換論理ユニットとを備える、処理ユニットデバイスが提供される。
【００２４】
１つの実施形態では、少なくとも１つの制御ユニットは、変換のためのパラメータを定義する変換データを含むフォーム変換命令セットを使用してさらに変換を実行するように構成される。
【００２５】
１つの実施形態では、少なくとも１つの制御ユニットは、変換論理ユニットに含まれる。
【００２６】
１つの実施形態では、少なくとも１つの制御ユニットは、少なくとも１つの変換ブロックのうちの１つに含まれる。
【００２７】
１つの実施形態では、少なくとも１つの制御ユニットは複数の制御ユニットを含み、少なくとも１つの変換ブロックは複数の変換ブロックを含み、複数の制御ユニットの各々は複数の変換ブロックのうちのそれぞれの変換ブロックに含まれる。
【００２８】
１つの実施形態では、少なくとも１つの制御ユニットは、エフェクトブロックに含まれる少なくとも１つの第１の論理ユニットおよび入力サイトブロックに含まれる少なくとも１つの第２の論理ユニットを含む。
【００２９】
１つの実施形態では、少なくとも１つの第１の論理ユニットおよび少なくとも１つの第２の論理ユニットは、算術論理演算ユニットおよび論理ゲートのうちの１つを含む。
【００３０】
１つの実施形態では、少なくとも１つの制御ユニットは、変換論理ユニットに含まれる中央ユニットをさらに備える。
【００３１】
１つの実施形態では、少なくとも１つの制御ユニットは、外部メモリに接続可能である。
【００３２】
１つの実施形態では、入力ユニバースに関する情報は、外部メモリに記憶される。
１つの実施形態では、処理ユニットデバイスは内部メモリをさらに備える。
【００３３】
１つの実施形態では、入力ユニバースに関する情報は、内部メモリに記憶される。
１つの実施形態では、入力ユニバースに関する情報は、第１の記憶ユニットのいくつかおよび第２の記憶ユニットのいくつかのうちの少なくとも１つに記憶される。
【００３４】
１つの実施形態では、少なくとも１つの第１の記憶ユニットおよび少なくとも１つの第２の記憶ユニットは、レジスタを含む。
【００３５】
１つの実施形態では、少なくとも１つの変換ブロックの各々は、出力ユニバースに含まれる出力サイトに関する情報を記憶するための少なくとも１つの第３のソートユニットを含む出力サイトブロックをさらに備える。
【００３６】
１つの実施形態では、少なくとも１つの制御ユニットは複数の制御ユニットを含み、出力ブロックは少なくとも１つの複数の制御ユニットを備える。
【００３７】
１つの実施形態では、少なくとも１つの変換ブロックの各々は、
入力ユニバースの部分空間を規定する入力範囲に関する情報を記憶するための少なくとも１つの第４のソートユニットを備える入力サイト範囲ブロックと、
出力ユニバースの部分空間を規定する出力範囲に関する情報を記憶するための少なくとも１つの第５のソートユニットを備える出力サイト範囲ブロックとをさらに備える。
【００３８】
さらなる広範な態様によれば、プログラミングのためのコンピュータにより実行される方法であって、出力ユニバースに含まれるフォームを識別する１つの出力サイトおよびフォームに適用されるエフェクトを少なくとも含む変換を受信するステップと、出力ユニバースからの出力サイトとの出力一致を取り出すステップと、取り出された出力一致にエフェクトを適用するステップであり、結果、変更された出力一致を得る、適用するステップと、変更された出力一致を出力するステップとを含む、コンピュータにより実行される方法が提供される。
【００３９】
１つの実施形態では、変更された出力一致を出力するステップは、出力ユニバースおよび出力ユニバース内の変更された出力一致のグラフィック表示を表示するステップを含む。
【００４０】
１つの実施形態では、方法は、出力ユニバースを表現するための第１のセクションおよび変換のグラフィック表現を表示するための第２のセクションを含むユーザグラフィカルインターフェースを表示するステップをさらに含み、変更された出力一致を出力する上記ステップは、ユーザグラフィカルインターフェースの第１のセクション内に変更された出力一致を表示するステップを含む。
【００４１】
１つの実施形態では、変換は、変換のパラメータを定義する変換データをさらに含み、取り出された出力一致にエフェクトを適用する上記ステップは、変換データを使用して実施される。
【００４２】
１つの実施形態では、変換は、入力サイトをさらに含み、方法は、入力ユニバースから入力サイトとの入力一致を取り出すステップをさらに含み、取り出された出力一致にエフェクトを適用する上記ステップは、取り出された入力一致に関連する情報を使用して実施される。
【００４３】
１つの実施形態では、方法は、出力ユニバースを表現するための第１のセクション、エフェクトを規定するための第２のセクション、および入力ユニバースを表現するための第３のセクションを含むユーザグラフィカルインターフェースを表示するステップをさらに含む。
【００４４】
１つの実施形態では、方法は、
入力サイトをグラフィカルユーザインターフェースの第３のセクションに表示するステップと、
エフェクトのグラフィック表現をグラフィカルユーザインターフェースの第２のセクションに表示するステップと、
出力サイトをグラフィカルユーザインターフェースの第１のセクションに表示するステップとをさらに含む。
【００４５】
１つの実施形態では、方法は、入力範囲および出力範囲のうちの少なくとも１つを受信するステップをさらに含み、入力範囲は、入力ユニバースの部分空間を規定し、出力範囲は、出力ユニバースの部分空間を規定し、入力一致は、入力ユニバースの部分空間から選択され、出力一致は、出力ユニバースの部分空間から選択される。
【００４６】
１つの実施形態では、方法は、出力ユニバースを表現するための第１のセクション、エフェクトを規定するための第２のセクション、入力ユニバースを表現するための第３のセクション、出力範囲を表示するための第４のセクション、および入力範囲を表示するための第５のセクションを含むユーザグラフィカルインターフェースを表示するステップをさらに含む。
【００４７】
１つの実施形態では、方法は、
入力サイトをグラフィカルユーザインターフェースの第３のセクションに表示するステップと、
エフェクトのグラフィック表現をグラフィカルユーザインターフェースの第２のセクションに表示するステップと、
出力サイトをグラフィカルユーザインターフェースの第１のセクションに表示するステップと、
出力範囲のグラフィック表現をグラフィカルユーザインターフェースの第４のセクションに表示するステップと、
入力範囲のグラフィック表現をグラフィカルユーザインターフェースの第５のセクションに表示するステップとをさらに含む。
【００４８】
さらに別の広範な態様によれば、プログラミングのためのシステムであって、システムは、通信手段と、ステートメントおよび命令が記憶されているメモリと、上述の方法のステップを実行するように構成された処理ユニットとを備える、システムが提供される。
【００４９】
さらに別の広範な態様によれば、コンピュータによって実行されるときに上記の方法のステップを実施するコンピュータ実行可能命令を記憶するコンピュータ可読メモリを備えるコンピュータプログラム製品が提供される。
【００５０】
またさらなる広範な態様によれば、プログラミングのためのコンピュータにより実行される方法であって、フォームを識別する１つの入力サイトおよびフォームに適用されるエフェクトを少なくとも含む変換を受信するステップと、入力ユニバースからの入力サイトとの入力一致を取り出すステップと、入力一致と関連付けられる情報を使用してエフェクトを変更するステップであり、結果、変更されたエフェクトを得る、変更するステップと、変更されたエフェクトを出力するステップとを含む、コンピュータにより実行される方法が提供される。
【００５１】
１つの実施形態では、変更されたエフェクトを出力するステップは、変更されたエフェクトのグラフィック表示を表示するステップを含む。
【００５２】
１つの実施形態では、方法は、入力ユニバースを表現するための第１のセクションおよび変換のグラフィック表現を表示するための第２のセクションを含むユーザグラフィカルインターフェースを表示するステップをさらに含み、変更されたエフェクトを出力する上記ステップは、ユーザグラフィカルインターフェースの第２のセクション内に変更されたエフェクトを表示するステップを含む。
【００５３】
１つの実施形態では、変換は、変換のパラメータを定義する変換データをさらに含み、エフェクトを変更する上記ステップは、変換データを使用して実施される。
【００５４】
１つの実施形態では、変換は、出力ユニバース内に含まれる出力サイトをさらに含む。
１つの実施形態では、方法は、出力ユニバースを表現するための第１のセクション、変更されたエフェクトを表現するための第２のセクション、および入力ユニバースを表現するための第３のセクションを含むユーザグラフィカルインターフェースを表示するステップをさらに含む。
【００５５】
１つの実施形態では、方法は、１つの実施形態では、方法は、
入力サイトをグラフィカルユーザインターフェースの第３のセクションに表示するステップと、
変更されたエフェクトのグラフィック表現をグラフィカルユーザインターフェースの第２のセクションに表示するステップと、
出力サイトをグラフィカルユーザインターフェースの第１のセクションに表示するステップとをさらに含む。
【００５６】
１つの実施形態では、方法は、入力範囲および出力範囲のうちの少なくとも１つを受信するステップをさらに含み、入力範囲は、入力ユニバースの部分空間を規定し、出力範囲は、出力ユニバースの部分空間を規定し、入力一致は、入力ユニバースの部分空間から選択される。
【００５７】
１つの実施形態では、方法は、出力ユニバースを表現するための第１のセクション、変更されたエフェクトを表現するための第２のセクション、入力ユニバースを表現するための第３のセクション、出力範囲を表示するための第４のセクション、および入力範囲を表示するための第５のセクションを含むユーザグラフィカルインターフェースを表示するステップをさらに含む。
【００５８】
１つの実施形態では、方法は、
入力サイトをグラフィカルユーザインターフェースの第３のセクションに表示するステップと、
変更されたエフェクトのグラフィック表現をグラフィカルユーザインターフェースの第２のセクションに表示するステップと、
出力サイトをグラフィカルユーザインターフェースの第１のセクションに表示するステップと、
出力範囲のグラフィック表現をグラフィカルユーザインターフェースの第４のセクションに表示するステップと、
入力範囲のグラフィック表現をグラフィカルユーザインターフェースの第５のセクションに表示するステップとをさらに含む。
【００５９】
さらに別の実施形態によれば、プログラミングのためのシステムであって、システムは、通信手段と、ステートメントおよび命令が記憶されているメモリと、上述の方法のステップを実行するように構成された処理ユニットとを備える、システムが提供される。
【００６０】
さらに別の実施形態によれば、コンピュータによって実行されるときに上記の方法の方法ステップを実施するコンピュータ実行可能命令を記憶するコンピュータ可読メモリを備えるコンピュータプログラム製品が提供される。
【００６１】
本明細書の目的のために、フォームとは、２Ｄオブジェクトまたは３Ｄオブジェクトなどのオブジェクト、テキスト、数式、変換、フォームのコレクション、変換のコレクション、フォームおよび変換のコレクション、オブジェクト表現、セット、セットのコレクション、アニメーションシーケンスなどであってもよい要素または要素のコレクションであるものとして理解されたい。フォームの例は、自動車、生物の猫、分子および原子、木のコレクション、記号、変換などの表現を含む。フォームのコレクションもフォームであることを理解されたい。フォームの他の例は、３Ｄまたは４Ｄ座標系内の３Ｄメッシュ、多次元ベクトル、テンソル、人工ニューラルネットワーク、２Ｄまたは３Ｄで表現された人工ニューラルネットワーク、テーブル、配列、３Ｄ座標系内のボクセル、形状および実線などの連続構造、物理オブジェクト、記号、ピクセルから構成される記号、単語、スクリプト、コード、数、関数、アルゴリズム、方程式、ニューラルネットワーク、任意のタイプのデータ（たとえば、グラフィック、視覚、音、デジタル、画像、テキスト、距離、測度、時間、．．．）、データ構造、ファイル名、ｚバッファコンテンツ、記憶内容、ストレージアドレス、トポロジ、メモリアドレス、フォームオブジェクト、フォームオブジェクト名、変数を有するタグまたは表現、フォームオブジェクトのセット、変換、変換名、その変数および変換のセットを有する表現などを含む。
【００６２】
入力ユニバースは、入力サイトに関連付けられたフォームのコレクションとして理解されたい。入力サイトは、入力ユニバース内で選択される少なくとも１つのフォームとして理解されたい。入力範囲は、変換がデータを得ることができる入力ユニバースの部分空間として理解されたい。すなわち、これは情報の抽出を入力ユニバースの特定のサブセット／部分に限定する。入力ユニバースのこのサブセット／部分は、フォーム、セット（ユニオン演算子、否定演算子および論理積演算子を用いる）、コレクション、領域、区間、不等式および方程式として表現することができる。不等式および方程式の場合、それらの解のコレクションが入力ユニバースのサブセット／部分を構成することが理解される。
【００６３】
出力ユニバースは、出力サイトに関連付けられたフォームのコレクションとして理解されたい。出力サイトは、出力ユニバース内で選択される必要がある少なくとも１つのフォームとして理解されたい。出力サイトは、変換に関連付けられたエフェクトを出力ユニバース内のどこに適用するかの指示、または、置換、追加、次に追加、または変更する必要がある出力ユニバースのフォーム（複数可）の識別として考えることができる。出力範囲は、変換を適用することができる出力ユニバースの部分空間として理解されたい。すなわち、これは変換の適用を出力ユニバースの特定のサブセット／部分に限定する。出力ユニバースのこのサブセット／部分は、フォーム、セット（ユニオン演算子、否定演算子および論理積演算子を用いる）、コレクション、領域、区間、不等式および方程式として表現することができる。不等式および方程式の場合、それらの解のコレクションが入力ユニバースのサブセット／部分を構成することが理解される。
【００６４】
エフェクトは、まったく新しいフォーム、または入力サイト（複数可）、出力サイト、または入力サイトおよび出力サイトの一部のフォーム（複数可）から構成されるフォームとして理解されたい。たとえば、エフェクトは、フォームの形状の変更など、出力サイトで定義されたフォームの特性を変更することができる。別の例では、エフェクトは、出力サイトで定義されたフォームにフォームを追加することができる。
【００６５】
変換データは、変換に関連付けられたエフェクトに使用される情報／パラメータ（回数、名前、フォームのコレクションなど）のセットを参照する。
【００６６】
変換は、少なくともエフェクトならびに出力サイト（任意選択的に出力範囲を含むことができる）および／または入力サイト（任意選択的に入力範囲を含むことができる）から構成される。変換は、変換データをさらに含むことができる。１つの実施形態では、変換は、入力範囲、入力サイト、エフェクト、出力サイト、出力範囲、および変換データの６つの部分から構成される。
【００６７】
入力サイトは入力ユニバースに接続され、出力サイトは出力ユニバースに接続されている。１つの実施形態では、単一のユニバースが存在し、入力サイトと出力サイトの両方が単一のユニバースに接続されるように、入力ユニバースは出力ユニバースに対応することができる。
【００６８】
１つの実施形態では、本方法およびシステムは、変換のシーケンスおよび／または変換の並列シーケンスが適用されるフォームから構成される動的モデルを作成するために使用することができる。静的モデルまたは動的モデルは、変換のシーケンスを適用した結果と考えることができる。世界で観察されるあらゆる変化は、本システムおよび方法を使用してモデル化することができることを理解されたい。
【００６９】
システムはフォームのコレクションであると理解されたい。ほとんどの場合、システムは、より正確には、フォームに適用される変換のコレクションを有するフォームのコレクションである。さらに、システムもフォームであると考えられる。
【００７０】
１つの実施形態では、システムはタイムラインを含み、結果、変換の適用後、システムはタイムライン内で進む。タイムラインは必ずしも時間を参照するとは限らず、変換の適用において行われるステップとして理解することもできることを理解されたい。１つの実施形態では、タイムラインは、実世界の時計または仮想時計と同期させることができる。
【００７１】
仮想マシン上で再現することができる本変換処理ユニットデバイスおよびそのアーキテクチャは、フォン・ノイマン処理装置などの従来技術の処理装置と比較して、以下の利点の少なくともいくつかを可能にする。これらの利点は、処理速度、エネルギー消費、ストレージサイズ、計算正確度、精度、忠実度および／またはスケーラビリティに関連している。さらに、本変換処理ユニットアーキテクチャは、高性能コンピューティングにおける複数の課題に対する新しい解決策をもたらす。
【００７２】
興味深いことに、変換ブロックに基づく本変換処理ユニットアーキテクチャは、非決定性チューリングマシンのシミュレーションに使用することができる。たとえば、変換ブロックを変更すると、他の複数の変換ブロック（または分岐）がトリガされ得、その結果、他の分岐がトリガされる。これは、本変換処理ユニットアーキテクチャがマルチスレッドを実行し、各スレッドを他のスレッドにさらに分割することができる方法の例を提供する。
【００７３】
均質な構造（ほぼ変換ブロックのみから構成される）に起因して、異種デバイスに関連する相互接続の問題に直面することなく、変換処理ユニットを他の複数の変換処理ユニットによって容易に拡張することができる。この変換処理ユニットアーキテクチャでは、コンピュータの計算能力を拡張することは、より多くの変換処理ユニットを接続することになる。
【００７４】
１つの実施形態では、変換ブロックは、各変換ブロックがその環境に基づいて作用および反応してグローバルな計算結果に寄与する自律エージェントのように挙動すると理解されるエージェントベースのサブプロセッサの着想をもたらすように作成することができる。
【００７５】
１つの実施形態では、変換処理ユニットデバイスの本アーキテクチャは、内部クロックによって実施することができる。
【００７６】
非同期プロセッサの場合などの別の実施形態では、変換処理ユニットデバイスの本アーキテクチャは、クロックレス処理機能を提供し、これにより、電力効率、応答性、および堅牢性が提供される。
【００７７】
変換処理ユニットデバイスの本アーキテクチャは、機械学習および人工ニューラルネットワークのコンテキストにおいて使用することができる。本変換処理ユニットアーキテクチャの仮想マシン実装態様において、訓練され、推論のために使用することができる人工ニューラルネットワークおよびニューラルネットワークのシステムを作成することが可能であることが示されている。すなわち、機械学習アルゴリズムは変換およびフォームを用いて設計および処理することができ、したがって、プロセッサ上で直接展開（または訓練）することができる。
【００７８】
プロセッサ上の人工ニューラルネットワークを使用して、速度およびストレージスペースの複数の内部最適化を達成することができる。特に、プロセッサ上で、自動エンコーダを使用してデータを圧縮し、複雑な関数または動作を表現または近似するように訓練された事前訓練済みの人工ニューラルネットワークを展開することができる。変換処理ユニットの部分は、マッチングの処理および実行、または計算高速化を可能にする種々の計算パイプラインに動作をディスパッチする分類の達成のために使用することができる、人工ニューラルネットワークまたは機械学習アルゴリズム表現のために確保することができる。さらに、これにより、変換処理ユニットは、ニューラルネットワークのみに限定されないさまざまな機械学習アルゴリズムを通じて外部データを高速で処理することもできる。
【００７９】
１つの実施形態では、フォームおよび変換のシステムは、シミュレーションを作成するように設計することができる。たとえば、本変換処理ユニットデバイスは、以下の変換を使用することにより、３Ｄの鼓動する心臓をシミュレートするために使用することができる。
−細胞を収縮させる変換（エフェクト：収縮した細胞、出力サイト：細胞）、および
−細胞に隣接する細胞に情報を送信する変換（エフェクト：収縮した細胞＋収縮した隣接細胞、出力サイト：収縮した細胞＋隣接する細胞）。
【００８０】
細胞の収縮後、第２の変換は、収縮を他のすべての接続された細胞に継続的に伝播させ、結果として心拍を発生させる。心臓の磁気共鳴画像から生成される３Ｄデータをプロセッサにエンコードし、上記の原則に従ってエンコードされた変換によってプロセッサを実行すると、マイクロチップ上で３Ｄ心臓シミュレーションが提供される。
【００８１】
本変換は、いくつかの問題に対するデータ異種性のソリューションを提供することができる。最近の多くのマイクロプロセッサには、通常、１つまたは複数の算術論理演算ユニットおよび浮動小数点ユニットが含まれている。これらは、数値の算術計算を効率的に実施することを目的としている。本変換処理ユニットは、プロセッサ上で直接、フォームおよび他のタイプの構造化データに対する計算を実施し、並列または非並列に算術演算を実施することを可能にする。これにより、プロセッサ速度において構造化データを処理することが可能になり、ユーザまたはソフトウェアがプロセッサ上で直接、実行する新しいデータ型を定義することが可能になる。
【００８２】
それらの動的かつ均質な構造、変換、およびフォームのために、ジャストインタイムおよび事前のコンパイルを、本発明の実施形態の変換処理ユニットによって実施することができる。特に、フォーム変換命令セットの事前コンパイルにより、ターゲットマシン上でネイティブに実行することができる機械語を作成することが可能であり、したがって、実行速度が速くなり、ディスク容量が少なくなるなどの利点がもたらされる。動的言語の事前コンパイルは、大幅な高速化（１６倍以上）をもたらすことが判明した。さらに、ジャストインタイムコンパイルは、コードの頻繁に使用される部分を機械語にコンパイルすることにより、最適化を実施することができる。変換およびフォームの普遍的な構造によって、そのような最適化の機会を、変換の実行中に頻繁に発生させることができる。
【００８３】
変換およびフォームは任意のドメインにおいてモデル、メソッド、および計算を表現することができるため、異なるドメインの複数の異なるモデルを、フォームおよび変換の単一のシステムに変換することができる。このシステム内では、モデル間の情報（たとえば、異なる科学的領域に由来する）を高速で交換することができる。各モデルが本アーキテクチャの外部で実装されている場合、情報を交換する前に、モデル間で情報が交換されるたびに情報を変換する変換ステップが必要になり、結果、計算時間が大幅に増加する。他方、このような問題は、本変換処理ユニットアーキテクチャを使用している間は回避することができる。
【００８４】
科学的プログラムの実行時間の主要部分は、通常、ループの処理に費やされる。ループ変換は、種々のタイプのループの実行速度を向上させることが知られている。本変換処理ユニット変換は、ループを表現するために使用することができる。他のプログラミング言語と比較して、変換の記述されたコードは、メモリまたはディスク上で必要なスペースが少ない。さらに、変換自体を他の変換によって変更することができ、したがって、命令セットがより高次のシステムにレンダリングされる。したがって、変換はループ変換と同様の方法で変更することができるが、多くの新しいタイプの最適化を可能にし、それらを制御する方法を提供するという利点がある。これは、一般的な現代のコンパイラによって通常提供される少量のループ最適化とは対照的である。
【００８５】
１つの実施形態では、変換は、ローカル変換を使用することによって設計を実施し、実世界のシステムの直接観察に基づいてモデルを設計する機会を提供する。言い換えると、変換により、グローバルなエフェクトがローカライズされたルールから現れるエージェントベースのシミュレーションを効率的に行うことが可能である。これは、グローバルな（大域的）方程式を解いて解ならびにローカル情報および挙動を決定する方法とは対照的である。
【００８６】
たとえば、仮想心臓を設計する場合、現行技術水準の技術は、高次の有限要素法および複雑な微分方程式を使用することに存する。グローバルな（大域的）微分方程式の解を求め、有限要素法を使用するには、費用のかかる計算が必要である。
【００８７】
心臓の心筋細胞は現実においては複雑な方程式に依存せず、隣接する細胞が収縮したときに収縮するにすぎない。上で説明したように、変換のセットを使用して、隣接する細胞が収縮したときに細胞の収縮を表現することができ、したがって、現実をより正確にモデリングし、シミュレーションの精度および速度を向上させることができる。したがって、変換は、グローバルな微分方程式を解き、有限要素法を適用することに関連する膨大な計算および近似を回避することを可能にする。
【００８８】
変換ブロックおよび変換ブロックとフォームデータ構造との相互作用は、本変換処理ユニットアーキテクチャの主要構成要素を表す。データのすべての処理は、単一のコマンドにおいてデータを取得、変更、移動することができる変換に依拠する。単一の変換によって、大量のデータを照合し、計算を行い、他の場所に持ち込むことができる。変換コマンドは同種のデータ構造のデータを自然に収集して処理するため、このデータは、仮想マシン構成のＧＰＵ、複数のＧＰＵ、複数のＣＰＵ、および処理コア上で容易に並列処理することができる。特に、ｎ回適用されるようにマークされた変換は、１つのステップで並列に計算されるようにすることができる。変換は、計算を処理するキューに送信することができる。独立した変換は、それぞれ異なるキューに送信することができ、したがって、より高度な並列化が可能である。
【００８９】
仮想マシン構成で本アーキテクチャを実行しているマシン上で、すべての異種データをフォームとして書き込むことができるため、通常はシングルスレッドで処理されるデータを、本明細書における変換処理ユニットの実施形態による変換の使用と並行して処理することができる。たとえば、仮想マシン構成において本アーキテクチャを使用しながら、ＣＰＵおよびＧＰＵを備えたコンピュータ上で、変換処理ユニットを使用した変換によって処理されるデータは、従来のアーキテクチャを通じて処理される同じデータよりも１５倍〜１００倍速く処理することができる。
【００９０】
変換は入力サイトとの一致を収集し、各一致は並行して処理することができる。このとき、各一致（複数の入力サイト構成要素から構成され得る）を使用して、エフェクトおよび出力サイト（各々が複数の部分構成要素を含む）を計算することができる。次いで、出力サイト一致が収集され、同時に変更される。さらに、変換をｎ回並列に適用する必要がある場合、ｎ個の同一の変換を並列に適用することができる。さらに、並行して適用することができる複数の異なる変換も、同時に適用される。
【００９１】
したがって、単一の方法で記述されたフォームデータおよび変換コマンドにより、可能な限り多くの処理をＧＰＵ、並列デバイス、またはＺｅｔａｎｅマシンに転送することができ、したがって、最大１０００倍速い速度が可能になる。
【００９２】
本アーキテクチャは、モジュール化を可能にする。フォームおよび変換として記述された各モデルは、モジュールとして保存／エクスポートすることができる。その後、モジュールを他のより大きいモデルにおいて使用および再使用することができ、したがって、データの交換および協調が容易になる。モジュールおよびモデルはメモリに記憶することができ、データコピーの代わりにメモリアドレスを使用することによって、他のモジュールによる処理のためにアクセスすることができる。これにより、アクセスおよび処理速度を向上させることができる。メモリアドレスを通じたモジュールの相互接続により、ストレージスペースの使用量を低減し、マシンのエネルギー消費量も低減することが可能になる。
【００９３】
１つの実施形態では、変換を介して任意のドメインの概念をフォームとして表現し、変換を通じてフォームを（機械語として、並列または非並列に）処理することが可能であるため、設計および計算を合理化し、加速させることができる。
【００９４】
フォームと変換を視覚的に表現することで、データの洞察が深まり、先進的なモデルの構築および設計が容易になる。変換およびデータを効率的に表現することが可能であるため、ユーザが計算およびデータとより深く直感的に相互作用することが可能である。特に、「人間参加型」にすることによって、変換およびフォームを視覚的に表現することなくしては発見できなかった重要な最適化を可能にすることができる。
【００９５】
図面の簡単な説明
本発明のさらなる特徴および利点は、添付の図面と組み合わせて取り上げられる、以下の詳細な説明から明らかになるであろう。
【図面の簡単な説明】
【００９６】
【図１】１つの実施形態による、変換制御ユニットおよび変換論理ユニットを備え、外部メモリに接続可能である変換処理ユニットを示すブロック図である。
【図２】１つの実施形態による、変換制御ユニット、変換論理ユニット、内部メモリを備える変換処理ユニットを示すブロック図である。
【図３】１つの実施形態による、複数の変換ブロックを備える変換論理ユニットを示すブロック図である。
【図４】１つの実施形態による、複数の相互接続されている変換ブロックを備える変換論理ユニットを示すブロック図である。
【図５】１つの実施形態による、入力サイトブロック、エフェクトブロックおよび出力サイトブロックを含む変換ブロックを示すブロック図である。
【図６】１つの実施形態による、入力サイトブロック、入力サイト範囲ブロック、エフェクトブロック、出力サイト範囲ブロックおよび出力サイトブロックを含む変換ブロックを示すブロック図である。
【図７】１つの実施形態による、複数の相互接続されている変換ブロックを備える変換論理ユニットによる入力の処理を示す図である。
【図８】１つの実施形態による、複数の相互接続されている変換ブロックを備える変換論理ユニットによる入力の処理を示す図である。
【図９】１つの実施形態による、複数の相互接続されている変換ブロックを備える変換論理ユニットによる入力の処理を示す図である。
【図１０】１つの実施形態による、複数の相互接続されている変換ブロックを備える変換論理ユニットによる入力の処理を示す図である。
【図１１】１つの実施形態による、複数の相互接続されている変換ブロックを備える変換論理ユニットによる入力の処理を示す図である。
【図１２】１つの実施形態による、変換を実行するための方法を示すフローチャートである。
【図１３】１つの実施形態による、図１２の方法を実行するためのシステムのブロック図である。
【図１４】１つの実施形態による、入力サイト、入力範囲、エフェクト、出力サイト、出力範囲および変換データを含む変換を示す図である。
【図１５ａ】１つの実施形態による、３Ｄ環境で方向付けられた三角形に続く長方形のボックスを示す図である。
【図１５ｂ】１つの実施形態による、３Ｄ環境で方向付けられた三角形に続く長方形のボックスを示す図である。
【図１６】関連する変換データ内のフィードを与えられた変換の例示的なグラフィック表現を示す図である。
【図１７】３つの点を作成するための例示的な変換を示す図である。
【図１８】実線を作成するための例示的な変換を示す図である。
【図１９】変換の複数の適用の一般化の例示を示す図である。
【図２０】フィードに存在する複数の変数を与えられた例示的な変換を示す図である。
【図２１】ポイントを互いに積み重ねるように設計された例示的な変換を示す図である。
【図２２】中実の正方形を作成するように設計されている例示的な変換を示す図である。
【図２３】中実の三角形を作成するように設計されている例示的な変換を示す図である。
【図２４】加速しているロケットを作成するように設計されている例示的な変換を示す図である。
【図２５】ロケットの相対変位のために設計されている例示的な変換を示す図である。
【図２６】ロケットを７回動かすように設計されている例示的な変換を示す図である。
【図２７】補間を用いてロケットを７回動かすように設計されている例示的な変換を示す図である。
【図２８】補間が作成される方法の例示的なカスタマイズを示す図である。
【図２９】絶対位置についての例示的な連続的変換を示す図である。
【図３０】相対位置についての例示的な連続的変換を示す図である。
【図３１】ロケットの連続的な相対変位を作成するための例示的な変換を示す図である。
【図３２】ｎ個の要素のベクトルを作成するための例示的な変換を示す図である。
【図３３】３×３行列を作成するための例示的な変換を示す図である。
【図３４】第１の例による、２部分エフェクトを含む変換を示す図である
【図３５】第２の例による、２部分エフェクトを含む変換を示す図である
【図３６】フィードおよび２部分エフェクトを含む例示的な変換を示す図である。
【図３７】例示的な離散変換を示す図である。
【図３８ａ】１つの例による、四面体の面への四面体の追加を示す図である。
【図３８ｂ】１つの例による、四面体の面への四面体の追加を示す図である。
【図３８ｃ】１つの例による、四面体の面への四面体の追加を示す図である。
【図３９】１つの例による、線分を三角形に置き換えるように設計された変換およびその適用を示す図である。
【図４０】１つの例による、線分を三角形に置き換えるように設計された変換およびその適用を示す図である。
【図４１】１つの例による、線分を三角形に置き換えるように設計された変換およびその適用を示す図である。
【図４２】第２の例による、線分を三角形に置き換えるように設計された変換の適用を示す図である。
【図４３】第２の例による、線分を三角形に置き換えるように設計された変換の適用を示す図である。
【図４４】１つの実施形態による、２つの相互接続されたニューロンを表現する変換のユニバースを示す図である。
【図４５】図４４に示されているユニバース内で適用される第１の例示的な変換を示す図である。
【図４６】図４４に示されているユニバース内で適用される第２の例示的な変換を示す図である。
【図４７】図４４に示されているユニバース内で適用される第３の例示的な変換を示す図である。
【図４８】図４４に示されているユニバース内で適用される第３の例示的な変換を示す図である。
【図４９】図４４に示されているユニバース内で適用される第３の例示的な変換を示す図である。
【図５０】図４４に示されているユニバース内で適用される第４の例示的な変換を示す図である。
【図５１】シナプス間隙の例示的なモデルを示す図である。
【図５２】図５１のシナプス間隙における１０個の神経伝達物質の放出をモデル化するための例示的な変換を示す図である。
【図５３】１つの実施形態による、出力範囲を視覚的に表現する長方形のボックスが与えられた図５１のシナプス間隙のモデルを示す図である。
【図５４】シナプス間隙における神経伝達物質の放出および神経受容体によるそれらの吸収を示す図である。
【図５５】シナプス間隙における神経伝達物質の放出および神経受容体によるそれらの吸収を示す図である。
【図５６】シナプス間隙における神経伝達物質の放出および神経受容体によるそれらの吸収を示す図である。
【図５７】シナプス間隙における神経伝達物質の放出および神経受容体によるそれらの吸収を示す図である。
【図５８】１つの実施形態による、グラフェンシートを作成するための変換を示す図である。
【図５９】１つの実施形態による、グラフェンシートを作成するための変換の適用の結果を示す図である。
【図６０】１つの実施形態による、ＣＯ２コレクタを作成するための変換の使用を示す図である。
【図６１】１つの実施形態による、ＣＯ２コレクタを作成するための変換の使用を示す図である。
【図６２】１つの実施形態による、ＣＯ２コレクタを作成するための変換の使用を示す図である。
【図６３】１つの実施形態による、衛星の手動回転を示す図である。
【図６４】１つの実施形態による、衛星の手動回転を示す図である。
【図６５】例示的な自動信号ファインダ変換を示す図である。
【図６６】衛星の例示的なキーボード作動回転を示す図である。
【図６７】ボタンを介して実施される衛星の例示的な回転を示す図である。
【図６８】自動車を動かすための第１の例示的な変換を示す図である。
【図６９】自動車を動かすための第２の例示的な変換を示す図である。
【図７０】１つの実施形態による、走行距離計の作成を示す図である。
【図７１】１つの実施形態による、走行距離計の作成を示す図である。
【図７２】１つの実施形態による、同じ変換の２つの異なる視覚的表現のうちの一方を示す図である。
【図７３】１つの実施形態による、同じ変換の２つの異なる視覚的表現のうちの一方を示す図である。
【図７４】１つの実施形態による、変換を作成するためのグラフィカルユーザインターフェースを示す図である。
【図７５】１つの実施形態による、四面体を作成するための図７４のグラフィカルユーザインターフェースの使用を示す図である。
【図７６】１つの実施形態による、四面体を作成するための図７４のグラフィカルユーザインターフェースの使用を示す図である。
【図７７】１つの実施形態による、四面体を作成するための図７４のグラフィカルユーザインターフェースの使用を示す図である。
【図７８】１つの実施形態による、四面体を作成するための図７４のグラフィカルユーザインターフェースの使用を示す図である。
【図７９】１つの実施形態による、四面体を作成するための図７４のグラフィカルユーザインターフェースの使用を示す図である。
【図８０】１つの実施形態による、図７５〜図７９に示されるステップに従って得られる四面体を示す図である。
【図８１】１つの実施形態による、図７５〜図７９に示されるステップに従って得られる複雑なフラクタルを示す図である。
【図８２】１つの実施形態による、入力サイト、エフェクト、および出力サイトを与えられた変換の使用を示す図である。
【図８３】１つの実施形態による、入力サイト、エフェクト、および出力サイトを与えられた変換の使用を示す図である。
【図８４】１つの実施形態による、入力サイト、エフェクト、および出力サイトを与えられた変換の使用を示す図である。
【図８５】１つの実施形態による、図８３に示される変換を連続して適用した後に得られるモデルを示す図である。
【図８６】１つの実施形態による、図８３に示される変換を連続して適用した後に得られるモデルを示す図である。
【図８７】１つの実施形態による、図８３に示される変換を連続して適用した後に得られるモデルを示す図である。
【図８８】１つの実施形態による、図８３に示される変換を連続して適用した後に得られるモデルを示す図である。
【図８９】１つの実施形態による、入力サイト一致を動的に変更する変換を示す図である。
【図９０】異なる範囲を与えられた例示的な変換を示す図である。
【図９１】異なる範囲を与えられた例示的な変換を示す図である。
【図９２】１つの実施形態による、図９１の変換を適用することによって得られる四面体を示す図である。
【図９３】１つの実施形態による線分を示す図である。
【図９４】１つの実施形態による、図９３の線分を回転させるための変換を示す図である。
【図９５】１つの実施形態による、変換がユーザグラフィカルインターフェース内で適用される回数の入力を示す図である。
【図９６】１つの実施形態による、図９５の変換を適用した結果を示す図である。
【図９７】１つの実施形態による、記録された変換のシーケンスを提示するインターフェースを示す図である。
【発明を実施するための形態】
【００９７】
添付の図面全体を通して、同様の特徴は同様の参照符号によって識別されることに留意されたい。
【００９８】
詳細な説明
本発明の実施形態は、異種データを処理するための変換処理ユニットを対象とする。１つの実施形態では、本アーキテクチャは、統一されたユニバーサルプロセッサの実装を可能にする。変換処理ユニットに入力および出力と直接対話させ、変換ブロックに直接記憶することによって、いくつかの利点が得られる。レジスタは、応答時間が最も速い記憶ユニットであり、変換ブロック内で直接アクセスすることができる。これにより、他の変換ブロックによって高速で処理される変換ブロックにも入力データが直接挿入されて、最終的にデータが出力デバイスにほぼ直接出力される、非常にパフォーマンスの高いコンピューティングパイプラインを合理化することができる。
【００９９】
以下に、視覚的プログラミングならびに高性能コンピューティングおよびシミュレーションを可能にする変換処理ユニットのためのコンピュータアーキテクチャについて説明する。コンピュータアーキテクチャは、異種データを高速で処理するのに適した処理ユニットデバイスを表す。
【０１００】
本変換処理ユニットデバイスを使用して、ユーザは、ユニバースに存在するフォームにエフェクト（効果）を適用することができる。フォームにエフェクトを適用するために、変換が作成される。変換は、少なくとも、フォームに適用されるエフェクト、エフェクトが適用されるべき場所を規定する出力サイト、および、任意選択的に変換データを含む。代替的に、変換は、少なくとも、エフェクト、エフェクトが情報を取得することができる場所を規定する入力サイト、および、任意選択的に変換データを含む。以下で説明する、変換を実行するように適合されたアーキテクチャを有する処理ユニットデバイスは、変換処理ユニットデバイスと呼ばれる。
【０１０１】
図１は、変換処理ユニット１２およびフォーム変換命令セット１４を備える変換処理ユニットデバイス１０の１つの実施形態を示す。変換処理ユニットデバイス１０は、データ、ステートメントおよび／または命令を記憶するための外部メモリまたは記憶ユニット１６と通信する。変換処理ユニット１０は、データを受信および送信するための入力および出力機構も備えることを理解されたい。
【０１０２】
変換処理ユニット１２は、互いに接続された変換制御ユニット１６および変換論理ユニット１８を備える。
【０１０３】
変換制御ユニット１６は、変換処理ユニットデバイス１０の構成要素および部分構成要素への、それらからの、およびそれらの間のデータ移動のシーケンスを調整するように構成される。
【０１０４】
変換論理ユニット１８は、命令によって指定される基本算術演算、論理演算、制御動作、および入出力（Ｉ／Ｏ）動作を実施することによるコンピュータプログラムの命令を含む。
【０１０５】
変換論理ユニット１８は、変換に関するすべての情報を記憶するように構成される。１つの実施形態では、変換論理ユニット１８は、命令によって指定される基本算術演算、論理演算、制御動作、および入出力動作を実施することによって変換に関連する命令を指示する制御電子回路（すなわち、制御ユニット）を備える。
【０１０６】
フォーム変換命令セット１４は、記憶されたすべての変換関連データを含み、変換処理ユニット１２によってアクセスすることができる。フォーム変換命令セット１４は、データ処理動作、変換動作、制御フロー動作および複雑な動作のための命令を含む。説明されている動作の一部は、照合、比較、変換適用、置換、取得、コピー、重ね合わせ、追加、命名、変換の並列および直列シーケンス、変換の順序および適用回数、フィードならびに補間である。フォーム変換命令は、変換処理ユニット１２から分離する必要はなく、確保された変換ブロック、専用レジスタ、記憶ユニット、メモリまたはディスクにエンコードすることができる。さらに、フォーム変換命令は、電子回路から構築することもできる。
【０１０７】
変換処理ユニットデバイス１０は外部メモリ２０に接続可能であるが、図２は、内部メモリ３２を備える変換処理ユニットデバイス３０の１つの実施形態を示している。変換処理ユニットデバイス３０は、変換処理ユニット３４およびフォーム変換命令セット１４を備える。変換処理ユニット３４は、変換制御ユニット１６と、変換論理ユニット１８と、データ、ステートメントおよび／または命令を記憶するための内部メモリまたは記憶ユニット３２とを備える。
【０１０８】
以下に説明するように、変換論理ユニット１８のアーキテクチャは、それが変換に関するすべての情報を含む限り、変化し得る。
【０１０９】
図３は、変換論理ユニット４０のアーキテクチャの１つの実施形態を示す。変換論理ユニット４０は、各々がそれぞれの変換に関連するすべての情報を記憶するための複数の変換ブロック４２ａ、４２ｂ、．．．４２ｎを備える。
【０１１０】
図示の実施形態では、各変換ブロック４２ａ、４２ｂ、．．．４２ｎは、それぞれのエフェクトブロック４４ａ、４４ｂ、．．．４４ｎおよびそれぞれの出力サイトまたは出力サイトブロック４６ａ、４６ｂ、．．．４６ｎを含む。各エフェクトブロック４４ａ、４４ｂ、．．．４４ｎは、エフェクトブロック４４ａ、４４ｂ、．．．４４ｎに関連するそれぞれのエフェクトに関するデータを記憶するための複数のメモリユニットまたはレジスタ４８を含み、各出力サイトブロック４６ａ、４６ｂ、．．．４６ｎは、出力サイトブロック４６ａ、４６ｂ、．．．４６ｎに関連するそれぞれの出力サイトに関連するデータを記憶するための複数のメモリユニットまたはレジスタ４８を含む。メモリユニット４８は、データを記憶するように構成され、記憶される複数のビットによって規定され得ることを理解されたい。
【０１１１】
１つの実施形態では、一部の変換ブロック４２ａ、４２ｂ、．．．４２ｎのみが、他の一部の変換ブロック４２ａ、４２ｂ、．．．４２ｎのみと通信することができる。別の実施形態では、一部の変換ブロック４２ａ、４２ｂ、．．．４２ｎは、互いに独立しており、任意の他の変換ブロック４２ａ、４２ｂ、．．．４２ｎと通信しない場合がある。さらなる実施形態では、図４に示すように、変換ブロック４２ａ、４２ｂ、．．．４２ｎはすべて相互接続され、結果、任意の変換ブロック４２ａ、４２ｂ、．．．４２ｎは任意の他の変換ブロック４２ａ、４２ｂ、．．．４２ｎと通信することができる。
【０１１２】
図４は、各々がそれぞれのエフェクトブロックおよびそれぞれの出力サイトブロックを含む複数の変換ブロック５２ａ、５２ｂ、５２ｃ、５２ｄ、．．．５２ｍ、５２ｎを含む変換論理ユニット５０を示す。各変換ブロック５２ａ、５２ｂ、５２ｃ、５２ｄ、．．．５２ｍ、５２ｎはすべての変換ブロック５２ａ、５２ｂ、５２ｃ、５２ｄ、．．．５２ｍ、５２ｎに直接接続され、結果、任意の変換ブロック５２ａ、５２ｂ、５２ｃ、５２ｄ、．．．５２ｍ、５２ｎの出力は、任意の他の変換ブロック５２ａ、５２ｂ、５２ｃ、５２ｄ、．．．５２ｍ、５２ｎの入力とすることができる。
【０１１３】
１つの実施形態では、変換ブロックは、図５に示すように、少なくとも１つの制御ユニットをさらに備えることができる。
【０１１４】
図５は、入力サイトまたは入力サイトブロック６２、エフェクトブロック６４、出力サイトまたは出力サイトブロック６６、および命令に基づいて動作を指示する制御ユニット６８を含む変換ブロック６０の１つの実施形態を示す。入力サイトブロック６２は、複数のメモリユニット７０および複数の論理ユニット７２を含む。エフェクトブロック６４および出力サイトブロック６６は、入力サイトブロック６２と同様のアーキテクチャを有し、エフェクトブロック６４は、複数のメモリユニット７４および複数の論理ユニット７６を含み、出力サイトブロック６６は、複数のメモリユニット７８および複数の論理ユニット８０を含む。論理ユニット７２、７６、８０は、算術論理演算ユニット、変換論理ユニット、変換論理ユニットの別の部分への参照などであってもよい。
【０１１５】
変換ブロック６０は、入力サイトブロック６２と出力サイトブロック６６の両方を含むが、入力サイトブロック６２を省略してもよく、結果、変換ブロック６０はエフェクトブロック６４および出力サイトブロック６６のみを含んでもよいことを理解されたい。同様に、出力サイトブロック６６を省略してもよく、結果、変換ブロック６０はエフェクトブロック６４および入力サイトブロック６２のみを含んでもよい。
【０１１６】
１つの実施形態では、制御ユニット６８を省略してもよい。別の実施形態の変換ブロックにおいて、論理ユニット７２、７６および８０を省略してもよい。
【０１１７】
図示の実施形態では、論理ユニット７２、７６、および８０は、それぞれ、入力サイトブロック６２、エフェクトブロック６４、および出力サイトブロック６６に含まれるが、論理ユニット７２、７６、および８０を、変換ブロック６０内の入力サイトブロック６２、エフェクトブロック６４および出力サイトブロック６６の外側に配置することができることが、当業者には理解されたい。
【０１１８】
入力サイトブロック６２、エフェクトブロック６４および出力サイトブロック６６の少なくとも１つは論理ユニットを含まなくてもよく、一方、入力サイトブロック６２、エフェクトブロック６４および出力サイトブロック６６の少なくとも１つは論理ユニットを含むことも理解されたい。
【０１１９】
図６は、入力サイトまたは入力サイト範囲ブロック１０２、入力サイトまたは入力サイトブロック１０４、エフェクトブロック１０６、出力サイトまたは出力サイト範囲ブロック１０８、出力サイトまたは出力サイトブロック１０８、命令に基づいて動作を指示する制御ユニット１１２、およびメモリ１１４を含む変換ブロック１００の１つの実施形態を示す。入力サイト範囲ブロック１０２は、複数のメモリユニット１２０および複数の論理ユニット１２２を含む。入力サイトブロック１０４は、複数のメモリユニット１２４および複数の論理ユニット１２６を含む。エフェクトブロック１０６は、複数のメモリユニット１２８および複数の論理ユニット１３０を含む。出力サイト範囲ブロック１０８は、複数のメモリユニット１３２および複数の論理ユニット１３４を含む。出力サイトブロック１１０は、複数のメモリユニット１３６および複数の論理ユニット１３８を含む。メモリ１１４は、複数の記憶ユニット１４０を備える。変換ブロック１００は、入力サイト、入力範囲、エフェクト、および出力サイト、および出力範囲を含む変換を実行するのに適していることを理解されたい。
【０１２０】
論理ユニット７２１２２．１２６、１３０、１３４、１３８は、算術論理演算ユニット、変換論理ユニット、変換論理ユニットの別の部分への参照などであってもよい。
【０１２１】
図１および図２を再び参照すると、フォーム変換命令セット１４は、演算および複雑な命令などの変換データを記憶する。たとえば、フォーム変換命令セット１４は、データおよびアドレスの読み出し、書き込みおよびコピーまたはデータ符号化などのデータ処理およびメモリ操作を可能にする。フォーム変換命令セット１４はさらに、照合、比較、変換適用、置換、取得、コピー、重ね合わせ、追加、命名などの変換に対する動作を可能にすることができる。フォーム変換命令セット１４は、並列および直列変換適用、変換適用の順序付け、適用回数の制御、変換優先順位付け、タイムライン作成などの制御フロー動作も可能にする。フォーム変換命令セット１４はさらに、フィード、補間、変換存続期間（変換が適用され始め、適用が終了する時間または順序を与える）などの複雑な命令を担当する。
【０１２２】
変換ブロックがレジスタまたはメモリユニット４８などのメモリユニットを含む実施形態では、変換処理ユニットデバイスは、変換論理ユニットの外部にメモリユニットを含まなくてもよい。たとえば、図２に示されるメモリユニット３２を省略してもよい。そのような実施形態では、変換ブロック自体を使用して、入力および出力ユニバースに関連するすべてのデータなどのデータを記憶することができ、それらを使用して高速アクセスメモリおよびストレージに使用することができる。この手法を使用して、変換論理ユニットを、変換ブロックを記憶ユニットとして使用することができる変換ブロックのみから構成されるようにすることができる。
【０１２３】
上述のように、データは、レジスタ、外部メモリ、内部メモリなどに記憶することができ、データは、種々の方法でフォーマットおよび符号化することができる。１つの実施形態では、データは、変換処理ユニットデバイス１０のために最適化されたフォームおよび変換として符号化される。フォームは、あらゆるタイプのデータを表現するために使用することができ、高度に階層的な構造を表現することができる。これはたとえば、肝臓および心臓を含む体であり、心臓は心筋細胞から構成され、細胞はそれ自体が原子から構成される分子から構成されるＤＮＡを含む。変換によってフォームが効率的に処理されることを可能にするデータとともに、フォームはそのような階層構造を正確に表現するようにすることができる。
【０１２４】
フォーム変換処理ユニットがメモリを含まない実施形態では、フォームなどのデータは、変換ブロックのレジスタに直接記憶される。この場合、一部の変換ブロックは記憶に使用することができ、空の入力サイトブロックおよび出力サイトブロックを有することができ、一方、エフェクトブロックはフォームなどのデータを含むことができる。代替的に、アクセス速度に応じて、入力サイト、出力サイトおよびエフェクトブロックが各々、フォームのコピーを含むことができる。
【０１２５】
１つの実施形態では、キーボード、マウス、および他の入力デバイスを、確保済みまたは事前に割り当てられた変換ブロックに接続することができる。モニタ、ＶＲヘッドセットおよび他のデバイスなどの出力も、複数の変換ブロック、および変換ブロックの識別番号またはアドレスに接続することができる。
【０１２６】
１つの実施形態では、制御ユニットまたは制御ユニットの一部は、確保された変換ブロックのセットから構成されてもよい。これにより、プロセッサの内部プロセスを種々のタイプの最適化に合わせて変更することが可能になる。
【０１２７】
上述の変換処理ユニットデバイスは、変換を実行する、すなわち、以下で詳細に説明するように、外部サイトに従って、変換データを使用し、任意選択的に入力サイト、入力範囲、および出力範囲に含まれる情報を使用して、選択されたフォームにエフェクトを適用するように構成されていることを理解されたい。
【０１２８】
図７〜図１１は、複数の変換ブロック１５２ａ、１５２ｂ、１５２ｃ、１５２ｄ、．．．１５２ｍ、１５２ｎのみを含む変換処理ユニットデバイス１５０を使用して、データを計算および処理するための例示的なプロセスを示す。各変換ブロック１５２ａ、１５２ｂ、１５２ｃ、１５２ｄ、．．．１５２ｍ、１５２ｎには、それぞれの制御ユニット１５４ａ、１５４ｂ、１５４ｃ、１５４ｄ、．．．１５４ｍ、１５４ｎ、それぞれのエフェクトブロック１５６ａ、１５６ｂ、１５６ｃ、１５６ｄ、．．．１５６ｍ、１５６ｎ、およびそれぞれの出力サイトブロック１５８ａ、１５８ｂ、１５８ｃ、１５８ｄ、．．．１５８ｍ、１５８ｎが与えられている。変換処理ユニットデバイス１５０のアーキテクチャはクロックレスであり、結果、デバイス１５０は非同期プロセッサデバイスに対応する。
【０１２９】
変換ブロック１５２ａ、１５２ｂ、１５２ｃ、１５２ｄ、．．．１５２ｍ、１５２ｎはすべて相互接続されており、結果、各変換ブロック１５２ａ、１５２ｂ、１５２ｃ、１５２ｄ、．．．１５２ｍ、１５２ｎは、他の変換ブロック１５２ａ、１５２ｂ、１５２ｃ、１５２ｄ、．．．１５２ｍ、１５２ｎのいずれか１つとデータを交換することができる。
【０１３０】
図７に示すように、変換処理ユニットデバイス１５０は、入力信号を受信し、出力信号を出力するように構成される。入力信号は、たとえば、キーボードのキーの押下を示すことができる。
【０１３１】
図８に示すように、変換ブロック１５２ａなどのいくつかの変換ブロックは空であり、一方、変換ブロック１５２ｂ、１５２ｄ、および１５２ｍなどの他の変換ブロックは事前定義され、いくつかの変換に関する情報を含む。
【０１３２】
この例では、キー１が押され、変換ブロック１５２ａが、キーボードからキー１が押されたという信号を受信する。変換ブロック１５２ａの制御ユニット１５４ａは、受信した入力信号に従って、エフェクトブロック１５６ａおよび出力サイトブロック１５８ａを更新する。本例では、制御ユニット１５４ａは、図９に示すように、エフェクトブロック１５６ａのレジスタの１つを２進数１によって更新し、出力サイトブロック１６８ａのレジスタの１つを、文字Ｋを表現する２進数によって更新する。
【０１３３】
変換ブロック１５２ａの制御ユニット１５４ａは、エフェクトおよび出力サイトの値を符号化する信号を他の変換ブロック１５２ｂ、．．．１５２ｎに送ることにより、照合プロトコルを開始する。変換ブロック１５２ａから信号を受信すると、変換ブロック１５２ｂ、．．．、１５２ｎの制御ユニット１５４ｂ、．．．、１５４ｎは、出力サイトの入来信号と、その記憶されている値との比較を開始し、一致がある場合、記憶されている値は、入来エフェクト値に変更される。一致がない場合、記憶されている値は置換も変更もされない。本例では、変換ブロック１５２ｄのエフェクトブロック１５６ｄに含まれる値は、変換ブロック１５２ａの出力サイトブロック１５６ｄに含まれる値に対応する。したがって、エフェクトブロック１５６ｄに含まれる値は、図１０に示されるように１に変更される。デジタル回路のレベルでは、複数の論理ゲートから構成されるデジタルコンパレータを使用して照合を達成することができ、通常の制御ユニットなしで直接達成できる。論理ゲートは制御ユニットに対応する。さらに、データの送信、データの受信、ならびに命令および動作の開始は、制御ユニットを使用せずに変換ブロックレベルで直接実行することができる。
【０１３４】
次に、一致があった変換ブロック１５２ｄの制御ユニット１５４ｄは、その新しいエフェクト値を示す信号を他の変換ブロック１５２ａ、１５２ｂ、１５２ｃ、１５２ｎ、１５２ｍに送り、当該他の変換ブロックは、各々がそれらの出力サイト値（すなわち、それらの出力サイトブロック１５８ａ、１５８ｂ、１５８ｃ、１５８ｎ、１５８ｍに記憶されたそれらの出力サイト値）と、変換ブロック１５２ｄの新しいエフェクト値とを照合しようと試みる。本例では、エフェクト２（または２進フォームでは１０）および出力サイト１による変換に関連付けられる変換ブロック１５２ｍに一致がある。次に、変換ブロック１５２ｍは、そのエフェクト値およびその出力サイト値を変換ブロック１５２ｄに送り、最近更新された値１を２に置き換える。このとき、変換ブロック１５２ｄに関連する変換は、出力サイトにおいて値２およびＯを有するエフェクトに対応する。たとえば、新たに更新された変換１５２ｄは、次いで、数２を示すためにモニタピクセル値を更新することを担当する複数の変換に信号を送ることができる。別の例では、新たに更新された変換１５２ｄはまた、追加の内部プロセッサ計算をトリガするか、またはそれに関与することもできる。
【０１３５】
上記の例では、変換からの各照合試行におおいて１つの一致のみが可能であったが、各照合試行において複数の一致が発生する可能性があることを理解されたい。複数の一致がある場合、一致した各変換が更新され、他の複数の変換データの照合などの計算プロセスが続行される。これにより、変換処理ユニットデバイスのアーキテクチャがクロックレスであるだけでなく、本質的に高度な並列化も可能になる。さらに、一致するインスタンスの数が指数関数的に増加する可能性がある（５つの一致は各々、他の５つの変換を照合することができる５つの一致をトリガし、したがって、５、５＊５、５＊５＊５の同時変換事象が与えられる）。
【０１３６】
１つの実施形態では、変換ブロックは、（入力範囲を記憶するための）入力サイト範囲および／または（出力範囲を記憶するための）出力サイト範囲を含むこともできる。この場合、上記の例に戻って参照すると、照合プロトコルは、照合を試行するすべての変換ブロックに照合信号を送信するのではなく、すべての変換ブロックのうちのサブセットのみに送信する。たとえば、エフェクト１および出力サイトＫを与えられた変換ブロック１５２ａからの信号は、変換ブロック１５２ｉ〜１５２ｋにのみ送信され得る。これは、変換ブロック１５２ａの出力サイト範囲または入力サイト範囲が、照合信号が送信されることになるレジスタ／変換ブロック識別情報（またはレジスタのアドレス）のリストを含む場合に行われ得る。このような構成により、コンピュータアーキテクチャ（または変換ブロックを定義するユーザ）は、一致の検索の「範囲」を事前定義された変換ブロックのセットに制限することにより、照合時間またはエネルギー消費を低減することができる。
【０１３７】
さらに、入力サイト範囲および／または出力サイト範囲は、類似の変換ブロックを区別する方法を提供することができる。上記の例では、エフェクト１および出力サイトＫを有する変換と一致する複数の変換ブロックが存在する可能性がある。［エフェクト１および出力サイトＯ］および［エフェクトＫおよび出力サイトＭ］を有する変換がある可能性があるが、出力サイト範囲により、一致をたとえば、［エフェクト１および出力サイトＯ］など、そのうちの１つだけに制限することが可能である。これは、その識別情報が出力サイト範囲に含まれるためである。
【０１３８】
送信された信号または照合要求は、出力サイト一致のために送信されるように確保されるだけでなく、他の変換から開始することもできる。たとえば、入力サイトを有する変換ブロックが、信号を開始（または信号を受信）することができる。入力サイト照合は、入力サイト範囲にリストされているレジスタに対して入力サイト照合を可能にすることにより、出力サイトと同様に機能する。
【０１３９】
１つの実施形態では、変換ブロックは、制御ユニット（複数可）、変換自体、任意の数の他の変換または場合によっては任意の外部デバイスによって読み取りおよび書き込みが可能なデータ（限定ではないが、任意の数のフォームまたはレジスタへの参照など）を有するレジスタを含むデータセクションも有することができる。このようなデータの例は、変換ブロックがマッチングプロトコルを開始した回数、または、この変換ブロックによって実行することができる照合の回数を含むことができる。
【０１４０】
変換処理ユニットデバイスの上記のアーキテクチャは、仮想マシン上で再現することもできる。Ｃｕｄａ（登録商標）、ＯｐｅｎＣＬ（登録商標）、ＯｐｅｎＭＰ（登録商標）、ＯｐｅｎＣＶ（登録商標）、Ｃｏｍｐｕｔｅ  Ｓｈａｄｅｒｓ（登録商標）、マルチスレッドライブラリ、並列計算ライブラリおよび／または他のタイプのライブラリとともに、１つまたは複数のＧＰＵ、コア、ＣＰＵ、処理デバイス、コンピューティングデバイスおよび／またはフィールドプログラマブルゲートアレイ（ＦＰＧＡ）を使用して、仮想マシン上でアーキテクチャの全体または一部を近似することが可能である。
【０１４１】
以下に示す結果は、ＣＰＵおよびＧＰＵを備えた仮想マシン上に実装された上記のアーキテクチャを使用して達成された。このようにして得られた仮想マシンは、中でも、ニューラルネットワークのシステムである３Ｄの人工ニューラルネットワークを訓練し、ＤＮＡ複製をシミュレートし、クラウドシミュレーションを作成するために使用された。
【０１４２】
以下では、上記のアーキテクチャによって可能になる、変換を適用する方法について説明する。
【０１４３】
図１２は、視覚的プログラミングのための方法２００の１つの実施形態を示す。方法２００は、ハードウェアまたは仮想マシンのいずれかに実装された上記の変換処理設計によって実行することができる。
【０１４４】
ステップ２０２において、変換が受信される。本事例において、変換は、少なくとも、入力サイトの識別情報、出力サイト、エフェクトおよび変換データの識別情報を含む。ただし、前述のように、変換はエフェクトおよび入力サイト、または入力および出力サイトのみを含み得、変換データは任意選択である。
【０１４５】
ステップ２０４において、入力サイトが入力ユニバースから取り出される。入力サイトは、変換に関連する情報が取り出される入力ユニバースから少なくとも１つのフォームを識別する。ステップ２０６において、出力サイトが出力ユニバースから取り出される。１つの実施形態では、出力サイトは、入力サイトから取り出される情報を使用して出力ユニバースから取り出される。出力サイトは、変換に関連付けられるエフェクトが適用される出力ユニバースの部分空間（すなわち、出力ユニバースに含まれる所与のフォーム）を規定する。
【０１４６】
ステップ２０８において、変換において定義されるエフェクトが、変換データおよび入力サイトから取り出される情報を使用して、取り出された出力サイトに適用され、それにより、変更された出力サイトが得られる。
【０１４７】
ステップ２１０において、変更された出力サイトが出力される。１つの実施形態では、変更された出力サイトはメモリに記憶される。同じまたは別の実施形態では、以下で説明するように、変更された出力サイトのグラフィック表示が出力ユニバースの表現内に表示される。さらに別の実施形態では、変更された出力サイトは、第２の変換が実行されるための入力として使用されてもよい。たとえば、図８〜図１１を参照すると、変更された出力サイトは、その関連する変換ブロック１５２ａ、１５２ｂ、１５２ｃ、１５２ｄ、．．．１５２ｍ、１５２ｎから少なくとも別の変換ブロック１５２ａ、１５２ｂ、１５２ｃ、１５２ｄ、．．．１５２ｍ、１５２ｎに送信することができる。
【０１４８】
１つの実施形態では、入力サイトを使用して、変換の任意の部分を変更することができる。たとえば、入力サイトデータを使用して、出力サイト、変換データ、出力範囲およびエフェクトの任意の部分をインスタンス化、更新、計算、または変更することができる。
【０１４９】
１つの実施形態では、変換は、入力サイトの識別情報および／または変換データを含まない。この場合、入力ユニバースから入力サイトを取り出すステップ２０４が省略され、および／または、変換データを取り出すステップが省略され、入力サイトおよび／または変換データに関する情報を考慮せずに出力サイトにエフェクトが適用される。
【０１５０】
別の実施形態では、変換は、出力サイトの識別情報および／または変換データを含まない。この場合、出力ユニバースから出力サイトを取り出すステップ２０６が省略され、および／または、変換データを取り出すステップが省略され、出力サイトおよび／または変換データに関する情報を考慮せずにエフェクトが適用される。
【０１５１】
出力サイトおよび変換データの受信が省略される実施形態では、ステップ２０２は、エフェクトのみを受信することを含む。その後、エフェクトおよび入力サイトのみが受信される。次に、ステップ２０６は、入力ユニバース内の受信された入力サイトを取り出すこと、すなわち、受信された入力ユニバースの入力ユニバースへの一致を見つけ、取り出された入力サイトに関連する情報を取り出すことに存する。ステップ２０８は、変更されたエフェクトを得るために、入力一致に関連する取り出された情報を使用してエフェクトを変更することに存する。次に、ステップ２１０において変更されたエフェクトが出力される。変更されたエフェクトは、エフェクトブロック内など、メモリ内に記憶され、および／または表示されるために出力され得る。
【０１５２】
１つの実施形態では、ステップ２０４は、入力サイトに関連する入力範囲を取り出すこと、および／または出力サイトに関連する出力範囲を取り出すことをさらに含む。この場合、エフェクトは、取り出された入力範囲に関連する情報および／または取り出された出力範囲に関連する情報を使用して適用される。
【０１５３】
１つの実施形態では、方法２００は、出力ユニバースを表現するための第１のセクションと、変換のグラフィック表現を表示するための第２のセクションとを含むユーザグラフィカルインターフェースを表示することをさらに含む。１つの実施形態では、第２のセクションは、入力サイトを規定するための第１のウィンドウ、エフェクトを規定するための第２のウィンドウ、出力サイトを規定するための第３のウィンドウ、および変換データを入力するための第４のウィンドウを含む。ユーザインターフェースは、出力ユニバースの視覚的表現、および変換の視覚的表示をディスプレイ上でユーザに表示することができる限り、変化してもよいことを理解されたい。
【０１５４】
１つの実施形態では、入力サイトは第１のウィンドウに表示され、エフェクトは第２のウィンドウに表示される一方、出力サイトは第３のウィンドウに表示される。
【０１５５】
以下でさらに詳細に説明するように、ユーザは、任意のウィンドウの内容を描画および編集することができる。
【０１５６】
上述の方法２００は、コンピュータによって実行されるときに上記のステップを実施するコンピュータ実行可能命令を記憶するコンピュータ可読メモリを備えるコンピュータプログラム製品として実施することができる。
【０１５７】
図１３は、視覚的プログラミングのためのシステム２３０の１つの実施形態を示す。システム２３０は、少なくとも１つのＣＰＵおよび／または少なくとも１つのＧＰＵなどの処理ユニット２３２と、通信ユニット２３４と、命令およびデータが記憶されるメモリ２３６とを少なくとも備える。処理ユニット２３２は、方法２００の上述のステップを実行するように構成される。１つの実施形態では、システム２３０は、上述の変換処理ユニットアーキテクチャを再現するように構成された仮想マシンに対応する。
【０１５８】
上記のように、変換は、エフェクト、入力サイトおよび／または出力サイト、ならびに、任意選択的に変換データ、入力範囲および／または出力範囲から構成され得る。単純な例として、出力サイトは、出力ユニバース内でフォームが変化しているものと考えることができ、エフェクトは同じフォームを示すが、たとえば、新しい位置にあるかまたは新しい形状を有するなどの新しい状態にある。出力サイトにある１枚の紙（または１枚の紙の表現）を考えることができ、この１枚の紙がくしゃくしゃになってボールのようになっていることがエフェクトである。ここで、変換のエフェクトは、紙をくしゃくしゃにしてボールにする動作に対応する。この変換を１００枚のスタックに１００回適用して、くしゃくしゃになった１００個の紙のボールを得ることができる。
【０１５９】
存在する場合、入力サイトは、入力ユニバースの部分空間から、すなわち入力ユニバース内で選択された少なくとも１つのフォームから情報を抽出するために使用される。次に、選択したフォーム（複数可）の情報、および、任意選択的に、変換の適用回数、変換のスタイルおよびタイプなどの情報を含むがこれらに限定されない変換データに基づいて、変換のエフェクトが適用される。
【０１６０】
入力または出力サイトを選択するための任意の適切な方法を使用することができることを理解されたい。たとえば、システムから選択したフォームをコピーすること、ドラッグアンドドロップ機能を使用すること、他のシステムまたは他のシステムの一部をインポートすること、他のソフトウェアまたはデバイスからファイルをインポートすること、描画ツール、変換、グラフィカルユーザインターフェースボタン、変換に接続されたグラフィカルユーザインターフェースボタン、フォームおよび変換によって規定されるグラフィカルユーザインターフェースボタンなどソフトウェア機能を用いて直接フォームを作成することによって、入力または出力フォームを挿入することができる。
【０１６１】
１つの実施形態では、フォームを変換の一部に自動的に、またはユーザの要求によって挿入すると、フォームのコピーが変換の他の部分に自動的に表示されてもよい。１つの実施形態では、自動的に生成されたコピーは、挿入されたフォームと同一であり得る。別の実施形態では、自動的に生成されたコピーは、挿入されたフォームと異なっていてもよい。たとえば、自動生成されたコピーの透過性は異なっていてもよい。次いで、ユーザは、コピーのいずれの要素を保持、削除、置換、編集、または変更するかを決定することができる。これにより、変換およびシステムの迅速な構築が可能になる。システムは、フォーム、変換、フォームのコレクション、変換のコレクション、またはフォームおよび変換のコレクションであると理解されたい。
【０１６２】
図１４は、入力サイト２５２、入力範囲２５４、エフェクト２５６、出力サイト２５８、出力範囲２６０および変換データ２６２を含む変換の例示的なグラフィック表現２５０である。入力範囲は、入力サイト一致を選択することができる入力ユニバース２６４の一部を選択することを可能にし、一方、出力範囲は、中に存在する出力ユニバース２６６の出力サイトにエフェクトを適用することができる出力範囲の一部を規定することを可能にする。
【０１６３】
１つの実施形態では、以下のコマンド／言語を使用して、変換を定義することができる。
【０１６４】
記号「：＝」またはテキスト入力セクションは、フォーム、変換、またはユニバースに名前を付けるために使用することができる。
【０１６５】
「コピー（Ｃｏｐｙ）／切り取り（Ｔａｋｅ）」は、入力サイト、すなわち、入力ユニバース内で選択されるフォームが、エフェクトの適用後に入力ユニバースに残る（コピー）か、または、変換が適用された後に入力ユニバースから消える（切り取り）かを指定するために使用することができる。
【０１６６】
「追加（Ａｄｄ）／置換（Ｒｅｐｌａｃｅ）」は、出力サイト、すなわち、出力ユニバース内で選択されるフォームが、変換が適用された後、残る（追加）か、または、出力ユニバース内で置換される（置換）かを指定するために使用することができる。場合によっては、フォームが互いに重なり合い、したがって、同じ場所に同じフォームの複数のコピーがあることが許容される。
【０１６７】
「回数（＃ｔｉｍｅｓ）」は、変換が適用される回数を示すために使用することができる。
【０１６８】
「すべて（Ａｌｌ）」は、変換が、その時点またはタイムラインの現在の位置における変換の入力サイトおよび出力サイトを満たすフォームの各々を１回変更することを示すために使用することができる。
【０１６９】
「常に（Ａｌｗａｙｓ）」は、変換が常に適用される準備ができているか、または、無限回数適用することができるか（場合によっては、入力および出力の条件が満たされている限り）を示すために使用することができる。
【０１７０】
「Ａｐｐｌｉｃａｔｉｏｎ＃」は、さまざまな変換が適用される順序を示すために使用することができる。システム内にいくつかの変換が存在する場合、最も低い番号が割り当てられている変換が、次に適用される変換である。
【０１７１】
「Ｌｉｆｅｓｐａｎ  ｐａｒａｍｅｔｅｒｓ（存続期間パラメータ）」（図示せず）は、変換がいくつのステップ内で適用され得るか、および、いくつのステップにわたって変換が適用され得るかを示すために使用され得る。これらのパラメータは、グローバルステップカウンタを参照し、変換を適用することができるステップ（整数または区間）を示すことができる。
【０１７２】
他のタイプの変換データ（図示せず）は、限定ではないが、変換が適用後に残るかまたは消えるかに関する指示、変換が属するグループ、変換が並列に、順次または同時に適用されるべきかに関する指示、変換のタイプ、変換のスタイル、変換の名前、制約、グローバル軸またはローカル軸などのデータを含んでもよい。
【０１７３】
変換のアクティブ化およびプロセス
１つの実施形態では、変換が入力サイトを含み、入力サイトが入力ユニバースで内に一致を有する場合、変換はアクティブ化され、実行することができる。入力サイト内に満たさなければならない不等式または条件がある場合、出力サイトが出力ユニバース内に一致を有する場合であっても、不等式が満たされるまで変換は適用されない。
【０１７４】
１つの実施形態では、変換の実行のプロセスは以下の通りである。
まず、入力サイト内で定義されたフォームと入力ユニバース内のフォームとの一致が検索される。一致が見つかると、識別されたフォームが入力ユニバース内で選択される。
【０１７５】
次に、入力ユニバース内で選択されたフォームに関連付けられた情報に基づいて、存在する場合、入力サイトまたは入力範囲内で定義された不等式、条件または方程式が満たされるか否かが判断される。１つの実施形態では、満たすべき不等式および方程式は、存在する場合、入力範囲または出力範囲内に含めることができる。
【０１７６】
エフェクト出力サイトおよび変換データは、適切な変数（または＊）を情報または変更された情報に置き換えることにより、選択された情報によって更新される。この場合、変換はアクティブ化されたと言われ、値は初期化されたと言われる。
【０１７７】
次に、出力サイト内で定義されたフォームと一致する出力ユニバースに含まれるフォームが選択される。
【０１７８】
次に、変換は、出力ユニバース内で選択されたフォームを、変換のエフェクト内で定義されたフォームに置き換える。１つの実施形態では、エフェクト内で定義されたフォームは、出力ユニバース内で選択されたフォームに重ね合わせることができる。
【０１７９】
１つの実施形態では、入力サイトが常に入力ユニバースの所与のフォームに接続されまたは一致する場合、入力ユニバース内の所定のフォームへの変更により、上記のプロセスの実行がトリガされる。この場合、変換は出力サイトを一切含まない場合があり、したがって出力範囲を一切含まない場合がある。常に接続されたフォームの例は、入力ユニバース内に１つのフォームがあり、同じフォームが入力サイト内で定義されており、結果、変換が切り取りではなくコピーに設定されるシナリオに対応する。この場合、入力ユニバース内に存在し、入力サイト内で定義されたフォームに加えられた変更が検出されると、変換が自動的に実行される。
【０１８０】
変換適用
変換は、入力範囲および出力範囲を含むとき、以下のように適用することができる。入力範囲および出力範囲は、システム全体、空、フォーム、フォームタイプ、システムのサブシステム、システムの多次元空間、またはシステムのフォームの周りの多次元空間（たとえば、３Ｄメッシュのエッジの周りのボリューム）などとすることができる。入力範囲は、変換が情報を抽出することを可能にされる場所に関する情報を提供する。すなわち、入力範囲は、入力サイト内で識別されたフォームを選択することができる入力ユニバースの部分空間を規定する。入力サイトは、入力範囲から選択することができるフォームを定義する。エフェクトは、入力範囲の選択されたフォームの情報に依拠するフォームから構成される。出力範囲は、出力ユニバース内の変換を適用することができる場所に関する情報を提供する。変換は、出力範囲から出力サイトに類似するかまたは等しいフォームを選択することによって適用される。次に、システムの選択されたフォームが変更され、追加され、横に追加され、近くの階層位置に追加され、またはエフェクトからの対応するフォームに置換される。出力サイトのフォームとエフェクトとの間の対応は、たとえば、それらの間に線を表示することによって、または、種々の場所に表示されるデータを用いてなど、種々の方法で示すことができる。
【０１８１】
入力サイトおよびエフェクトを与えられた変換は、入力ユニバース内のフォームのコレクションからフォームを取り上げ、それらを使用して「エフェクト」と呼ばれるオブジェクトを構築することとして理解することができる。選択されたフォームは、入力ユニバースから削除されるか、または変更されないままになる。出力サイトおよびエフェクトを有する変換は、出力ユニバースからフォームを選択し、その後、選択したフォームを追加、置換、および変更することとして理解することができる。特に選択したフォームに要素が追加される場合、出力サイトのフォームがエフェクト内に存在し得る。変換は、入力フォームと出力フォームの両方を有することができる。したがって、入力からエフェクトを作成し、次いで、システムからのフォームを変更するために適用することができる。
【０１８２】
１つの実施形態では、選択されたフォームは、オブジェクトの名前またはタイプタグであり得る。変換データは、タグ自体またはタグの内容が選択されるべきか否かに関する指示を含み得る。たとえば、これにより、タグ「分子」を選択し、使用または置換のためにタグ「分子」に関連付けられた分子を使用することが可能である。これは、特定のフォームに添付されているものをすべて選択または変更する必要があることを示す表記（記号または色）を使用して、タグまたは名前とは異なるオブジェクトに拡張することができる。さらに、表記によって識別される所定の構造を有しないすべてのフォームを変更するために選択される表記（記号または色）を定義することができる。たとえば、タグ分子を有するフォームを選択するが、炭素原子（Ｃ）を有しない変換を定義することができる。
【０１８３】
変換データ
変換が情報を抽出し、構築され、適用され、システム内で挙動する様式は、変換データによって調整することができる。このような変換データの例は、変換が適用される回数（有限または無限）、変換が適用される順序、変換が適用できなくなったときに変換が削除されるか、またはとどまるかに関する指示、特定のタイプのすべてのオブジェクトに変換が適用されるべきか否かに関する指示、変換が補間ステップを表現するか否かに関する指示、変換がオブジェクトをスケーリングまたは回転させる様式、変換が絶対または相対のいずれにおいて挙動するかに関する指示、変換が座標系にどのように影響するかの指標、変換の名前、変換が使用されるシステムの名前、変換の作成者および編集者の名前、変換の使用に関連するコメント、ローカルおよびリモートリポジトリ、レーティングなどを含む。変換データは変換全体に割り当てることができるが、変換の部分の異なるコレクションに異なるデータセットを割り当てることもできる。たとえば、データは、入力サイトとエフェクトとから構成されるカップル、または出力サイトとエフェクトとから構成されるカップルに割り当てることができる。これを使用して、たとえば、特定のタイプの多数のフォームに基づくエフェクトを作成し、次いで、変換を適用して、単一のオブジェクトを変更することができる。
【０１８４】
１つの実施形態では、有用なタイプの変換データは、「ポスト（ｐｏｓｔ）」および「プレ（ｐｒｅ）」と呼ばれる。変換に「ポスト」を割り当てることは、この変換が非ポスト変換の各適用後に適用されることを示す。これを３Ｄアニメーションで使用すると、図１５ａおよび図１５ｂに示すように、ポイントのメッシュを特定のフォームに追従させることができる。たとえば、三角形の上に３Ｄメッシュを追加するポスト変換によって、３Ｄメッシュ（または長方形のボックス）を三角形の位置および向きに追従させることができる。三角形を移動した後、ポスト変換があるため、船は三角形に続く位置に更新される。
【０１８５】
１つの実施形態では、フォームを別のフォームのサブセットとして挿入することができ、結果、サブセットのフォームの解釈はその親フォームに依存する。たとえば、３Ｄメッシュは三角形のサブセットとして挿入することができ、三角形が動くと、メッシュは三角形の位置に基づいて解釈されるため、メッシュはそれに追従する。
【０１８６】
同時および一連の変換
変換のシーケンスを構築することができ、この場合、前の変換がまだ存在するまで次の変換を適用することができないように、変換が順次適用されることになることを理解されたい。シーケンス自体もフォームであるため、データのコレクションを割り当てることができる。１つの実施形態では、変換の順序番号は、いずれの変換が次に適用されるべきかを示す。変換データに番号または等しい順序番号のない複数の同時シーケンスは、それぞれの優先順位に応じて、同時にまたは次々に適用することができる。代替的に、実行の順序は、各変換に割り当てられた確率を使用して、変換データ情報に基づいて、フレームワークのランダム関数から決定される。順序番号は、関数および演算によって与えることができる。たとえば、適用は、２つ以上の変換の間で交互に切り替わるようにすることができる。１つの実施形態では、シーケンスはアクティブである特性を有することができ、シーケンスが含む変換は、いくつかのまたはすべてのタイムラインステップにおいて適用される。１つの実施形態では、ユニバースまたはイベントの変化が、それらが含む変換を実行することによって処理されるシーケンスの取り出しをトリガする。
【０１８７】
自己および高次変換
変換がどこから情報を抽出することができるか、または変換をどこに適用することができるかについては制約がない場合があることを理解されたい。たとえば、変換を適用して、任意の他の変換の任意の部分、システムのデータ、または変換に関連付けられたデータを変更することができる。変換は、さらには情報を抽出し、または、それ自体の部分の所与の１つを変更することができる。これらの機能は、より高次のシステムへの機会、および、モデルにおける再現の組み込みを提供する。
【０１８８】
タイムラインアクセス
各ステップにおいて、またはシステムが変化するたびに、以前の状態をメモリに記録して、システムのタイムラインを構築することができる。タイムラインは、システムの履歴と考えることができる。同様に、システムの各要素またはフォームのタイムラインを記録することができる。たとえば、メッシュのエッジがあった位置を記録して、その後アクセスできるようにすることができる。この場合、エフェクトまたは出力サイトなどの変換の一部は、フォームだけでなく、タイムラインに記録されたフォームの以前の状態も含むことができる。これは、微分計算に関連するモデリングを作成するのに有用であり得る。たとえば、エッジが特定の位置にあり、さらに過去にある特定の位置にあった場合、エッジを削除する変換を構築することができる。タイムラインの未来を使用することも可能であるが、これにはシステムを複数回実行するか、または、複数のパスを実行する必要がある。たとえば、エッジが所与の実際の位置にあり、将来的にある特定の位置になる場合、この時点でエッジが削除され得る。この場合、これは、エッジを削除せずにシステムを１回実行した後で将来が決定されたと想定している。
【０１８９】
以下は、将来のタイムラインのアクセスに関連するより正確な例を示している。将来のステップにおいてシステム内に特定の将来のフォームが存在する（または必要な状態にある）場合、本ステップＳ０においてシステムに変換を適用することができる。このような変換を適用することができる場合、システムは変換を適用せずにシステムの実行を継続し、指定されたステップにおいてシステム内に将来のフォームがあるか否かを確認する。フォームが存在する場合、システムはステップＳ０に戻り、変換を適用してシステムを実行する。フォームが将来のステップにおいて存在しない場合、システムはそこから実行を継続する。この技法を使用して、システムを最適化し、または、システム内の悪影響を回避することができる。
【０１９０】
タイムラインへのアクセスを必要とする変換は、多くの異なるフォームの複数の過去、現在、未来のステップに同時にアクセスすることができる。
【０１９１】
非表示／表示、プライベート／公開、およびインターフェース
各システム、変換またはフォームは、表示もしくは非表示にすることができ、および／または、公開もしくはプライベートとして選択することができる。これは、システムの実行時に表示する必要のない、基礎となるデータを非表示にすることに役立つ。たとえば、３Ｄメッシュは面のみを表示することができ、頂点または辺は表示しなくてもよい。ただし、辺が公開されたままの場合でも、非表示のフォームには依然として変換が適用される。フレームワークの非表示／表示およびプライベート／公開機能に基づいて、一部の情報のみが露出され、編集することができるインターフェースを作成することができる。たとえば、色ｃおよび長さｄの辺のｎ個の正三角形から構成されるシステムを有することができる。三角形［ｎ，ｃ，ｄ］のように見えるインターフェースを作成することができる。この場合、三角形［６，緑，１／２］は、長さが１／２の辺を有する６つの緑色の正三角形を表現する。インターフェースを作成するこの機能は、システムのネイティブ機能として組み込むこともできる。
【０１９２】
フレームワークのＧＵＩ機能
１つの実施形態では、システムは、それ自体をフレームワーク内で作成することができるか、またはフレームワーク自体を使用することによって追加することができるボタンを含むグラフィカルユーザインターフェース（ＧＵＩ）を含むことができる。ＧＵＩボタン、キーボードボタン、マウスボタンをクリックするか、または、入力を開始すると、変換をシステムに適用することができる。これにより、ユーザはユーザインターフェースを完全にカスタマイズすることが可能である。初期ＧＵＩにはフレームワークが付属している場合があるが、ユーザは、種々の変換を開始しまたは種々のシステムを実行するボタンを追加することができる。興味深いことに、これによりユーザまたは開発者は、仮想現実および拡張現実アプリケーションの３Ｄ  ＧＵＩを作成することが可能である。本変換処理ユニットおよび方法は、ウェブブラウザと同様の方法で動作するソフトウェアによってナビゲートされ得る対話型３Ｄウェブサイトを作成するために使用することができる。
【０１９３】
入来および発信データ
本システムは、入来フォームおよび発信フォームと呼ばれる特殊なフォームを備えた他のソフトウェアまたはハードウェアとリアルタイムで接続されてもよく、されなくてもよい。このタイプのフォームは、別のソフトウェアまたはハードウェアによってアクセス可能な公開データまたはプライベートデータであってもよい。ここでは発信データを例に挙げる。本システム内で移動するロボットの３Ｄメッシュモデルを構築した後、腕の関節角度を発信フォームデータとして選択することができる。現実世界のロボットのハードウェアは、発信フォームデータにアクセスして、サーボモータ角の角度を更新することができる。同様に、ユーザの身体上のさまざまなセンサから入来するデータを使用して、入来フォームデータを含むヒトの仮想生物学的モデルを更新できる。このとき、このモデルは、ユーザと同じ心拍数または呼吸数を有することができる。
【０１９４】
フォームは多くのフォームのコレクションであり得るため、発信データを使用して、入来データフォームから要求が来た後にシステムまたはシステムデータにサービスすることができる。これは、以下で説明する「プロジェクトのネットワーク」にとって有用な構成要素であり得る。
【０１９５】
１つの実施形態では、フレームワークは、種々のフォーマットの３Ｄメッシュ、データベースおよびテーブルからのデータ、またはＨＴＭＬ／ＣＳＳ、Ｃ＋＋（登録商標）、Ｊａｖａ（登録商標）およびＰｙｔｈｏｎ（登録商標）などの言語のコードなどの種々のタイプのファイルをインポートすることができる。これは、フォーム内のシステムまたはフォームとして構築されたソフトウェアまたはインタープリタのネイティブ機能であり得、言語間の翻訳のためにテキストまたはコンピュータファイルに変換が適用されるフレームワークを変換する。
【０１９６】
マルチスケール
本変換処理ユニットデバイスは、マルチスケール（空間および時間）ナビゲーションおよびプロセスを可能にすることができる。たとえば、心臓のモデルでは、細胞をクリックして細胞の内部システムを拡大することができる。細胞に向かって漸進的にズームすることもでき、細胞膜を透明にして細胞の内部モデルを明らかにすることにより、内部システムが明らかになる。メインシステムに別のシステムをインポートする場合、このシステムの組み込みに関連するシステムデータの種々のパラメータを指定することができる。このようなデータの例は、サイズスケールおよび時間スケールを含む。たとえば、心臓のシステムに心筋細胞をインポートする場合、心臓に対する細胞のサイズおよび時間スケールを指定する必要がある。細胞内の変換は、心臓のレベルでの変換よりもはるかに頻繁に適用されることになる。心臓の鼓動が秒スケールであるのに対して、細胞内の変換はナノ秒スケールである。
【０１９７】
１つの実施形態では、各システムまたはフォームは、それに関連付けられたティック数値（整数、浮動小数点数、ダブル、有理数または実数）を有し、ティック数値は更新および変更され得る。ティック数値は、システムのいずれの変換を次に適用することができるかを示すのに役立つ。これは、システムおよびサブシステムを通過する速度および時間を調整するために使用することができる。
【０１９８】
補間
変換の２回の適用の間に、少なくとも１回の中間変換を追加することができる。これは、２回の変換の間の補間と呼ばれる。また、変換は複数の変換に置き換えることができる。これは、変換の補間と呼ばれる。これは、変換のシーケンスを挿入するか、または、システムのネイティブ補間関数を使用することによって、システムを用いて手動で行うことができる。たとえば、点を１単位だけｚ方向に移動する変換は、シーケンスの各変換が点を０．０１単位だけｚ方向に移動するように、補間関数を用いて変換のシーケンスに変更することができる。これにより、システムの精度を向上させることができる。
【０１９９】
変換の補間または２回の変換の間の補間を実行するとき、補間を生成するために使用される変換の回数は有限であり得る。代替的に、この回数は無限または連続的であってもよい。これにより、フレームワーク内での連続的な変換というより抽象的な概念の導入および使用が可能になる。これは、実線、実数、連続性および連続関数の古典的な数学的概念に関連している。補間は、以下で説明するフィードを用いることによって達成することができる。
【０２００】
変換のフィード
以下では、図１６〜図３１を参照して、変換のフィードについて説明する。変換のフィードは、変換に関連付けられた変換データの一部である。
【０２０１】
フィードは、変数およびその関連する順序付けられたフォームセットから構成される。フィードは、変換内に順次プッシュされて、適用されるこの変換のインスタンスを作成する数（またはオブジェクト）のリストとして理解することができる。関連するセットは、数の有限セット、無限セット数、実区間、フォームのセット、変換のセット、オブジェクトのシーケンス、記号のセット、データなど、任意のタイプのセットとすることができる。
【０２０２】
以下に、本セット例を挙げる。［０，１］、［０、無限大］；］２，５］；［ｎ］＝｛１，２，３，４，．．．｝；［０，１］Ｕ［４，１２］；Ｍ×Ｎ；｛ａｂｄ，ａ，ｃｃ，ｃ，ｅ，ｔ，％｝；｛１，２，３，４，５，．．．｝；｛１，２，３，４．５，１２．２、−１５．２｝；｛１，２，２，２，２，１，１，１０、０．５、ｅ｝；実数、複素数、有理数および／または整数のセット；｛変換１，フォーム１，フォーム２，ａ，４．３，６，ｐｉ｝；など。
【０２０３】
１つの実施形態では、フィードは、複数の変数およびそれらのそれぞれのセットから構成される。変数が最初に使用される順序があり得る。また、変数が満たす必要のあるフィードの制約もあり得る。一部の実施形態では、制約は、変換の入力サイトに現れる。
【０２０４】
いくつかの実施形態では、フィードは以下への変換を可能にする。
−変換を拡張して、離散的だけでなく連続的にすること、
−連続的な形状を作成すること、
−離散変換間の補間を行い、補間が完全に制御されるようにすること、
−継続性の概念および強度の実数にアクセスすること、
−微分計算を行うこと、
−変換の適用回数の概念を一般化すること、
−ｆｏｒループもしくはｗｈｉｌｅループとして使用されること、
−ベクトルおよび多次元配列、さらにはテンソルを表現すること、
−オブジェクト指向言語における複数のオブジェクトをインスタンス化するためのループに類似する、複数の変換をインスタンス化するループのように動作すること、ならびに／または
−フィードを用いて変換すること。
【０２０５】
動作中のフィード
１つの実施形態では、変換は、入力サイト、エフェクト、および出力サイト、ならびに、それぞれの順序付けられたセットを有する１つの変数のフィードから構成され得る。変数は、入力サイト、出力サイト、エフェクト、さらにはフィード自体を含む変換のデータ内など、変換のどこにでも、かつ何度でも（ゼロ、有限回数、または無限回数）現れることができる。
【０２０６】
変換を適用するために、変換に含まれる変数のインスタンスは、順序付けられたセットの第１の要素に置き換えられる。変換が適用されると、変数はセットの第２の要素によって第２の変数に置き換えられ、次いで、第２の変換が適用され、プロセスは、変数のセットの各要素に対してすべての変換が１回適用されるまで続行される。
【０２０７】
図１７は、変換が値１、２、３に対して３回適用される第１の例を示している。変数ｔは１に置き換えられ、変換が適用され、したがって、黒い点から１単位の距離に白い点が追加される。次いで、ｔは２に置き換えられ、変換が適用され、したがって、黒い点から２単位の距離に白い点が追加される。最後に、ｔは３に置き換えられ、変換が適用され、したがって、黒い点から３単位の距離に白い点が追加される。
【０２０８】
図１８は、実線を作成するように構成された変換の例を示す。図１７の例と同様に、長さ２の線が、区間［０，２］のすべての要素を変換に順次供給することによって作成される。
【０２０９】
有限数の点のみが表示ユニットに表示されることを理解されたい。ただし、２つの実線の交点またはオブジェクト間の衝突点を決定する必要がある場合など、必要に応じて非表示の実点にアクセスできる。
【０２１０】
図１９は、適用回数の一般化を示している。この例では、変数ｔは変換に現れない。実際には、フィードを定義する代わりに、１００回書き込んでもよい。変換内に変数ｔが発生せず、関連するセット内に１００個の要素がある限り、セット内の記号のタイプは重要ではないことに留意されたい。特に、記号「＠」を１００回含むセットは、変換の１００回の適用として作用する。
【０２１１】
図２０は、フィード内の複数の変数の例を示している。フィード内に２つの変数があることによって、要素のグリッドを生成することが可能である。１つの実施形態では、フィード内の変数の数に制限はなく、テンソル係数と同様の多次元配列、行列、およびオブジェクトを作成することができる。本例では、ｔ＝１が選択され、次にｈ＝１が選択されることを理解されたい。その後、ｔ＝１のままでｈ＝２が選択され、次にｔ＝１のままでｈ＝３が選択される。次に、考えられるすべての組み合わせが取得されるまで、ｔ＝１およびｈ＝１を取得することによってプロセスが再び開始される。同じプロセスが３つ以上の変数について実行されることを理解する必要がある。１つの実施形態では、要素が選択される順序は、変換のデータにおいて詳細に示すことができる。
【０２１２】
図２１は、複数の点が互いに積み重ねられる例を示している。
図２２は、フィードがプレーンのまたは連続的な正方形を作成するための連続的なセットを含む例示的な変換を示し、一方、図２３は、フィードがプレーンのまたは連続的な三角形を作成するための連続的なセットを含む例示的な変換を示す。
【０２１３】
三角形の記述の場合、変換が適用される前に、変換の入力サイトにおける条件を満たす必要がある。この制約は、ｙ＝−ｘ＋１の下の点のみがユニバースに追加されることを示している。
【０２１４】
図２４は、ロケットを加速させるための例示的な変換を示す。ロケットの加速は、フィード内の数に依存する。５ｔはまた、任意のタイプの関数ｆ（ｔ）であるように選択され得ることが理解されるべきである。
【０２１５】
図２５は、ロケットの例示的な相対変位を示している。この例では、ロケットの相対変位は、フィード値１／７および関数２ｔに基づいて定義される。
【０２１６】
図２６では、変換はロケットを１４ユニットだけ移動し、ただし、７ステップにおいてロケットを補間するように要求する。補間は、図２７に示すフィードによって表現することができる。
【０２１７】
図２８は、補間が実行される様式を、加速度などの挙動を反映するようにカスタマイズすることができることを示している。
【０２１８】
図２９は、ロケットが除去されるときに別のロケットがグローバル軸に対して新しい位置に挿入される、絶対位置の例示的な連続的変換を示している。
【０２１９】
図３０は、相対位置についての例示的な連続的変換を示す。この例では、変換は相対的に適用される。セット内で、一度に複数の値にアクセスすることができる。本事例において、ｔ１＝０、ｔ２＝０．２５、ｔ３＝５、ｔ４＝０．７５かつｔ５＝１である。これにより、差を計算して１単位増分の変位を生成することが可能である。
【０２２０】
図３１に示すように、デルタｔの代わりとなるｄｔを使用して、連続的な相対変位を行うことができる。
【０２２１】
図３２は、ｎ個の要素のベクトルを作成するための例示的な変換を示す。たとえば、図３３に示すように、３×３行列を作成することができる。
【０２２２】
解決
変数記号を追加するか、または、フォームが変数であることを示すことによって、システムに変数を追加することができる。通常、変数が解決されるときに、システムがどのようになることが所望されるか、または何を実行することが所望されるかを示す必要がある。これは、等号「＝」を用いた古典代数方程式においてｘについて解くことに似ている。たとえば、複製を続けるがん細胞を取り上げると、がん細胞に適用される変数変換Ｔを取得し、システムがもはや複製しない細胞になることが所望されることを示すことができる。次に、Ｔについてこれを解くために、このシステムが使用される。フレームワーク内で作成される解決システムを使用すること、入来および発信データフォームを使用すること、外部解法を使用すること、または可能性のある変換を手動で入力することによって、Ｔについて解くこともできる。その結果、がん細胞の複製を停止するＴの種々の可能なフォームのセットがもたらされる。複数のタイプの数学的およびプログラミング技法をモデル化してフレームワークに直接実装することができるため、困難なシステムを解くために複数の強力なツールを同時に使用することができる。フレームワークに実装することができるツールの例は、人工ニューラルネットワーク、方程式の解決、数学的最適化、および種々の機械学習アルゴリズムなどである。
【０２２３】
プロジェクトのネットワーク
プロジェクトまたはシステムを作成するとき、システムはリポジトリ内にあり、公開またはプライベートにすることができる。ウェブプラットフォーム、プライベートローカルサーバ、またはピアツーピアベースのネットワーク上で、達成する必要がある内容の記述によって新しいプロジェクトＰを開始することができる。ユーザは、そのプロジェクトのシステムを提出し、または、他者がこのプロジェクトにおいて提出したシステムを改善することができる。ユーザは、最良のシステム、すなわち、プロジェクトの要件に最も近い最良のシステムに投票することができる。
【０２２４】
他のプロジェクトシステムは、システム（またはプロジェクト）に完全にインポートして、それに適合させることができる。たとえば、システムＳｙｓにシステムＳｕｂ全体をインポートする代わりに、情報をＳｙｓからＳｕｂに送信して、ＳｕｂにＳｙｓの戻り値を計算させるよう求めることができる。これにより、分散コンピューティングが可能になり、プロジェクトおよびシステムの重複が少なくなる。一部のプロジェクトは、プライベートまたは公開とすることができる。これにより、多数のユーザが大規模で有用なプロジェクトを開発および作成することができるプロジェクトの大規模なネットワークを作成することが可能になる。これらのプロジェクトの各々は、それ自体が他のプロジェクトに依拠する他の複数のプロジェクトから構成することができる。含まれる各プロジェクトは、Ｃ＋＋などのスクリプトベースのプログラミング言語のライブラリに似ていると考えることができる。
【０２２５】
１つの実施形態では、変換内で定義されるエフェクトは、表現を助けるために複数の部分を含むことができる。たとえば、エフェクトは２つの部分を含むことができる。入力サイトが選択され、その値がエフェクトおよび出力サイト内で使用される場合、出力サイトによって選択される出力サイトフォームは、エフェクトの出力部分内のフォームによって変更され、入力サイトによって選択される入力サイトフォームは、エフェクトの入力部分内のフォームによって変更される。
【０２２６】
図３４は、２部分エフェクトを有する例示的な変換を示す。ここでは、初期ユニバースの値１２が変換にインポートされ、結果、Ｋ＝１２になる。次に、Ｋ＝０はＫ＝１２に置き換えられ、Ｈ＝１２はＨ＝１に置き換えられる。
【０２２７】
図３５は、２部分エフェクトを有する変換のさらなる例を示す。この例では、初期ユニバースからの値１２および９が変換にインポートされ、結果、Ｍ＝１２＋８＝２０になる。次に、Ｈ＝１２はＨ＝０に置き換えられ、Ｋ＝８はＫ＝−８に置き換えられ、Ｍ＝０はＭ＝２０に置き換えられる。次に、Ｋ＝０はＫ＝１２に置き換えられ、Ｈ＝１２はＨ＝１に置き換えられる。
【０２２８】
図３６は、フィードおよび２部分エフェクトを含む例示的な変換を示す。
フィードは、フィードなしで３部分変換の構成要素のみを用いて、離散的なフィード向けにエミュレートすることができることを理解されたい。図３７に示す離散変換は、順序付けられた要素１、２、３を含む入力ユニバースからｔの値を取得する。変換を適用した後、左の要素が右にシフトされる。これにより、次の変換の適用時に順序付けられたセットの第２の要素を選択することが可能になる。フィードが実数の区間または無限セットである場合、連続的な順序付けされたセットから要素を抽出するために、新しい手順を定義する必要がある。１つの実施形態では、フィードの定義をシステムに追加することができ、これは区間を処理するのに非常に適しており、多くの他の用途を有する。
【０２２９】
以下では、変換のさらなる例を説明する。
第１の例において、変換を作成するために、ユーザは出力ユニバースに存在する四面体の面を選択し（図３８ａを参照）、それを変換の出力サイトに送信またはドラッグアンドドロップする（図３８ｂを参照）。自動的に、三角形の面がエフェクトおよび出力サイトに現れる。次に、ユーザは面上にメッシュを追加するか、三角形を縮小することにより、エフェクトを編集することができる。ユーザがより小さい四面体を面に追加し（図３８ｂを参照）、回数を３に設定することによって変換データを調整する場合、変換が適用されることになる。システムを実行すると、３つの面上に小さい四面体ができるまで（図３８ｃを参照）、より小さい四面体が面上に次々に追加される。
【０２３０】
ユーザは、小さい立方体が三角形に追加される別の変換を作成することもできる。２つの変換が別の変換と同時にシステムの四面体上に配置され、システムが実行されるとき、２つのうちの１つのみが適用される。この場合、ユーザは、立方体による変換を適用する可能性を８０％、他の変換を適用する可能性を２０％と決定することができる。
【０２３１】
別の例では、ユーザがシステム内に分子をインポートして選択し、出力サイトにこれを送信する。ユーザはＤを入力サイト内に追加し、それをエフェクトに追加することもできる。エフェクト分子を右に移動すると、値または関数を挿入することができる場所が開く。Ｄをエフェクトからドラッグアンドドロップするか、または、Ｄをそのスペースに入力すると、それが入力サイトのＤに接続される。次に、ユーザは１／Ｄを書き込むことによってＤに関数を適用する。ここで、変換が分子に適用されるとき、分子の変位は、システム内の別の場所から、またはさらには入来データからのＤの値に依存する。変換が適用される前に、Ｄの値が読み取られて、分子の変位が決定される。本事例では、Ｄ＝１００の場合、この変換が分子に７回適用されると、分子は１／１００単位だけ７回左に移動される。
【０２３２】
変換がタイムラインを使用しアクセスすることができるように、分子の以前の位置はすべてタイムラインに保存することができる。たとえば、５ステップ前および現在からの平均速度を測定するために、ユーザは入力サイト内で現在の分子のグローバル位置（Ｐ０）および５ステップ前のフォームの分子のグローバル位置（Ｐ５）を書き込むかまたは選択することができる。エフェクトには、ユーザはＳ＝（Ｐ０−Ｐ５）／５と書き込む。ここで、この変換が分子に適用されるたびに、平均速度が計算される。この変換はシステムの隅に残し、システムを変更するたびに適用することができる。その変換の入力サイトを非表示にすることによって、速度データのみが隅に表示される。
【０２３３】
図３９は、入力サイト、エフェクト、および出力サイトを含む例示的な変換を示している（変換データは省略されている）。変換の適用は以下のように実施される。最初に、入力ユニバース内のフォームが選択される。選択されたフォームは入力サイトと一致し、ここで、スター（＊）は、スターの周囲のフォームが一致している限り、何であってもよい。
【０２３４】
この例では、「Ａ＝」が一致しているため、また、スター記号は何を選択してもよく、したがって数３が選択されるため、Ａ＝３が選択されている。
【０２３５】
次に、変換の残りの部分にも現れる入力サイトの情報が識別され、識別された情報は、出現するたびに、関連する選択されたフォームからの情報に置き換えられる。
【０２３６】
本例では、スター記号が変換のエフェクトおよび出力サイト内に現れる。スターに関連付けられている、選択されたたフォームからの情報は「３」である。したがって、エフェクトおよび出力サイトのスターは、図４０に示すように３に置き換えられる。スターの数３への置き換えは、変換の適用のためにのみ行われる場合があるため、エフェクトおよび出力サイトで永続的ではない場合があることを理解されたい。
【０２３７】
次いで、出力サイトと一致する出力ユニバース内のフォームが選択され、エフェクトに置き換えられる。
【０２３８】
本例では、出力ユニバース内の三角形の長さ３の辺が選択され、同じ辺に置き換えられるが、図４１に示すように、別の三角形を作成する２つの線が追加される。
【０２３９】
変換の部分間の相対位置
１つの実施形態では、入力サイト、エフェクト、および出力サイト内部のフォームの相対位置が変換に影響を与える場合がある。たとえば、２つのオブジェクトが出力サイトおよびエフェクトについてそれぞれの長方形内の同じ位置にあることは、それらがともに接続されていることを意味し得る。たとえば、エフェクトのオブジェクトＥが出力サイトのオブジェクトＯと同じ場所にある場合、ＯはＥに置き換えられる。オブジェクトの位置が異なる場合、以下の例に示すように異なる結果が得られる場合がある。
【０２４０】
たとえば、図４０に示す変換を図４２に示す変換に置き換えると、図３０のフォームではなく、図４３に示すフォームになる。
【０２４１】
ニューロン発火
この例では、入力ユニバースと出力ユニバースとは同じであり、一意のユニバースが図４４に示されている。
【０２４２】
図４５に示す第１の変換は、入力サイトとして樹状突起ｄ＝ｘならびに閾値変数Ｔおよびその値ｙを選択する。エフェクトは、値ｘをｙに追加することによって作成され、結果、この樹状突起の寄与が閾値に追加される。次いで、出力サイトによって選択されるとき、ｄ＝ｘおよびＴ＝ｙはそれぞれ、ｄ＝０およびＴ＝ｙ＋ｘに置き換えられる。
【０２４３】
「すべて（Ａｌｌ）」は、各樹状突起が１回だけ寄与するまで、この場合は１１回、すべてのｄ＝ｘに変換が適用されることを示す。変換内の類似の記号は同じオブジェクトと考えられる。したがって、入力サイトおよび出力サイトのｄ＝ｘおよびＴ＝ｙは同じであると理解される。
【０２４４】
図４６に示す次の変換は、閾値が６以上の場合にニューロン発火を引き起こす（ここで、６はこのニューロンの限界値である）。入力サイト内で定義される不等式は、この不等式が満たされると、ｈラベル付きの稲妻をｉラベル付きの稲妻に変更することによって変換が適用されることを示している。
【０２４５】
図４７に示す次の変換では、活動電位が軸索終末に向かって動くことを可能にする。この場合、入力サイトは空である。これは、変換を適用する前に満たすべき「条件がない」ことを意味する。変換を適用するために必要な唯一の条件は、出力ユニバースにおいて稲妻記号にｉラベルを付け、とげのある円にｈラベルを付けることである。
【０２４６】
ここで活動電位が軸索に近いため、図４８の変換によって示されているように、各軸索の値ａ＝０が値ａ＝１に変更される。
【０２４７】
次に、軸索に関連付けられた各値が１になった後、図４９の変換で示されているように、活動電位を表現する記号にｈのラベルが付けられる。
【０２４８】
ニューロンのネットワークは、このニューロンの軸索を他のニューロンネットワークの樹状突起に接続することによって作成することができる。軸索ａ＝ｘの値をそれに関連する樹状突起ｄ＝ｙの値に送信するおおまかな方法は、図５０に示す変換によって行うことができる。
【０２４９】
シナプス間隙
図５１は、シナプス間隙のモデルを示している。
【０２５０】
図５２に示す変換は、シナプス間隙における１０個の神経伝達物質の放出をモデル化することを可能にする。
【０２５１】
入力範囲は、このニューロンのａ＝ｘである。ａ＝１の場合、出力範囲内のランダムな位置が選択され、この位置に円形の神経伝達物質が挿入される。空白の出力サイトは特定の位置を指定せず、したがって、出力範囲内のランダムな位置として解釈される。出力範囲は、図５３に示す長方形のボックスによって区切られた領域を規定する。
【０２５２】
神経伝達物質が放出された後、図５４の変換を使用してａ＝１が０にされる。
図５５の変換により、図５６に示す円柱によって区切られたシナプス間隙内で神経伝達物質が動かされることが可能になる。変換は神経伝達物質およびその周りの空間の境界球を必要とする。次に、変換は、境界球内のその場所が円柱によって区切られたシナプス間隙の外側にない限り、神経伝達物質を境界球内のランダムな場所に戻す。
【０２５３】
最後に、神経伝達物質が神経受容体に結合すると、図５７の変換によって表現されるように、その寄与が樹状突起の値ｄ＝ｙに追加される。この変換は常に存在し、条件が満たされるとき、すなわち神経伝達物質が神経受容体の１つと結合するときに機能する。
【０２５４】
グラフェンシートの構築
図４７の変換は、グラフェンシートを組み立てるために必要な規則の１つを表している。この変換は４つのＣＯ２分子を取得し、図４８に示すグラフェンシートに追加する。
【０２５５】
ＣＯ２コレクタ
図６０に示す変換は、関数「ｔａｋｅ」および「ａｄｄ」を使用することによりコレクタとして機能する。この例では、ＣＯ２分子が収集され、ＣＯ２コレクションに追加される。文字通り、これは入力ユニバースからＣＯ２分子を取得し、それらを二酸化炭素コレクションと呼ばれるグループに移動させる。入力ユニバースは、多数のＣＯ２分子を含む容器と考えられる。
【０２５６】
５つの分子を収集した後、図６１に示すシナリオが得られる。
ＣＯ２分子を収集してグラフェンシートの一部を構築する、より複雑なシステムを図６２に示す。赤いボックス内の数字は、変換の適用順序を示している。最初にＣＯ２が収集され、次にグラフェンシートが拡張される。
【０２５７】
衛星回転
変換を使用して、３Ｄメッシュなどのオブジェクトを移動および回転させることができる。
【０２５８】
手動回転
図６３に示す変換により、３Ｄ衛星を回転させることが可能である。
【０２５９】
この変換を衛星の３Ｄモデルに複数回適用すると、図６４に示す出力ユニバースの一連の状態が得られる。
【０２６０】
自動信号ファインダ変換
衛星自体を特定の信号に自動的に向ける衛星が必要である場合、図６５に示す変換のセットを使用することができ、この変換のセットは、衛星の中心ｚ軸間の角度が、それぞれの平面内で信号源から２０度を超えて異なるときに、衛星をそれぞれの平面内で回転させる。
【０２６１】
この変換セットに加えて、角度が１８０以上であるときに他の方向に回転すると、衛星が自律的にアンテナをその信号に向けることを可能にする変換のセットが得られる。回転を有効化し、また衛星回転増分を１度にするために２０度の閾値の代わりに１度の閾値を使用することによって、より高い精度を実現することができる。
【０２６２】
キーボードによって有効化される回転
回転の適用は、図６６に示すように、キーボードの矢印キーを押すことによってトリガすることができる。
【０２６３】
衛星を回転させるためのユーザインターフェースまたは現実の物理ボタン
図６７の変換の入力サイトに示されている線は、ＹＺ平面内の線に接続されている。エフェクト内の衛星は絶対位置にあると考えられ、衛星が以前に方向付けられていた場所に関係なく、この方向に置き換えられることに留意されたい。
【０２６４】
自動車およびタイムライン
各ステップにおいて、またはシステムが変化するたびに、システムの状態を記録してメモリに保存することができる。これにより、上で説明したようにシステムのタイムラインが構築される。
【０２６５】
変換が適用されると、システムのステップ数が増加する。本例では、システム内で変換が適用されるたびに、ステップ数が１だけ増加すると仮定される。ステップ数は必ずしも整数である必要はなく、実数の増分によって増加する実数とすることもできることを理解されたい。実数ステップの例は、時間の経過をステップとして説明するためのものである。さらに、本発明の１つの実施形態では、変換は、離散的にではなく連続的に適用することができる。
【０２６６】
このシステムは、種々のタイプの変換に従って移動する自動車を記述する。図６８に示す変換を用いて、ステップ０とステップ５０との間で、ｘ方向における自動車の平均速度を計算することができる。入力サイトにおいて、ステップ０およびステップ５０における自動車の状態に関する情報がアクセスされる。透明な自動車は、自動車が先行するステップからのものであることを示すために使用される。
【０２６７】
変換を用いてタイムラインにアクセスすることによって、速度、加速度、導関数および他の多くの概念のモデル化を求めることが可能である。
【０２６８】
自動車の実際の速度の測定値をモデル化して走行距離計に投影することは、図６９および図７０に示す変換を用いて行われる。本事例において、「実際の」とは、この変換が適用されようとしている瞬間のステップの値を意味する。現在の速度を得るために、最後の５つのステップの平均速度が計算されることに留意されたい。図６９の変換は、ＰｒｅｓｅｎｔＳｐｅｅｄ（現在の速度）を出力ユニバースに挿入することを可能にする。
【０２６９】
図７０の変換は、ＰｒｅｓｅｎｔＳｐｅｅｄを以前の出力ユニバースから取得し、速度の数を黒い四角形に青色で書き込む。次に、図６０に示すように、走行距離計の画像に青色の数字および正方形を重ねる。「追加」という語は、走行距離計が置き換えられず、数字を有する黒い四角が走行距離計の画像に追加されることを意味する。
【０２７０】
変換表記
上記の変換表記は単なる例示であることを理解されたい。
【０２７１】
たとえば、変換は、エフェクトおよび出力サイトから構成される２部分として記述することもできる。この場合、入力として機能するフォームを特定する必要がある。これは、変換のエフェクト、出力サイト、およびデータを初期化するためにフォームを使用する必要があるためである。
【０２７２】
変換および構造は、必要性およびモデル化コンテキストに応じて異なる方法で表示することができることも理解されたい。たとえば、図７２の変換は、よりコンパクトな記述を示す図７３に示す変換に置き換えることができる。
【０２７３】
向きおよび照合
変換が入力サイトを入力ユニバースのフォームと照合するとき、本発明の一部の実施形態では、一致はリテラルとすることができ、または回転および変換を可能にすることができる。
【０２７４】
上記の単純なシステムでは、出力ユニバースでの一致はリテラルであった。
上記の二酸化炭素コレクタでは、入力ユニバースでの一致はリテラルではない。異なる方向に向いている分子を選択することができる。
【０２７５】
相互接続
入力サイトは、複数の異なるエフェクトに接続することができる。エフェクトは複数の出力サイトに接続することができる。入力サイトは、複数の入力ユニバースに接続することができる。出力サイトは、複数の出力ユニバースに接続することができる。
【０２７６】
出力ユニバースは変換とすることができ、入力ユニバースを変換とすることもできる。
さらに、単一の入力サイトを、その入力サイト、エフェクト、出力サイト、およびデータから構成される完全な変換に接続することができる。入力サイトは、変換のセットまたはさらにはユニバースに接続することもできる。同様に、単一の出力サイトを３部分変換、変換のセット、またはユニバースに接続することができる。
【０２７７】
グラフィカルユーザインターフェース（ＧＵＩ）
以下に、変換の定義に使用することができるグラフィカルユーザインターフェース（ＧＵＩ）を示す。図７４に示すように、ＧＵＩは、変換を視覚的に作成することができる第１の部分と、出力ユニバースを表現することができる第２の部分とを備える。
【０２７８】
ＧＵＩの第１の部分は５つのウィンドウを備える。第１のウィンドウにおいて、入力サイトを視覚的にまたはグラフィックで表現することができる。第２のウィンドウはエフェクトを視覚的に定義するために使用され、一方、第３のウィンドウは出力サイトに含まれるフォームを視覚的に表現するために使用される。第４のウィンドウは出力範囲を視覚的に表現するために使用され、第５のウィンドウは変換データを入力するために使用される。
【０２７９】
１つの実施形態では、図８８に示すように、範囲なしの変換が左に表示され、ユニバースが左側に表示される。
【０２８０】
１つの実施形態では、ＧＵＩは、入力ユニバースを視覚的に表現するための第３の部分を含むことができる。
【０２８１】
１つの実施形態では、変換および変換のシーケンスは、ユニバース内に直接表現することができる。
【０２８２】
１つの実施形態では、変換のシーケンスは、単一の表現の下でグループ化することができる。
【０２８３】
１つの実施形態では、変換のシーケンスは、それらがどのように適用されるかを示すために、２Ｄで、または変換表現間の線、矢印（または他の形状）を用いて表現することができる。
【０２８４】
１つの実施形態では、変換のシーケンスは、それらがどのように適用されるかを示すために、変換表現間の線、３Ｄ矢印（または他の形状）を用いて３Ｄ空間内に配置することができる。
【０２８５】
１つの実施形態では、出力範囲を表現するための第４のウィンドウは省略されてもよい。同じまたは別の実施形態では、ＧＵＩの第１の部分は、入力範囲を視覚的に表現するためのウィンドウを含むことができる。
【０２８６】
変換を作成するために、まず、ユーザはライブラリから出力ユニバース内の３Ｄモデルなどのフォームをインポートするか、または、ＧＵＩの左上にある「幾何形状タブ」の要素を使用することによって基本的な３Ｄモデルを作成する。この例では、図７５に示すように、ユーザはユニバース内に四面体を作成する。
【０２８７】
次に、ユーザは四面体から面を選択し、図７６に示すように、変換の出力サイトにドラッグアンドドロップする。
【０２８８】
図７７に示すように、ユーザは出力サイトの内容全体をエフェクトにコピーする。
次に、ユーザは、フォームを追加することにより、または、幾何形状タブの要素を使用するかもしくは３Ｄモデルを手動で変更することによってエフェクトウィンドウに含まれるフォームの幾何形状を変更することにより、エフェクトウィンドウ内にエフェクトを作成する。代替的に、ユーザはライブラリから３Ｄモデルをインポートしてもよい。この例では、図７８に示すように、三角形上により小さい四面体が追加されている。
【０２８９】
図７９に示すように、次いで、ユーザは変換データを入力する。たとえば、ユーザは変換のデータ内で「すべて」のラジオボタンをクリックし、「チェックマーク」を４回クリックして、この変換をユニバースに注入することができる。「すべて」ボタンは、変換が、出力サイトの三角形と一致するユニバースのすべての三角形に適用されることを示す。
【０２９０】
ユーザが「ステップ（Ｓｔｅｐ）」ボタンを押すと、変換が１回適用される。四面体の各三角形は、より小さい四面体を有する三角形に置き換えられる。結果のフォームを図８０に示す。
【０２９１】
ユーザが「再生（Ｐｌａｙ）」を押すと、他の３つの変換が連続して適用されて、次の複雑なフラクタルが与えられて、図８１に示すフォームが得られる。
【０２９２】
変換の入力サイト、出力サイトおよびエフェクトの使用
ここで、入力サイトを有する変換を使用しながら、同じ例を説明する。この場合、テキスト、値、３Ｄモデル、またはデータをユニバースに追加することができる。本例では、図８２に示すように、「Ｄ＝２」というテキストがユニバースに追加される。
【０２９３】
図８３に示すように、ユーザはテキスト「Ｄ＝ｘ」を入力サイトに追加する。「ｘ」は、出力サイトが「Ｄ＝ｘ」のフォームのオブジェクトに一致することを示す。「ｘ」は何であってもよい。次に、ユーザはエフェクト（または任意選択的に出力サイト）内でその値「ｘ」が使用される場所を示す。この例では、値「ｘ」が三角形のより小さい四面体の高さに割り当てられる。
【０２９４】
ラジオボタン「すべて」を選択して変換を注入および適用した後、変換は入力サイトをユニバースからのテキスト「Ｄ＝２」と照合する。次に、図８４に示すように、値「２」がエフェクト内の「ｘ」に置き換わる。適用される変換のエフェクトおよび出力サイトが計算される。
【０２９５】
変換を４回適用した結果のユニバースを図８５〜図８８に示す。
動的入力
前の例では、「Ｄ＝２」というテキストはユニバース内で常に同じである。より動的で変化する入力を使用することができる。
【０２９６】
Ｉ）変換は、変換の各適用後に、値「Ｄ＝２」を何らかのより大きい値に変更することができる。たとえば、図８９に示すように、変換は、「Ｄ＝２」を「Ｄ＝ｘ＋０．５」によって計算された「Ｄ＝２．５」に変更しながら、三角形に四面体を追加することができる。
【０２９７】
変換の最初の適用は、追加されている四面体に２の高さ、２．５の第２の高さ、３の第３の高さなどを与える。言い換えれば、変換の高さは、ユニバース内の「Ｄ」の初期値、および、この変換が適用された回数に依存する。
【０２９８】
ＩＩ）入力は、他の複数の変換の適用下でユニバースが変化するときにそれら自体変更される、ユニバース内の他の形状から抽出することができる。たとえば、「ｘ」は、オブジェクト間の２点間の距離から取得することができる。
【０２９９】
変換の範囲
ａ）上記のステップを実行した後、ユーザは、図９０に示すように、変換の右下のメニューの適切なボタンをクリックすることにより変換の出力範囲を使用して、変換の出力範囲内のユニバースのすべてのデータをコピーすることを決定することができる。
【０３００】
ｂ）ユーザは、範囲の四面体のいくつかの面を選択することができる。削除ボタンを押すことによって、選択した面が削除される。図９１に示す例では、２つの面のみが保持されている。すなわち、変換は、範囲内にまだ存在する面に対応するユニバースの四面体の面にのみ適用される。
【０３０１】
この例では、図９２に示すように、変換の１回の適用後に、結果として得られるユニバースには、左面および底面により小さい四面体が配置された四面体を含む。
【０３０２】
変換の記録
ユニバース内で行われた手動の変更は、変換として記録することができる。
【０３０３】
たとえば、図９３に示すように、ユーザはユニバースに、一方の端に点のある線分を追加することができる。これは、「幾何形状タブ」構成要素を使用することによって行うことができる。
【０３０４】
ユーザは、ユーザインターフェースの下部にある「記録」ボタンを押す。記録ボタンが押されなくなるまで、変換が作成され、ユーザがユニバース内で行う手動の変更が記録される。
【０３０５】
ユーザが線分をクリックし、手動で約２０度回転させる。次に、図９４に示すように、変換が作成され、左側に表示される。
【０３０６】
ユーザは、記録された変換に満足している場合、記録ボタンの選択を解除する。次に、変換のデータの「回数」ボックスに「１２」を入力した後、図９５に示すように、記録された変換がユニバースに注入される。
【０３０７】
「再生」を押した後、図９６に示すように、ユニバースの線分が１２回回転する。
注入された変換の編集
ユニバース（限定ではないが、２Ｄまたは３Ｄ空間であり得る）に注入された変換は、編集および変更することができる。図９７は、記録された変換のシーケンスを提示するインターフェースを示している。変換のシーケンスにおいて、ユーザは変換の１つをダブルクリックすることができる。
【０３０８】
ダブルクリックの結果、ＧＵＩに変換が表示される。次に、ユーザは変更のために特定の変換を編集することができる。変換を変更した後、ユーザは変換を保存することができ、変換が適用される番になると、変換は異なる動作をする。
【０３０９】
シーケンスでは、変換を上下にドラッグして並べ替えることができる。
１つの実施形態では、本方法およびシステムの目的は、モデル、シミュレーション、通信、および最適化を作成し、すべての領域の知識に対して実装することができる汎用システムを提供することである。本方法に基づいて、単一のシステムおよびパラダイムの下で、すべての知識および応用形態を統合することができる。ここで、以下では、汎用システムを「フレームワーク」と呼ぶ。
【０３１０】
上述した本発明の実施形態は、単なる例示であることが意図されている。したがって、本発明の範囲は、添付の特許請求の範囲によってのみ限定されることが意図されている。
【図１】
2021515954.tif 000003
【図２】
2021515954.tif 000004
【図３】
2021515954.tif 000005
【図４】
2021515954.tif 000006
【図５】
2021515954.tif 000007
【図６】
2021515954.tif 000008
【図７】
2021515954.tif 000009
【図８】
2021515954.tif 000010
【図９】
2021515954.tif 000011
【図１０】
2021515954.tif 000012
【図１１】
2021515954.tif 000013
【図１２】
2021515954.tif 000014
【図１３】
2021515954.tif 000015
【図１４】
2021515954.tif 000016
【図１５ａ】
2021515954.tif 000017
【図１５ｂ】
2021515954.tif 000018
【図１６】
2021515954.tif 000019
【図１７】
2021515954.tif 000020
【図１８】
2021515954.tif 000021
【図１９】
2021515954.tif 000022
【図２０】
2021515954.tif 000023
【図２１】
2021515954.tif 000024
【図２２】
2021515954.tif 000025
【図２３】
2021515954.tif 000026
【図２４】
2021515954.tif 000027
【図２５】
2021515954.tif 000028
【図２６】
2021515954.tif 000029
【図２７】
2021515954.tif 000030
【図２８】
2021515954.tif 000031
【図２９】
2021515954.tif 000032
【図３０】
2021515954.tif 000033
【図３１】
2021515954.tif 000034
【図３２】
2021515954.tif 000035
【図３３】
2021515954.tif 000036
【図３４】
2021515954.tif 000037
【図３５】
2021515954.tif 000038
【図３６】
2021515954.tif 000039
【図３７】
2021515954.tif 000040
【図３８ａ】
2021515954.tif 000041
【図３８ｂ】
2021515954.tif 000042
【図３８ｃ】
2021515954.tif 000043
【図３９】
2021515954.tif 000044
【図４０】
2021515954.tif 000045
【図４１】
2021515954.tif 000046
【図４２】
2021515954.tif 000047
【図４３】
2021515954.tif 000048
【図４４】
2021515954.tif 000049
【図４５】
2021515954.tif 000050
【図４６】
2021515954.tif 000051
【図４７】
2021515954.tif 000052
【図４８】
2021515954.tif 000053
【図４９】
2021515954.tif 000054
【図５０】
2021515954.tif 000055
【図５１】
2021515954.tif 000056
【図５２】
2021515954.tif 000057
【図５３】
2021515954.tif 000058
【図５４】
2021515954.tif 000059
【図５５】
2021515954.tif 000060
【図５６】
2021515954.tif 000061
【図５７】
2021515954.tif 000062
【図５８】
2021515954.tif 000063
【図５９】
2021515954.tif 000064
【図６０】
2021515954.tif 000065
【図６１】
2021515954.tif 000066
【図６２】
2021515954.tif 000067
【図６３】
2021515954.tif 000068
【図６４】
2021515954.tif 000069
【図６５】
2021515954.tif 000070
【図６６】
2021515954.tif 000071
【図６７】
2021515954.tif 000072
【図６８】
2021515954.tif 000073
【図６９】
2021515954.tif 000074
【図７０】
2021515954.tif 000075
【図７１】
2021515954.tif 000076
【図７２】
2021515954.tif 000077
【図７３】
2021515954.tif 000078
【図７４】
2021515954.tif 000079
【図７５】
2021515954.tif 000080
【図７６】
2021515954.tif 000081
【図７７】
2021515954.tif 000082
【図７８】
2021515954.tif 000083
【図７９】
2021515954.tif 000084
【図８０】
2021515954.tif 000085
【図８１】
2021515954.tif 000086
【図８２】
2021515954.tif 000087
【図８３】
2021515954.tif 000088
【図８４】
2021515954.tif 000089
【図８５】
2021515954.tif 000090
【図８６】
2021515954.tif 000091
【図８７】
2021515954.tif 000092
【図８８】
2021515954.tif 000093
【図８９】
2021515954.tif 000094
【図９０】
2021515954.tif 000095
【図９１】
2021515954.tif 000096
【図９２】
2021515954.tif 000097
【図９３】
2021515954.tif 000098
【図９４】
2021515954.tif 000099
【図９５】
2021515954.tif 000100
【図９６】
2021515954.tif 000101
【図９７】
2021515954.tif 000102
【国際調査報告】
2021515954.tif 000103
2021515954.tif 000104