オブリク

オブリク
パラダイムマルチパラダイム:命令型構造化モジュール型オブジェクト指向プロトタイプベース並列
家族ヴィルト・オベロン
デザイン:クリシュナ・バーラットマーク・H・ブラウンルカ・カーデリ
初登場1993 (1993年
タイピングの規律力強くダイナミック
範囲語彙純粋
実装言語モジュラ3
プラットフォームIA-32
Webサイトwww .cc .gatech .edu /gvu /people /Phd /クリシュナ/VO /VOHome .html
主要な実装
斜視、視覚斜視
影響を受けた
Modula-3SelfOberon

Obliqは分散型およびローカルマルチスレッドコンピューティングをよりシンプルでプログラミングしやすいものにし、プログラムの安全性と暗黙的な型システムを提供することを目的として設計された、インタープリタ型のオブジェクト指向プログラミング言語です。インタープリタはModula-3で記述されており、ObliqはModula-3のネットワークオブジェクトの機能に完全にアクセスできます。レコードの連結、サブタイプ、再帰型のための型推論アルゴリズムがObliq用に開発されました。さらに、 NP完全[ 1 ]で あり、最低複雑度がΟ ( n 3 )、または他のモデリングでは特定の条件下でΟ ( n 2 )まで低下することが証明されており[ 2 ] 、最もよく知られている実装はΟ ( n 5 )で実行されます。[ 3 ] Obliqの構文はModula-3と非常によく似ているが、最大の違いはObliqでは明示的に型指定された変数が必要ない点(つまり、変数は型チェッカーが許可する任意のデータ型を保持でき、型チェッカーが受け入れないデータ型の場合は、指定された式の実行エラーが表示される)であるが、明示的な型宣言はインタープリターによって許可され無視される点である。言語の基本データ型には、ブール値整数実数文字文字列配列がある。Obliqは、通常の一連の順次制御構造(条件、反復、例外処理形式)と、並行処理のための特別な制御形式(ミューテックスとガードされたステートメント)をサポートしている。さらに、Obliqのオブジェクトは、分散ネットワークオブジェクト内の任意のマシンによってリモートで安全に複製およびコピーすることができ、安全かつ透過的に実行できる。[ 4 ]

Obliqの大規模な標準ライブラリは、数学演算、入出力(I/O)、永続性、スレッド制御、グラフィックス、アニメーションを強力にサポートします。分散コンピューティングはオブジェクトベースです。オブジェクトは、1つのプロセスにローカルな状態を保持します。オブジェクトやその他の変数のスコープは、完全にレキシカルです。オブジェクトは、ネットワーク上の別のマシン上にあるオブジェクトであっても、他のオブジェクトのメソッドを呼び出すことができます。Obliqオブジェクトは、名前付きフィールドの単純なコレクション( SelfSmalltalkのスロットに類似)であり、委任による継承(Selfと同様)をサポートします。

Obliqの一般的な用途としては、ネットワークプログラミング、3Dアニメーション、[ 5 ] 、イーサネットなどのローカルエリアネットワーク(LAN)を介した分散コンピューティングなどが挙げられます。ObliqはDigital Equipment Corporation(DEC)のModula-3ディストリビューションに無料で含まれていますが、他にも無料版がいくつか存在し、複数のオペレーティングシステム用のコンパイル済みバイナリも提供されています。

Obliq を使用したプロジェクト

参考文献

  1. ^ Palsberg, Jens; Zhao, Tian (2003年9月22日). 「レコードの連結とサブタイピングのための型推論」(PDF) . 2024年5月19日閲覧
  2. ^ Henglein, Fritz (1999). 「 n 3 の壁を突破する:より高速なオブジェクト型推論」.オブジェクトシステムの理論と実践. 5 (1): 57– 72. doi : 10.1002/(SICI)1096-9942(199901/03)5:1<57::AID-TAPO5>3.0.CO;2-U .
  3. ^ Palsberg, Jens; Zhao, Tian (2002). 「レコード連結とサブタイピングのための効率的な型推論」. Logic in Computer Science, Symposium on . 米国カリフォルニア州ロサンゼルスアラミトス: IEEE Computer Society. p. 125. doi : 10.1109/LICS.2002.1029822 . ISBN 0-7695-1483-9
  4. ^ Briais, Sebastien; Nestmann, Uwe (2002). 「移動物体は安全に動かなければならない」. FMOODS '02 . pp.  129– 146. CiteSeerX 10.1.1.23.4787 . 
  5. ^ Najork, Marc A. ; Brown, Marc H. (1995年6月30日). 「Obliq-3D: 高水準かつ高速な3Dアニメーションシステム」. IEEE Transactions on Visualization and Computer Graphics . 1 (2): 175– 193. doi : 10.1109/2945.468402 .
  6. ^ Brown, Marc H.; Najork, Marc A. (1996年5月). 「Collaborative Active Textbooks: A Web-Based Algorithm Animation System for an Electronic Classroom; Research Report 142」 . DEC Systems Research Center (SRC) . Digital Equipment Corporation (DEC). 2006年4月11日時点のオリジナルよりアーカイブ。 2021年10月8日閲覧
  7. ^ a b Brown, Marc H.; Najork, Marc A. (1997). 「分散アプレット」 . CHI '97 拡張アブストラクト「コンピューティングシステムにおけるヒューマンファクター:将来への展望」 . アトランタ、ジョージア州: ACM. pp.  204– 205. doi : 10.1145/1120212.1120344 . ISBN 0-89791-926-2. 2010年5月15日閲覧
  8. ^ a b Najork, Marc A. ; Brown, Marc H. (1996年5月). 「分散アクティブオブジェクト」.コンピュータネットワークとISDNシステム. 28 ( 7–11 ): 1037–1052 . doi : 10.1016/0169-7552(96)00033-5 .
  9. ^ Zeus: アルゴリズムアニメーションとマルチビュー編集のためのシステムMarc H. Brown. Digital Equipment Corporation (DEC) Systems Research Center (SRC) Research Report 075 (1992年2月)
  10. ^分散アプレット(MPG) . www.ibiblio.org . 2024年5月19日閲覧