Konoha Project, (C) 2008 Kimio Kuramitsu, Yokohama National University, All Rights Reserved. 次世代ユビキタス スクリプティング言語の開発 横浜国立大学 倉光君郎 東京ミッドタウン, 六本木, 東京
Konoha Project, (C) 2008 Kimio Kuramitsu, Yokohama National University, All Rights Reserved. Konoha Project 高度ユビキタスアプリケーション開発のため、 次世代のスクリプティング言語を開発し、オー プンソースによる提供をめざす 多様なデバイ ス 多様な情報源
Konoha Project, (C) 2008 Kimio Kuramitsu, Yokohama National University, All Rights Reserved. なぜ? 現在のアプリケーション開発は、スクリプティ ング言語が中心となっている。 組み込み&ユビキタス分野でも適用できる、高 性能&セキュアな言語エンジンの需要は大きい
Konoha Project, (C) 2008 Kimio Kuramitsu, Yokohama National University, All Rights Reserved. Konoha 言語 新設計のスクリプティング言語 –Java ベースのオブジェクト指向技術 – ハイブリッドの型システム(静的/動的) – バーチャルマシン( KLR )ベースの実行環境 – クロスプラットホーム Linux, MacOS X, Win32, TRON(T-Kernel)
Konoha Project, (C) 2008 Kimio Kuramitsu, Yokohama National University, All Rights Reserved. Konoha 言語の基本設計 誰でもどこでもすぐに使える言語を目指して Java のように書けて 対話的にも動作 class Person { String name; int age; Person (String name, int age) { _name = name; _age = age; } Person p = new Person(" なると ", 17);
Konoha Project, (C) 2008 Kimio Kuramitsu, Yokohama National University, All Rights Reserved. 静的な型付けスクリプティング言語 C C++ Java C#Objective- C Smalltalk オブジェクト指向の登場 Perl Python Ruby スクリプト言語の登場 Csh PHP BASIC 抽象クラス デザインパターン AOP 、 DbC パラメタ型 アノテーション MLOcaml Duck typing クラス継承 カプセル化 ポリモーフィズム メインストリーム言 語 ダイナミック言 語 Konoha ハイブリッド言 語
Konoha Project, (C) 2008 Kimio Kuramitsu, Yokohama National University, All Rights Reserved. Konoha "Runanytime" コンパイラ・テクノロジ スクリプトは、レジスタ型バーチャルマシンの バイトコードへコンパイル後、実行される – 型検査が行われる – エラー箇所は安全に動作可能なコードへ変更 int f(int n) { if(n==1)return 1; return n * f(n-1); } コンパイル Konoha ソースコード Konoha VM コード
Konoha Project, (C) 2008 Kimio Kuramitsu, Yokohama National University, All Rights Reserved. 世界最高水準の実行性能 言語 fibo(36) 11 月 Ruby PHP46.4 Perl JavaScript26.2 Python24.8 Konoha 0. 2 (11/19) 12.0 Lua Konoha 0.3 では、 より高速化 オブジェクト指向スクリプティング言語では、世界最高水準の 性能を実現している
Konoha Project, (C) 2008 Kimio Kuramitsu, Yokohama National University, All Rights Reserved. 現在の研究課題 スクリプティング言語の高速化、組込み化 – ハイブリッドな型システム 「意味のわかる」プログラミング – 相互運用性とセマンティック処理 高信頼性ソフトウェア技術 –SecurityWeaver – ディペンダビリティ記述
Konoha Project, (C) 2008 Kimio Kuramitsu, Yokohama National University, All Rights Reserved. 実世界の「意味」を目指して 1999 年 NASA は火星観測衛星を失った – 火星人の攻撃か?それとも 長さ ( メートル 法 ) 長さ ( フィート ) 現在のプログラミング言語では、フィート法とメートル法の 区別も扱うことができない。 (Guy Steel Jr. OOPSLA2004) アメリカの開発チーム ヨーロッパ&アジアの 開発チーム
Konoha Project, (C) 2008 Kimio Kuramitsu, Yokohama National University, All Rights Reserved. セマンティックプログラミング 摂氏 ? 華氏 ? 寒いって一体、何度? 温度センサー デバイス // 温度が寒ければ、ストーブを付ける void check( 温度 c) { if(c == " 寒い ") { activate(" ストーブ "); }
Konoha Project, (C) 2008 Kimio Kuramitsu, Yokohama National University, All Rights Reserved. 意味型による推論エンジン 体感温度温度 セマンティックマッピング リレーショナル DB Ontology Web / WebServices Software Modules 意味の違いを型として解決し、自動的に変換し てくれる
Konoha Project, (C) 2008 Kimio Kuramitsu, Yokohama National University, All Rights Reserved. SecurityWeaver テクノロジ 実行環境にあわせて、アスペクトとして、セ キュリティ機能を安全に変更することができる Konoha スクリプト void Amazon.placeOrder() RBAC (ポリシー) 監視 SecurityWeaver インターネット
Konoha Project, (C) 2008 Kimio Kuramitsu, Yokohama National University, All Rights Reserved. Kernel Scripting による安全なカーネル拡張 スクリプティング言語テクノロジを組み合わせ、 次世代のディペンダブル・オペレーティングシ ステムの先進的な研究取り組んでいます。 Kernel land 小型の Konoha バーチャルマシン スクリプトによる OS 機能拡張
Konoha Project, (C) 2008 Kimio Kuramitsu, Yokohama National University, All Rights Reserved. Get Konoha Today!! Konoha をダウンロードしてみましょう
Konoha Project, (C) 2008 Kimio Kuramitsu, Yokohama National University, All Rights Reserved. 謝辞 Konoha は、下記の研究ファンドからの支援を 受けて、開発されてきました 経済産業省 IPA 未踏ソフトウェア創造事業「軽 量オントロジレポジトリの開発」 総務省 SCOPE-R 「意味型を備えたユビキタス バーチャルマシンの開発」 文部科学省 JST/CREST 「 SecurityWeaver と P- Script による実行時セキュリティの研究」