Powered by SmartDoc

What's ELM-VE

特徴

特徴ではないですが、まずはじめに、ELMは 仮想現実を提供するということを述べておきます。 この世界で起るさまざまな現象や、空想の世界での出来事、 目に見えない物理現象、実際には費用や危険性や実験の規模の 問題で実現不可能な実験などをシミュレートすることを意図して 作成されています。

仮想現実を実現するためのソフトウェアは、すでに数多く ありますが、ELMの際立った特長といえば拡張性にあるとおもいます。 例えば各オブジェクトに対して、においを表現するデータを 付け加えてElmのエージェントとClientを拡張すれば、においの ある仮想空間を実現できるでしょう(今年アメリカの企業で、 コンピュータに接続して匂い?(かおり)を発生する デバイスがリリースされる予定だそうです)。

近年研究されている多くの分野では、独立した多くの要素が 互いに影響を及ぼしあう対象物が注目されていると言えると思います。 ELMではこのような対象をシミュレーションするのに適しています。 このような対象物は並列処理を用いた、プログラミングが有効ですが、 この場合マルチスレッドプログラミングなどの高等なプログラミング 技術が必要になってきます。ELMでは、スレッドをまったく意識 することなしに、マルチスレッド的なプログラミングが可能です。

スレッドを用いたプログラミングにより、能動的で 自律的なオブジェクトを作成することができます。

とくにELMは学生が研究で実験を行うための環境として 整備されています。シミュレーションのデータを保存したり、 クライアントの画像を保存したり、という機能が 用意されています。

ELMの提供する仮想現実は、通常、クライアントを起動 したときに自動的に作成される、自分のマシン内のサーバ によって維持されています。しかし、クライアントとは 独立したサーバをインターネットに接続された マシンで起動することによって新しい仮想現実を 造ることもできます。これらのサーバ間に リンクをはることによって、分散された巨大な 仮想現実を実現できます。

ELMの応用例

仮想現実、物理シミュレーション

ELM-VEのコンセプト

Javaはオブジェクト指向を取り入れ、プラットフォームを越えた実行ファ イルレベルでの互換性を提供し、計算機ネットワークの資源をフルに活用でき るプログラミング言語として非常に優れている。Javaは アプリケーション開発者の多様な要求にこたえるための言語として発展しているよう に見える。Javaで作成したアプリケーションが現実的な速度で動作し、 安全なセキュリティ機構をもち、豊富なGUIや多くのメディアへの対応、 さまざまなデータ構造の取り扱いを簡便にするクラス郡、などを有し などを目指しており、実際に実現されている。

Javaは優れた言語であるが、アプリケーションの開発言語でクロウト向け という感じが否めない。Javaではさまざまな機能が提供されているが、これら の機能を使ったプログラムを行うためには、その機能を実現するための固有の 概念を理解する必要がある。また、多くの場合さまざまな設定を考慮しなけれ ば、正しく動作するオブジェクトを作成することすらできない。つまり、プロ グラムを組む前の段階で全てを理解している必要がある。簡単なGUIを持つ プログラムを組む場合でも理解していなければならないことは、膨大である。

ほとんどの場合、学生が研究をするときに重要なのは、プログラミング技 術ではなく、そのプログラムで何をするかである。

ELMには計算機アーキテクチャを一切持ち込まない。 例えば、長さの単位にピクセルは持ち込まず、 メートルを用いる。

クラス名と名前だけで、まず、オブジェクトを作成できる。 他のカスタマイズ設定を必要としない。 しかし、カスタマイズできる。

拡張性、は研究に必要で、重要。

特に、並列処理ー>スレッドー>難解&バグ取りが難しい

プログラムが見えるということ

受動的か、能動的か

新しい概念を覚える必要がない、触ってみればよい。 生活の中で得られる概念のメタファを用いる

子供と、年寄りそして、Disabledの復権。