ホーム > President Blog : Sophia Cradle Incorporated

Sophia Cradle IncorporatedPresident Blog : Product

2005 年 11 月 02 日 : PDAなどのプログラムをBREWへ移植する支援ツールを開発

[PRESS RELEASE]

ソフィア・クレイドル、PDAなどのプログラムをBREWへ移植する支援ツールを開発

〜 BREWとPDA、iPod、PSP、NintendoDSなどの携帯端末間でプログラムの共有を実現 〜

[概要]
携帯電話向けソフト開発の株式会社ソフィア・クレイドル(本社:京都市、代表取締役社長:杉山和徳、以下 ソフィア・クレイドル)は、PDA、iPod、PSP、NintendoDSなどの C 言語で記述されたプログラムをBREWへ移植支援するツールを開発しました。このツールはBREWで大域変数を使用できるツール 『svHacker(エスブイハッカー)』 と『SophiaFramework (ソフィア・フレームワーク) 』に含まれるARM組込み標準関数を利用可能にする技術から構成されます。 2005年11月2日より、『svHacker』は『SophiaFramework 』ユーザーに無償配布されます。

[詳細]
携帯電話の普及に伴い、様々な端末上で動作するアプリケーションが携帯電話に移植されています。

今後もこの現象は続き、全世界で42 万人が参加するPalm のアプリケーション開発者コミュニティに登録されている2万5000個のアプリケーションや、全世界累計出荷本数1,960万本を記録したソニーのPSPのアプリなども携帯電話へ移植される可能性を秘めています。

これらの端末に搭載されているのがARM社【※1】のプロセッサです。ARM 社のプロセッサは、組込み機器の分野で約 80 %のシェアを占めます。Palm や PocketPC などの PDA 、ソニーの PSP、アップルの iPod、任天堂の Nintendo DS のプロセッサも ARM 社製です。

BREWが搭載された携帯電話にも ARM社プロセッサが搭載されています。しかし、 BREW 【※2】 では C 言語で可能な大域変数 ( static variable ) 【※3】 と ARM の浮動小数演算などの組込み標準関数【※4】が使えません。

この問題を解決するのが 『svHacker』 と 『SophiaFramework』【※5】です。 『svHacker』 はBREW の仕様を超えて C 言語の大域変数を利用可能にします。ARM 組込み標準関数の利用は『SophiaFramework』 が実現します。これによって PDA 上での手書き文字認識プログラムをはじめ、様々な ARM 社製マイクロプロセッサが搭載された端末向けの C 言語で記述されたプログラムを BREW 上へ容易に移植できます。

なお、2005年11月2日より、『svHacker』は『SophiaFramework 』ユーザーに無償配布されます。

SophiaFramework URL: リンク
本プレスリリースURL : リンク

(※)『svHacker』 はあくまでも開発補助ツールであり、構造上 QUALCOMM 社 の BREW の仕様の範囲外です。ソフィア・クレイドル はこのツールの動作に対して一切保証しません。本ツールを利用する場合はキャリアなど BREW サービス提供者に相談してください。
 
以上

■用語の説明

【※1】ARM社
イギリスのマイクロプロセッサメーカー。同社のプロセッサはプログラムサイズが小さく、面積が小さく、電力消費量も小さいため、あまり大きなメモリを搭載できない制御機器、携帯電話、PDA、ゲーム機などの携帯機器の組み込み用プロセッサやとして広く普及している。

【※2】BREW
読み方:「ブリュー」または「ブルー」
2001年1月に米国クアルコム社が発表した携帯電話向けソフトウェアの規格。異なる携帯電話機のOSの仕様差を吸収し、単一のコンパイル後のプログラムをインターネットからダウンロードし、さまざまな携帯電話機でそのまま高速に動作できるように設計されている。日本ではKDDIが2003年2月よりBREWサービスを提供開始。NTT ドコモの一部の機種でBREWが採用されている。2005年10月現在、世界で29ヶ国56 の通信キャリアが採用しており、世界的な規模でその普及が急速に進んでいる。

【※3】大域変数
その名前と値がプログラム全体で有効な変数である。プログラムのサイズを押さえると共に、スピードも速くなるメリットがある。そのため、ハードウェア制約の厳しい携帯電話などには有効なものである。BREWでは大域変数は利用できない。

【※4】組込み標準関数
三角関数、指数関数、対数関数などプログラミング言語に機能として提供される汎用的な関数のこと。組込み標準関数を利用する場合、プログラマーはその関数を定義しなくてもよい。

【※5】SophiaFramework
読み方:ソフィア・フレームワーク
ソフィア・クレイドルが2002年8月に発表した、BREWアプリをC++プログラミングで開発することを世界で初めて実現した唯一のBREW向けC++オブジェクト指向開発環境。ユーザーインターフェース、通信、グラフィック描画、文字列処理など、ビジネス、コンテンツ、ゲームなどジャンルを問わず、あらゆるBREWアプリを開発するのに必要十分な“クラス”と呼ばれるプログラムモジュール群がラインナップされている。すでにKDDI公式EZアプリ(BREW)やビジネス系BREWアプリで多数の導入実績がある。
詳細情報URL: リンク

■ 会社の説明

株式会社ソフィア・クレイドル
代表者: 代表取締役社長 杉山和徳
設立日: 2002 年 2 月 22 日
所在地: 京都市左京区田中関田町 2 番地 7
資本金: 2645 万円
事業内容: モバイルインターネットに関する:
1.ソフトウェア基礎技術の研究開発
2.ソフトウェア製品の製造及び販売
3.システム企画及びインテグレーション
ホームページ: リンク

  

2005 年 11 月 01 日 : BREW 用 RSS リーダー、メーラー、スケジューラーのソースコードを無償提供

[PRESS RELEASE]

ソフィア・クレイドル、BREW 用 RSS リーダー、メーラー、スケジューラーのソースコードを無償提供

〜 BREW ミドルウェア 『ソフィア・フレームワーク バージョン 3.0 』 に同梱 〜

[概要]

携帯電話向けソフト開発の株式会社ソフィア・クレイドル(本社:京都市、代表取締役社長:杉山和徳、以下 ソフィア・クレイドル)は、BREW用の RSSリーダー、POP/SMTP対応メーラー、vCalendar対応スケジューラーなどのソースコードを無償提供します。ソースコードは2005年11月2日に出荷する BREW ミドルウェア『SophiaFramework (ソフィア・フレームワーク) バージョン3.0』にチュートリアル付きで同梱されます。

[詳細]

2005年11月2日から、ソフィア・クレイドル はBREW【※1】ミドルウェア『 SophiaFramework (ソフィア・フレームワーク) バージョン3.0』【※2】の出荷を開始します。ブログなどの更新情報を表示するRSS【※3】リーダー、POP/SMTP【※4】に対応したメーラー、vCalendar【※5】形式でデータ交換できるスケジューラーなど、『SophiaFramework』を用いた実用的なBREWアプリのソースコードをチュートリアル付きで無償提供します。

これらのソースコードを足掛かりに、『SophiaFramework』のユーザーインターフェースエンジンを使って独自のプログラムを付加することで、本格的なBREWアプリを簡単に且つ迅速に開発できます。

なお、2005年11月2日から本ソースコードは『SophiaFramework (ソフィア・フレームワーク) バージョン3.0』を購入、もしくは評価版申し込めば無償提供されます。

SophiaFramework URL: リンク
SophiaFramework 評価版申し込みURL: リンク
本プレスリリースURL : リンク

以上


■用語解説

【※1】BREW
読み方:「ブリュー」または「ブルー」
2001年1月に米国クアルコム社が発表した携帯電話向けソフトウェアの規格。「ブリュー」もしくは「ブルー」と読む。異なる携帯電話機のOSの仕様差を吸収し、単一のコンパイル後のプログラムをインターネットからダウンロードし、さまざまな携帯電話機でそのまま高速に動作できるように設計されている。日本ではKDDIが2003年2月よりBREWサービスを提供開始。NTT ドコモの一部の機種でBREWが採用されている。2005年10月現在、世界で29ヶ国56 の通信キャリアが採用しており、世界的な規模でその普及が急速に進んでいる。

【※2】SophiaFramework
読み方:ソフィア・フレームワーク
ソフィア・クレイドルが2002年8月に発表した、BREWアプリをC++プログラミングで開発することを世界で初めて実現した唯一のBREW向けC++オブジェクト指向開発環境。ユーザーインターフェース、通信、グラフィック描画、文字列処理など、ビジネス、コンテンツ、ゲームなどジャンルを問わず、あらゆるBREWアプリを開発するのに必要十分な“クラス”と呼ばれるプログラムモジュール群がラインナップされている。すでにKDDI公式EZアプリ(BREW)やビジネス系BREWアプリで多数の導入実績がある。
詳細情報URL: リンク

【※3】RSS
Rich Site Summaryの略。ブログなどのウェブサイトのタイトル、アドレス、見出し、更新時刻などを記述するための文書フォーマット。ブログの更新情報の配信用が大半を占める。最近、ニュース配信や企業のプレスリリースなどの最新情報を、RSSを使って配信する事例が増えている。

【※4】POP/SMTP
Post Office Protocol 、Simple Mail Transfer Protocolの略。現在最も広く普及しているインターネットのメールサーバー間で使われるメールを送受信するためのプロトコル(取り決め)のこと。ほとんどのパソコンのメーラーはこのプロトコルに対応したものになっている。

【※5】vCalendar
スケジュール情報に関する共通フォーマットのこと。このフォーマットでデータをやり取りすることで、PCやPDA、携帯電話などの異なる端末間でスケジュール情報が共有できる。


■会社の説明

株式会社ソフィア・クレイドル
代表者: 代表取締役社長 杉山和徳
設立日: 2002 年 2 月 22 日
所在地: 京都市左京区田中関田町 2 番地 7
資本金: 2645 万円
事業内容: モバイルインターネットに関する:
1.ソフトウェア基礎技術の研究開発
2.ソフトウェア製品の製造及び販売
3.システム企画及びインテグレーション
ホームページ: リンク

  

2005 年 10 月 21 日 : BREW SDK 2.1エミュレータ用カメラ機能ツールを無償配布

[PRESS RELEASE]

ソフィア・クレイドル、BREW SDK 2.1エミュレータ用カメラ機能ツールを無償配布

〜 エミュレータ対応によりデバッグ作業時間を半減 〜

[概要]

携帯電話向けソフト開発の株式会社ソフィア・クレイドル(本社:京都市、代表取締役社長:杉山和徳、以下 ソフィア・クレイドル)は、BREWSDK 2.1エミュレータに、カメラ機能を追加するツール『 Camulator (カミュレーター)』の無償配布します。受付は、2005年10月21日から2005年11月30日まで、同社サイトにて行います。入手には、同社新製品SophiaFramework Ver. 3.0 β1 無償トライアルに申し込み、アンケートに回答する必要があります。


[詳細]

カメラ搭載携帯電話の増加に伴い、BREW【※1】においても Ver. 2.1 よりカメラ機能をサポートするようになりました。しかし、BREW SDK 2.1ではエミュレータ【※2】上でカメラ機能がサポートされておらず、デバッガ【※3】などの開発支援ツールが使用できないという問題がありました。

その問題を解決するために開発されたのが『 Camulator 』です。『 Camulator 』は BREW SDK 2.1エミュレータにカメラ機能を追加し、携帯電話を使わずパソコン上でのデバッグ作業を可能にした世界唯一のツールです。

SophiaFramework【※4】との併用により、カメラ機能のメモリ追跡も可能になります。その結果、プログラミング、テスト、デバックの一連の作業サイクル回数が大幅に削減されます。

実機デバッグで35時間必要だったテスト時間が、『 Camulator 』を使用することにより20時間へ削減された例を確認しています。

本ツールのダウンロードにはSophiaFramework Ver. 3.0 β1 無償トライアルに申し込み、アンケートに回答する必要があります。

本プレスリリースURL : リンク
SophiaFramework無償トライアル受付URL : リンク

対象BREW 2.1端末:26機種
(PENCK・W31S・W31K・W31SA・W22SA・W22H・W21CA/CA II・W21T・W21SA・W21S・W21K・Sweets・talby・A5511T・A5509T・A5507SA・A5506T・A5505SA・A5504T・A5503SA・A5502K・A5501T・A1404S・A1403K・A1402S II・A1402S)

対象端末数: 約1300万台 (1機種50万台としてソフィア・クレイドルが算出) 

以上


■用語解説

【※1】BREW
読み方:「ブリュー」または「ブルー」
2001年1月に米国クアルコム社が発表した携帯電話向けソフトウェアの規格。「ブリュー」もしくは「ブルー」と読む。異なる携帯電話機のOSの仕様差を吸収し、単一のコンパイル後のプログラムをインターネットからダウンロードし、さまざまな携帯電話機でそのまま高速に動作できるように設計されている。日本ではKDDIが2003年2月よりBREWサービスを提供開始。NTT ドコモの一部の機種でBREWが採用されている。2005年10月現在、世界で29ヶ国56 の通信キャリアが採用しており、世界的な規模でその普及が急速に進んでいる。

【※2】エミュレータ
システム上で、異なるシステムを動作させるプログラムのこと。エミュレータを使えば、Windows上で携帯電話の機能を再現し、携帯電話向けに開発されたアプリケーションを動作させるようなことができる。

【※3】デバッガ
プログラムの不具合(バグ)の発見や修正を支援するソフトウェアのこと。プログラムが意図しない動作をしたり、停止した場合、プログラム中のどこに不具合があるのか調べる必要がある。デバッガはプログラムの状態を調べ、不具合の発見を支援してくれる。

【※4】SophiaFramework
読み方:ソフィア・フレームワーク
ソフィア・クレイドルが2002年8月に発表した、BREWアプリをC++プログラミングで開発することを世界で初めて実現した唯一のBREW向けC++オブジェクト指向開発環境。ユーザーインターフェース、通信、グラフィック描画、文字列処理など、ビジネス、コンテンツ、ゲームなどジャンルを問わず、あらゆるBREWアプリを開発するのに必要十分な“クラス”と呼ばれるプログラムモジュール群がラインナップされている。すでにKDDI公式EZアプリ(BREW)やビジネス系BREWアプリで多数の導入実績がある。
詳細情報URL: リンク


■ 会社の説明
株式会社ソフィア・クレイドル
代表者: 代表取締役社長 杉山和徳
設立日: 2002 年 2 月 22 日
所在地: 京都市左京区田中関田町 2 番地 7
資本金: 2645 万円
事業内容: モバイルインターネットに関する:
1.ソフトウェア基礎技術の研究開発
2.ソフトウェア製品の製造及び販売
3.システム企画及びインテグレーション
ホームページ: リンク

  

2005 年 10 月 12 日 : プログラミングのかたち

近頃、何千年もの時を経て現代にまで伝わる中国古典をよく読む。流行のビジネス書を読む感覚では全然進めない。一字一字、象形文字のかたちに込められた趣向を凝らした文章は読んでいて味わい深い。読む度に新しい発見がある。今の時代にも通用する中国古典には想像を超える何かがありそうだ。

ソフィア・クレイドルで創っているのはコンピューターへのメッセージであるプログラムである。プログラムも一種の著作であり読み手がいるとするならば、その中には中国古典のようにクラシカルなものとして永続性を保つものもあるかもしれない。そんなものを創造できたら最高だろう。

中国古典を読んでいて気付くのは、時を超えて通用する普遍性、様々な場面に適用できる汎用性、無駄な部分が一切ない簡潔性、首尾一貫した論理性、面白いストーリー性、そして何よりも文章に美と調和がある。論理性などは文学作品や詩と違いプログラミングと共通する要素であるかもしれない。

プログラミングの世界においてもこんな風にクラシカルな存在として次世代に遺すことができればと願う。様々な分野において真にプロフェッショナルな仕事にはそういった雰囲気があると思える。

  

2005 年 10 月 10 日 : svHacker by Sophia Cradle

英国にある ARM 社をご存知だろうか。携帯電話やPDA、ゲーム機、デジカメなどの組込み機器向けマイクロプロセッサを製造販売している会社である。アップルのiPOD、ソニーのPSP、Nintendo DS のプロセッサも ARM 社製である。組込み機器の分野ではそのシェアは全世界が約 80 %を占めるほどメジャーな存在だ。

ソフィア・クレイドルでは、ARM 社が提供するマイクロプロセッサが携帯端末の急激な普及にともなって世界中にひろまると見込んでソフト事業を展開している。そのひとつのテクノロジーが近日中に発表を予定している"svHacker"なのだ。

それでは"svHacker"とは何なのだろうか?

AUの携帯電話には ARM 社のマイクロプロセッサが搭載されていて、その上に米国 Qualcomm 社の OS があり、BREW というソフトプラットフォームがその OS の上に載っている。携帯電話に ARM のマイクロプロセッサが載っていることは極めて魅力的である。何故ならば、iPOD、PDA、PSP、NintendoDSなどで動作するソフトが携帯電話で使えるようになるかもしれないからである。(NTTドコモや vodafone の携帯電話も大半の機種で ARM 社提供のマイクロプロセッサが利用されている)

それを阻む障害が AU の携帯電話の BREW の仕様にあり致命的なものであった。それは C 言語で利用が認められている大域変数(static variable)が使えないこと。それから ARM の浮動小数演算などの標準組込み関数が使えないのだ。

BREW の仕様を超えて大域変数を利用可能にするのがsvHackerである。ARM の標準組込み関数へのアクセスは SophiaFramework という製品によって実現された。

BREW の仕様の範囲外の話なのでソフィア・クレイドルとしては保証の限りではない。けれども iPOD、PDA、PSP、NintendoDSなどで動作するソフトが 携帯電話に移植され利用可能になれば携帯に新しい視界がひらけるような気がする。

  

2005 年 10 月 06 日 : テレポーテーション

テレポーテーションとは物体がある地点から別のある地点へ距離の隔たりを超えて瞬間的に移動する現象のことをいう。このSFめいた話が現実のものと空想してみた時、私たちのビジネスの価値はまさしくこれじゃないのかと思った。

x,y,z軸から構成される3次元空間に状態s軸を導入して4次元空間へと拡張してみる。もしお客様がソフィア・クレイドルの製品を手にすれば、例えばプログラムの圧縮作業とかユーザーインターフェースの開発作業とかをショートカットして瞬間的に次の状態に移り変わる。

ある意味でこの状態遷移は一種のテレポーテーションというわけで、視点を変えれば夢のような出来事を私たちは実現しているんだと自負することもできる。

その時注意が必要なのは、テレポーテーションする際の安全性ではないだろうか。『ザ・フライ』ではテレポーテーションの際のささいなバグが悲劇を招いた。それは私たちの製品の未来にとって重要な教訓になりそうな気がする。

想像以上に便利なツールであるからこそ、安全性というものに細心の注意を払わなければならない。

  

2005 年 10 月 04 日 : 253倍のスピードアップ

従来、組込みソフトC++言語でプログラミングされることはほとんどなかった。何故ならCPUスピードやメモリ容量などのハードウェア的な制約があるからだ。しかしPCのソフトはどうだろうか?限りなく多くの人々が利用する製品レベルのソフトほどC++言語でプログラミングされている。

例えば、Javaシステムの核ともいえるJavaVMもC++言語で実装されているものが多い。Macromedia社の著名なあるソフトでもクラッシュ直後にC++のエラーメッセージが表示されるのを目撃したりする。

昨日、ソフィア・クレイドルが発表したSophiaFrameworkという製品は、組込みソフトが実用レベルでC++プログラミングできるという革新に最大の特長がある。試験的に速度の向上を計測したところ、下記レポートにあるように最大253倍のスピードアップが確認された。

飛行機の発明のおかげで人々は世界の大空を自由に駆け巡れるようになった。同じく、ハードウェア制約の厳しい組込みの世界で桁違いのスピードアップを狙うのならば何らかの抜本的なブレークスルーが必要である。前回のリリースからこの1年半以上に渡る期間というものは、ひたすらこのイノベーションに捧げられたといっても過言ではない。

スタッフの計測実験レポート。
---------------------------------------------------------------------------
SophiaFramework3.0の新旧の性能比較は以下の通りです。

文字列はどのアプリケーションでも多用される基本的なオブジェクトです。新バージョンのSophiaFrameworkでは文字列処理にかかるコストが大幅に削減されました。文字列以外のオブジェクトももちろん最適化されています。例えば、コレクションクラスなどは構造自体が変化しているので、単純な比較はできません。ここでは文字列クラスを取りあげ、どの程度速度が向上しているかを示します。


■例1:文字列の追加

void func1() {
int i, j, sum;
SFXAnsiString str; // 旧バージョンではSFUAnsiString

sum = 0;
for (i = 0; i < 10; i++) { // 10回計測
int startms = GETTIMEMS(); //計測開始
for (j = 0; j < 1000; j++) { // 1000回実行
str += "abcdef"; //文字列の追加(今までの文字列に"abcdef"を追加)
}
int endms = GETTIMEMS(); //計測終了
DBGPRINTF("%d", endms - startms);
sum += endms - startms;
}
DBGPRINTF("avarage = %d", sum / 10);
}

計測された時間(単位は ms)

旧バージョン 2.2
246
691
1161
1698
2269
2802
3348
3849
4364
4909
average = 2533

新バージョン 3.0
10
11
10
10
10
10
10
11
10
10
average = 10

解説

文字列 str に繰り返し "abcdef" 文字列 を追加していく動作です。
例えば、ネットワーク通信で受信した文字列を今ある文字列に次々に追加していく場合、このようなコードが出てきます。

SophiaFramework 旧バージョンでは文字列の追加のたびに新しいインスタンスを生成したため、大幅な時間のロスとなっていました。新バージョンではこのようなロスをなくし、時間短縮がなされています。


■例2:文字列の検索

void func2() {
int i, j, sum, temp;
SFXAnsiString str; // 旧バージョンではSFUAnsiString

sum = 0;
for (i = 0; i < 10000; i++) { // 文字列の準備(abcabc... と続く文字列を用意し、途中に"SophiaFramework3.0"の文字列を挿入したものを用意する)
if (i == 5000) str += "SophiaFramework3.0";
else str += "abc";
}
for (i = 0; i < 3; i++) { // 3回計測
int startms = GETTIMEMS(); //計測開始
for (j = 0; j < 100; j++) { // 100回実行
temp += str.IndexOf("SophiaFramework3.0"); //文字列の検索(何文字目にあるか)
}
int endms = GETTIMEMS(); //計測終了
DBGPRINTF("%d %d", endms - startms, temp);
sum += endms - startms;
}

DBGPRINTF("avarage = %d", sum / 3);
}

計測された時間(単位は ms)

旧バージョン 2.2
7019
6998
7008
average = 7008

新バージョン 3.0
1281
1299
1280
average = 1286

解説

長い文字列から"SophiaFramework3.0"の文字列が何番目にあるかを探しています。
こちらも効率化により時間が短縮されています。

■例3:文字列の置き換え

void func3() {
int i, j, sum;
SFUAnsiString str; // 旧バージョンではSFUAnsiString
SFUAnsiString temp_str;

sum = 0;
for (i = 0; i < 10000; i++) { // 文字列の準備
if (i == 5000) str += "SophiaFramework2.2";
else str += "abc";
}
for (i = 0; i < 3; i++) { // 3回計測
int startms = GETTIMEMS(); //計測開始
for (j = 0; j < 10; j++) { // 10回実行
temp_str = str.Replace("SophiaFramework2.2", "SophiaFramework3.0"); //文字列の置換
}
int endms = GETTIMEMS(); //計測終了
DBGPRINTF("%d %d", endms - startms, temp_str.Length());
sum += endms - startms;
}

DBGPRINTF("avarage = %d", sum / 3);
}

計測された時間(単位は ms)

旧バージョン 2.2
3741
3741
3724
average = 3735

新バージョン 3.0
626
626
626
average = 626

解説

長い文字列から"SophiaFramework2.2"の文字列を見つけ出し、"SophiaFramework3.0"に置換しています。

以上

  
<前のページ |  1 | 2 | 3 | 4 | 5 | 6 | 7  |  次のページ>