【コンピュータシステム学科 幸谷智紀】「多倍長計算と関数のグラフ描画システム(その2)」


 ほぼ1年ぶりの登場となります,コンピュータシステム学科の幸谷 智紀(こうや とものり)と申します。この記事は前回の続きになります。予告通り,本記事を執筆できて光栄の至りです。それもこれも,上記のようにMPFRgraphのjqplotバージョンが完成したことで続きのネタができたお蔭であります。

 現在はスマートフォン(スマホ)の利用が当たり前で,いつでもどこでも電波が届くところなら,インターネット(The Internet)に接続できてLINEでもTwitterでもFacebookでも連絡を取ることができます。これらは全てWeb(ウェブ)を利用したソフトウェアサービス,つまりWebアプリケーション(Webアプリ)と呼ばれているもので,下記の図のような仕組みになっています。

 アプリケーションとして動作するソフトウェアは全てWebサーバ側に蓄えられ,ユーザ側はThe Internetを介してそれを自分のマシン(パソコンやスマホ,タブレット等)上で動作しているブラウザ(Google Chrome, Firefox, Internet Explorer等),あるいは専用アプリケーションに読みこんで実行します。そこで実行されたものは全てWebサーバ側に情報として蓄えられ,様々な統計情報として利用されるようになっています。現在スマホ上で実行できるるサービスの多くはこのWebアプリの一種と言えます。

 私の開発したMPFRgraph,すなわち,多倍長精度関数表&グラフ作成ツールもそんなWebアプリの一種で,ユーザが入力した関数の数式と描画する独立変数の区間,そして区間の分割数を受け取った後に描画するグラフ作成のために次の3つのオープンソースグラフ描画ライブラリを利用しています。それぞれのライブラリがどんなコンピューター言語で記述されているかを[大ガッコ]に示しました。

 このうち,PHPはWebサーバ側,JavaScript, Flashはブラウザ側で動作しています。それぞれ一長一短あり,現在のスマホではOpenFlashChart版のグラフは読むことができなかったりします。

 これらのMPFRgraphの処理をまとめたものが下記の図になります。

 ゴチャゴチャしていますが,Webアプリは実際これだけ複雑な動作フローになっている訳です。作成は大変でしたが,一度作ってしまうと再利用が楽なのと,結果がすぐに他の人にも見せることができるので,自分の研究(多倍長計算の利用)の広報用としても,Webアプリを作る卒業研究の教材としても大活躍しています(と思っているのは私だけ?)。

 Webアプリの作成方法は様々な方法があります。皆さんもいろいろ検索して自分の手で作って実行してみて下さい。