未踏ソフトウェア創造事業 2006年度下期 並木・齋藤・高田・黒川 4PM合同成果報告会レポート ~開発の苦悩,完成の喜び~

この記事を読むのに必要な時間:およそ 4 分

未踏ソフトウェア創造事業とは,IPA(独立行政法人 情報処理推進機構)が実施する,独創性や優れた能力を持つクリエータの発掘を目的とする事業。独創的なソフトウェア技術やアイディアを公募し,プロジェクトが採択されると,1年弱という短期間ながら,開発に専念できる環境が提供される。専門知識を持つプロジェクトマネージャー(PM)が事前に選出され,プロジェクトの選定から,開発者への助言,進捗管理などを行う。

2007年8月6,7日の2日間に渡り,未踏ソフトウェア創造事業 2006年度下期 並木・齋藤・高田・黒川4PM合同成果報告会が開催されたので,その模様をレポートする。

WEB開発環境「葵」:日本語で気軽に作れるリッチクライアントの開発(酒徳峰章氏)

酒徳峰章氏

酒徳峰章氏

酒徳氏は,日本語プログラミング言語ひまわりなでしこなどの開発で知られており,Webアプリケーションも日本語で記述できるようにしようというのが,この「葵」である。

2005年下期に続いて2回目の採択で,1回目ではサーバ側で動作していたが,今回はクライアント側/Webブラウザでも動作するようになった。Flash上で動作するようになったので,葵で開発したアプリケーションをblogパーツとして簡単に貼り付けることができたり,携帯電話/Wiiなどをはじめさまざまなプラットフォームで動作するようになった。

さらに,拡張サービスをインストールすれば,ワープロ/表計算ソフトとの連携など,普通ではWebブラウザからは実行できない処理も行えるようになる。

今後は,.NET FrameworkやFlex,AIRなどにも対応するとのこと。

Mona OSにおける次世代Schemeシェルの開発(ひげぽん氏)

ひげぽん氏

ひげぽん氏

ひげぽん氏は,2chで開発を宣言し,アドバイスを受けながらゼロから開発を始めた「Mona OS」の開発者。本プロジェクトもMona OSに関するもので,Mona OSに一歩進んだシェルを搭載することが目標。

Schemeを選んだ理由として,さまざまなことを柔軟に,かつシンプルに記述することができ,部品化も容易で再利用性が高いことを挙げていた。

また,シェルの設定などもすべてS式で記述するので,アプリケーション開発者やユーザが,数ある設定ファイルの記述方法を覚えるという負担を軽減できる。今後はアプリケーションの設定などもすべてS式で記述するようにし,設定用のエディタをGUIで提供するとのこと。

さらに,並列処理を記述しやすいというSchemeの特徴や,自作OSという強みを活かしたOSコントロールなども行える。デモでは,表示された2つの画像を並列で同時に処理していた。

この他,正規表現によるファイルやウィンドウの一括処理なども行えるとのことで,Schemeの柔軟さを活かしたシェルの有用性が窺えた。

講演で行われたデモ。Schemeシェルから,画像を表示している2つのウィンドウを同時に動かしていた

講演で行われたデモ。Schemeシェルから,画像を表示している2つのウィンドウを同時に動かしていた

センサ・アクチュエータネットワーク制御ソフトウェアの開発(青木崇行氏)

青木崇行氏

青木崇行氏

ネットワークにつながる機器は,従来はPCがほとんどだったが,近年はロボット/アクチュエータ(機械の作動装置)なども接続するようになってきた。また,これらを利用しているのは従来は大規模な企業などの研究者程度だったのだが,じょじょに大学の実験室にも普及し,家庭内にも見られるようになった。しかし,ロボット/アクチュエータを利用したアプリケーションの開発は,ハードウェアが多種多様で,それぞれのハードウェアに対応する機能セットも十分に用意されていないため,難しいのが現状である。

本プロジェクトは,これらのセンサ/アクチュエータ向けにミドルウェアを提供しようというもの。ハードウェアに抽象化クラスを用いたソフトウェアモジュールを用意することで,ソフトウェアモジュールを組み合わせてアプリケーションを開発できるようにする。

発表後のデモでは,Phidgetsセンサ/アクチュエータを操作する模様を見ることができた。

非同期処理のためのJavaScriptマルチスレッド・フレームワークの開発(牧大介氏)

牧大介氏

牧大介氏

近年Ajaxの普及もあり,JavaScriptはWebページ/Webアプリケーションを作成するのに重要な役割を果たすようになった。ただ,JavaScriptのスレッドはWebブラウザのUIを担当しているスレッドが1本しかないため,1つのJavaScriptのコードを実行中は他のJavaScriptのコードを処理することができず,そのときはWebブラウザがフリーズしたように見えてしまうことになる。

本プロジェクトは,JavaScriptの上にマルチスレッド環境を構築するというもの。JavaScriptのライブラリとして実装しているため,処理系には手を加えなくて良い。また,Internet ExplorerやFirefox,Operaなど,代表的なブラウザに幅広く対応している。

コードはかなり直感的に記述できるスタイルを採用している。そのユーザプログラムを,マルチスレッドで処理できるようにコード変換することにより,変換後のJavaScriptが生成される。

性能としては,プログラム実行時間は遅くなるが,Ajaxの待ち時間のほとんどはサーバとの通信待ちなので,全体としては誤差の範囲内であるとのこと。

今後は最適化機構の追加やGoogle Gearsとの連携,デバッガの提供などを行い,さらに完成を高めていくと語った。

コメント

コメントの記入