TOPPERS Project Newsletter

第3号(2004年7月7日発行)

TOPPERSプロジェクト
http://www.toppers.jp/

目次

TOPPERS 新たに6つの成果物発表
TOPPERS カンファレンス 2004 開催
TOPPERS/FI4 カーネル公開
Remote Link Loader (RLL) 公開準備中
TOPPERS C++ API テンプレートライブラリ公開
TOPPERSカーネルテストスイート公開
TOPPERS/OSEK カーネル開発
TINET IPv6 に対応
TOPPERSカンファレンスの反省と今後
参加のお誘い
お問い合わせ先

TOPPERS 新たに6つの成果物発表

TOPPERSプロジェクトは,4月26日 東実年金会館にて新たに6つの開発成果公開のプレス発表を行いました.この度,発表した成果物は,独立行政法人 情報処理推進機構 (IPA ) の「2003 年度オープンソフトウェア活用基盤整備事業」の採択テーマとして4点開発し,その開発物をオープンソースソフトウェアとして配付開始いたしました.

IPA採択テーマは,TOPPERSプロジェクトが法人化される前にIPAに申請したテーマであるため,開発管理を(資)もなみソフトウェアが担当して開発を行いました.しかし申請および開発内容の検討をTOPPERSプロジェクト組織化準備委員会にて検討していたため,TOPPERSの正式開発成果物と言えます.今後もTOPPERSプロジェクト主導による開発を積極的に実施いたします.

<IPA採択テーマによる開発成果物>

また,TOPPERSプロジェクトのメンバより開発されたソフトウェア2点をTOPPERSプロジェクトの開発成果物としてコントリビュートし,オープンソースソフトウェアとして配付しました.このように,プロジェクトの開発成果物は,プロジェクト主導による開発成果と,会員メンバが開発しその成果物をプロジェクトの開発成果物してオープンソースとしてリリースする成果物があります.

<コントリビュートされた開発成果物>

  • TOPPERS/OSEKカーネル ※ 7月初旬会員早期リリース予定
  • TINET Version 1.2 ( IPv6対応版 ) ※ 会員早期リリース中

プレス発表会場には新聞社,雑誌等の記者およそ20名にご参加いただき,開発成果およびプロジェクトの方針を説明いたしました.幾つかの新聞,雑誌等に本発表内容が掲載されました.
掲載例:CQ出版社 「デザインウェーブマガジン」7月号

TOPPERS カンファレンス 2004 開催

6月3日〜4日 学士会館において,「TOPPERS カンファレンス 2004」を開催いたしました.

TOPPERSプロジェクトでは会員の皆様にプロジェクトの開発成果,会員企業様のTOPPERS関連商品開発状況などの最新動向をお知らせする場として,開発者および利用者のための「TOPPERSカンファレンス」を毎年開催する予定です.

今回のTOPPERSカンファレンスでは,法人化後に発表いたしました数々の成果をいち早く会員,ユーザの皆様にお伝えし,ご意見・ご要望などを直にお聞き致しました.これら貴重なご意見を今後の活動に反映して参りたいと思います.

今回のカンファレンスでは,初日に「セミナセッション」,二日目に「チュートリアルセッション」を行いました.セミナではTOPPERSプロジェクトの方針,各ワーキンググループの活動内容,パネルセッションによりプロジェクトの魅力をお伝えできたと考えております.また,チュートリアルでは,TOPPERS成果物や成果物を利用した応用製品を技術的な側面から詳細に説明いたしました.次回以降もプロジェクトの状況を丁寧に説明したいと考えておりますので,多くの皆様に参加いただけますようお願いいたします.

TOPPERS/FI4 カーネル 公開

TOPPERS/FI4カーネルは,現世代でのμITRON仕様準拠OSの決定版となるべく開発された,μITRON4.0仕様準拠カーネルです.

スタンダードプロファイル準拠であったTOPPERS/JSPカーネルに全面的な機能拡張を加え,μITRON4.0仕様の全てのAPIをサポートしています.

<TOPPERS/FI4カーネルの特徴>

他社μITRON3.0/4.0仕様OSからの移行が容易に
  • 動的なID割当てのサポート
    カーネルオブジェクトの生成時における動的なIDの割当て ( いわゆるacre系サービスコール ) をサポートしました.
  • メッセージバッファ・ランデブのサポート
    μITRON3.0仕様準拠OSでは使用頻度の高かったメッセージバッファや,サーバクライアントパターンを実現するのに便利なランデブをサポートするサービスコールを追加しました.
TOPPERS/JSPカーネルからの移行が容易に

スタンダードプロファイル準拠サービスコールは,TOPPERS/JSPカーネルのソースコードを可能な限り流用し,関連ソースコードの5割以上がJSPカーネルと同じ記述になっています.

μITRON仕様OSのカーネル移行は,時に微妙な非互換性が問題になることがあります.TOPPERS/JSPカーネルとTOPPERS/FI4カーネルの間ではソースコードの共用により,この問題に対応しています.また,ターゲット依存部もアラームハンドラに依存する部分を除き,TOPPERS/JSPカーネルのソースコードが利用可能です.現在のところTOPPERS/FI4カーネルはSH3にのみ対応していますが,すでに4年の実績を持つTOPPERS/JSPカーネルの資産を流用することで,今後急速に対応プロセッサを増やすことが予定しています.

<ハードリアルタイムシステムへの応用>

ミューテックス・オーバランハンドラのサポート

組込みOSの適用範囲が広がる中,ハードリアルタイムシステムへの期待が高まっています.ミューテックス(優先度継承セマフォ)とオーバランハンドラの実装により,時間制約の強いシステムへの応用が容易に行えます.

Remote Link Loader (RLL) 公開準備中

(株)エーアイコーポレーションは,ITRON仕様OSで始めてダイナミックローディングを可能にしたリモートリンクローダ(以下,RLLとする)を開発しました.RLLを使用するとITRONシステムで,プログラムの追加,更新,削除が自由に行えます.このRLLはTOPPERSプロジェクトの開発成果物として公開いたします.

<RLLの概要>

RLLは,プログラムのビルドを行うサーバマシンと,プログラムをロードし実行するターゲットシステムで構成されます.サーバマシンではRLLサーバが動作します.RLLサーバはモジュールのビルド要求が発生すると,ターゲットシステムのメモリマップを読み,空きメモリに新しいモジュールをリンクします.リンクが終了したモジュールは補助情報とともにターゲットシステムに転送されます.ターゲットシステムでは,RLLエージェントが動作しています.RLLエージェントは,RLLサーバからダウンロードモジュールを受け取り,該当アドレスに配置し,必要な初期化処理を行った後に起動処理を行います.RLLサーバと,RLLエージェントが協調動作することで,ダウンロードが可能になります.RLLは,ミドルウェアコンポーネントとして開発されていますので,他のOSでも使用可能です.

<RLLの特長>

  • リモートリンク方式
    本方式は,ターゲットオブジェクトをサーバマシン上でモジュールを配置するアドレスを決定してからターゲットシステムに送られるので,ターゲットシステムでアドレス解決する必要がありません.コンパイルは位置独立コードや,位置独立データといったコンパイルオプションをつけないでビルドされるので,冗長なコードが含まれません.小さなコードで高速に動作できるので,ローパワーのCPUでも使用可能です.同時に各種コンパイラに対応可能です.
  • ダウンロード単位を自由に設定可能
    ダウンロードはモジュールという単位で行います.モジュールには,タスク,セマフォといったカーネル資源や,共有ライブラリ,グローバル変数などを含めることができます.モジュールを機能単位に作成すれば,必要な機能だけバージョンアップしたり,不要になった機能を削除できます.

<動作環境>

OS:TOPPERS/FI4カーネル
対応CPU:SH3
エーアイコーポレーションでは,TOPPERS/FI4 と RLLをインテグレーションした「TOPPERS-Pro」を製品化しました.

TOPPERS C++ API テンプレートライブラリ公開

TOPPERS C++ APIテンプレートライブラリは,μITRON4.0仕様に準拠したカーネルをラッピングしたC++用のテンプレートライブラリであり,TOPPERS/JSPカーネルまたはTOPPERS/FI4カーネルと組み合わせて使用することができます.本ライブラリには,μITRONのマルチタスク環境上でC++を利用する時に必要となる基本技術 ( メモリアロケーション,排他制御など ) が一通り盛り込まれています.静的APIの使用を前提とした設計になっており,TOPPERS/JSPカーネルと組み合わせた場合でも,十分に力を発揮することができます.もちろん,TOPPERS/FI4カーネルと組み合わせれば,ライブラリが提供するAPIを用いて,カーネルオブジェクトの生成・削除を動的に行うことも可能です.

<主な特長>

  • 最小のオーバーヘッド
    本ライブラリを使用した場合でも,サービスコールを直接呼び出した場合と比べて,速度低下はほとんどありません.
  • 型安全性の強化
    カーネルオブジェクトのID番号に,種別に応じた型を与えることで,安全性を強化しています.
  • カーネル間の差異を吸収
    異なるカーネル(JSPとFI4など)間の差異をライブラリが吸収することで,再利用可能なコードが記述しやすくなっています.
  • ジェネリックプログラミングの支援
    類似のサービスコールを呼び出すためのシンタックスを統一することで, C++のテンプレート機能を活かしたジェネリックプログラミングが行いやすくなっています.また,標準C++ライブラリとの親和性も高く,既存のライブラリとの組み合わせも容易です.

<対応するターゲット>

現時点ではSH3のみ対応していますが,カーネルがC++に対応すれば,他のターゲットでもそのまま利用することができます.

TOPPERS C++ APIテンプレートライブラリの最新版は,TOPPERSプロジェクトWEBサイトからダウンロード可能です.

TOPPERSカーネルテストスイート公開

(株)アドバンスドデータコントロールズは,TOPPERSカーネルテストスイートを開発しました.TOPPERSカーネルテストスイートは,TOPPERS/JSPカーネル,TOPPERS/FI4カーネルが μITRON4.0仕様に合致しているかを検証するために必要なテストプログラムとそれを自動実行させるツール群で構成されています.TOPPERS/JSPカーネルのテストスイートのテスト内容は,「μITRON4.0検定仕様書(案)2001年3月27日」に基づいて作成され,μITRON4.0仕様のフルセットについて検証するテスト内容を拡張しました.拡張はスタンダードプロファイル以外のAPI(cre,acre,del,ref),ミューテックス,メッセージバッファ,ランデブ,可変長メモリプール,アラームハンドラ,オーバランハンドラ,サービスコールなどのAPIです.各テスト内容は,階層化されたフォルダになっており,1つのソースファイルとコンフィギュレーションファイルになっているので,大変単純な構成になっています.TOPPERSカーネルテストスイートを自動実行させるツール群は,TOPPERS標準のGNU開発環境ではなく,GHS (GreenHills Software) の開発環境MULTIを使用しています.ツール群はDOSプロンプトのバッチファイルから起動され,コンフィギュレータ,コンパイル,リンクなどによってテストプログラムの実行ファイルを作成し,プログラムのダウンロードと実行を各テスト内容ごとに行います.そしてプログラムのログなどで,プログラムの実行順序と結果が期待値と同じであるかを判定して,期待値以外の場合にはエラー内容を表示します.新しいターゲットへの移植時の動作確認としてや,各APIの使用方法やコンフィギュレーションファイルのサンプルソースとして活用して頂ければ幸いです.

TOPPERS/OSEK カーネル開発

この度,TOPPERSプロジェクトより,欧州の自動車メーカや電装部品メーカを中心とした標準化団体「OSEK/VDX」が策定した自動車制御システム用リアルタイムOS 「TOPPERS/OSEK (OSEK VDX OS仕様 Version 2.2.1 コンフォーマンクラスECC2 )」を会員向けに早期リリース致します.このTOPPERS/OSEK は,名古屋大学大学院情報学研究科・組込みリアルタイムシステム研究室と株式会社ヴィッツが共同で開発し,TOPPERSプロジェクトへ開発成果物としてコントリビュートして,TOPPERSプロジェクトから一般にオープンソースとして公開いたします.オープンソースとして公開するソフトウェアは無保証ですが,技術サポートをヴィッツが有償で請負います.

このTOPPERS/OSEKは,ITRON仕様OS開発ノウハウを元に新規に開発したOSであり,TOPPERS/JSPのソースコードは流用していませんが,「読みやすい」「改造しやすい」「機種展開しやすい」などのJSPカーネルの基本コンセプトを継承しています.同時に,本OSを利用する場合に必要なシステムジェネレーションツール (OIL (OSEK Implementation Language ) 仕様 Ver2.4.1 準拠 ,以下SG ) も開発いたしました.このSG もTOPPERSプロジェクトよりオープンソースとして公開いたします ( ただし,現在のSGは更なる機能拡張を実施中であるため,当面実行ファイルのみ提供いたします.機能育成後にオープンソースとして公開する予定です) .

OSEKカーネルの特徴として,ダウンロード後直ちに製品として利用可能とするため,品質検証を実施しております.すなわち,OSEKに必須な,MODISTARC検証 ( OSEK/VDX が定めた,OS テストプラン ) を実施しております.現在公開されているMODISTARCはOSEK/VDX Version2.0 対応ですが,Version 2.2.1 に拡張された部位を含めてテストプランを再考して対応しております.また,欧州の自動車メーカを中心として定められた,C言語設計規約「MISRA-C」チェックも実施しております.カーネルのため,実行速度を優先する箇所やコードサイズを節約するために,あえてMISRAコーディング規約を逸脱している箇所はありますが,逸脱する箇所を個別に検討しているため,MISRAの指摘する危険コードは回避していると考えられます.MODISTARCおよびMISRA-Cのエビデンス等については,現在公開の予定はありませんが,今後必要に応じて検討いたします.

尚,会員早期リリースするOSEKカーネルは,コンフォーマンスクラスECC2 ( OSEK/VDX 最上位クラス ) に準拠したカーネルを公開いたしますが,現在,他のコンフォーマンスクラスにも対応中であり,その開発は概ね完了しております.それらのクラスは,現在MODISTARC検証もほぼ終了し,応用化への検証が完了後に公開を予定しております.これらの開発成果物は,ESEC会場にてデモを含めて展示しております.このデモには,TOPPERS/JSP,TOPPERS/OSEK,TINET Version 1.2,CAN/LIN通信ドライバを利用してり,TOPPERSのオープンソースで実現可能な製品イメージをお見せすることが出来ます.ご興味のある方はブース( (株)ヴィッツブース) にお越しください.

TINET IPv6 に対応

IP バージョン 6(IPv6)に対応した組込みシステム用 TCP/IP プロトコルスタック TINET リリース 1.2 は,経済産業省による平成 14 年度即効型地域新生コンソーシアム研究開発事業として採択された「組込みシステム・オープンプラットホームの構築とその実用化研究」(委託元 : 東北経済産業局)の開発成果の一つです.

現在インターネットで主に使用されている IP バージョン 4(IPv4)は,アドレスの枯渇等の問題があるため,IPv6 の開発が進められています.今後は,IPv4 から IPv6 への移行が本格化し,組込みシステムにおいても,IPv6 への対応が必要となります.ただし,IPv4 の欠点を改良するため,プロトコルスタックに必要なメモリ容量が増大することが予想されています.

これに対し,組込みシステムのメモリ容量には厳しい制約があるため,TINET リリース 1.2 は,メモリの使用量を抑制する内部処理方式を採用し,ベースとなった IPv4 対応のプロトコルスタック TINET リリース 1.1 と比較しても,全体のメモリ必要量の増加率は約 18% で,特に,制約の厳しい RAMのメモリ必要量の増加率は約 3% となり,メモリ容量の増加を最小限に抑えることができました.

<TINET リリース 1.2 の特徴>

  • TINET リリース 1.1 をベースに,FreeBSD 用 KAME の技術を取り入れました.
  • TAHI プロジェクトにより策定された「非 PC 系ディジタル機器への適用に向けた IPv6 最小要求仕様 (最小セキュリティ仕様は検討中 ) 」に準拠しています.
  • 暫定 ITRON TCP/IPv6 API 仕様を定義しました.
  • 現時点で対応しているターゲットプロセッサは,ルネサステクノロジのH8 のみですが,今後他のプロセッサも対応予定です.

<TINET リリース 1.2 の実装機能>

  • 非 PC 系ディジタル機器への適用に向けた IPv6 最小要求仕様(最小セキュリティ仕様は検討中 )
  • IPv6 近隣探索.近隣要請と近隣通知,及びルータ要請の送信とルータ通知の受信
  • IPv6 アドレス自動設定.複数のユニキャストアドレスとマルチキャストアドレス,及びアドレス重複検出
  • ICMPv6.経路の向け直し
  • IPv6 対応の TCP 及び UDP

TINET リリース 1.2 は,既に TOPPERS プロジェクト会員限定の早期リリースとして配布されています.また,7 月 7 日〜 9 日に開催される組込みシステム開発技術展(ESEC)においてデモを行い( (株)ヴィッツブース),準備が整えば,一般への配布を開始する予定です.

TOPPERSカンファレンスの反省と今後

6月3日〜4日 学士会館において,「TOPPERS カンファレンス 2004」を開催いたしました.皆様ご参考になりましたでしょうか?TOPPERSカンファレンススタッフの方々に,今回のカンファレンスの反省と今後についてお聞きしました.

編:

カンファレンスの企画,運営お疲れ様でした.今回のカンファレンスは成功でしたか?

運A:

初日のセミナは比較的集客率も良く,TOPPERSプロジェクトの活動内容がよく理解できる内容であったと思います.TOPPERSカンファレンスが,TOPPERSプロジェクトの活動内容を皆様にお伝えする企画ですのでその点では成功したと言っても良いと思います.しかし,カンファレンスの告示に若干問題があったようで,2日目の集客が芳しくなく,少し寂しい結果に終わったのが残念です.

編:

確かに,初日はこの広い会場が狭いと感じるほどでしたが,2日目は余裕がありましたね.なぜなのでしょうか?

運A:

一つは,準備が十分でなかったと反省しております.昨年の9月にNPO法人化され,それから運営委員会でカンファレンスの検討をしてきましたが,実際に開催日程を決定したのが今年の2月を過ぎたあたりでした.そのため,会場の手配,セミナやチュートリアルの準備などが遅れたことは良くなかったと思います.さらに,初回と言うこともあり,告示するメディアを検討しなかったことが良くないかもしれません.今回の告示は各種メーリングリストを中心に行いましたが,雑誌等を含めて広く告示する必要がありました.

編:

そうですね.パネルセッションで出版社の方が協力してくれていたようなので,その出版社の雑誌などで告示してもらえばよかったかもしれませんね.

運A:

雑誌は有効な告示だと認識しています.今回の反省を元に,来年は告示方法も見直す予定です.

編:

私は初日の懇親会にも参加いたしましたが,懇親会はミニ展示あり,会長の突撃インタビューあり,TOPPERS/JSPを利用したカラオケマイクの実演テストありでかなり盛りあがった懇親会でしたね.

運A:

ご存知の通りプロジェクトの会長もフットワークが軽く行動的ですし,プロジェクト自身も若いですから,力いっぱい組込み業界を引っ張って行くつもりで,活動的なイメージで企画してみました.あの活力を感じると,法人化半年強で数々の成果を出しているのも理解していただけると思います.

編:

確かに法人化後の活躍はすばらしく,会員皆様のポテンシャルの高さには驚かされています.この活力をいかしたカンファレンスを来年も期待しても良いですか?

運B:

もちろん,ご期待下さい.確かに今回のカンファレンスは反省するべき点は多かったかもしれません.しかし,TOPPERSプロジェクトはまだ一年目です.ですから失敗も多いかもしれませんが,一年目の若さがあります.すばらしく企画され,手馴れたカンファレンスより,運営委員の顔が見える手作りのカンファレンスの方がプロジェクトの方向性が見えて良いと思います.ご来場いただいた方々は,運営しているメンバを直接見て,話して,身近に感じられたと思います.来年以降は,今年より更に充実した内容で,より身近なプロジェクトとして感じられるようにカンファレンスを企画したいと思います.皆様のご支援をお願いします.

編:

カンファレンスの今後についてお聞きしようと思っていたのですが,なんだか既にまとめられてしまったようですが,,,来年のカンファレンスの抱負をお願いします.

運A:

来年のカンファレンスはこれから運営委員会で検討する為,今の時点では詳しくお伝えできませんが,今年以上楽しめるカンファレンスを企画します.また,来年には「教育ワーキンググループ ( 以下WG ) 」「コンポーネント仕様WG」「中国普及WG」「検証WG」などのWGがそれぞれの成果発表ができると思います.どの活動も組込み業界には重要な事柄ばかりです.これらの諸問題にプロジェクトは業界を代表して取り組むつもりです.

編:

日本が誇れる組込み業界を代表する活動に期待し,来年のカンファレンスの大成功を楽しみにしております.今日はお疲れのところありがとうございました.

参加のお誘い

TOPPERSプロジェクトでは,プロジェクトの趣旨に賛同してくだ さる方の参加を待っています.プロジェクトの会員となることで, 次のようなメリットがあります.

  • プロジェクトにおけるソフトウェア開発に参加できる
  • プロジェクトで開発したソフトウェアを早期に入手できる
  • プロジェクトで開発するソフトウェアに対して要望をだせる
  • プロジェクトの主催・共催するセミナーに会員費用で参加できる

NPO法人の会員には,主に団体を対象とした正会員と,個人を対 象とした準会員に加えて,プロジェクトに貢献して戴ける教育機 関・公的機関・非営利団体・個人で会費を支払うことが難しい方を 対象とした特別会員の制度を用意しています. TOPPERSプロジェクトに何らかの形で貢献されたい方,プロジェ クトで開発したソフトウェアをお使いの方,プロジェクトに興味の お持ちの方は,是非入会をご検討ください.

入会に関する詳細は入会のススメと申込み方法をご覧ください.

お問い合わせ先

TOPPERS プロジェクトに関するご質問や入会の申込みは,下記事務局宛にお願 いします.また,プロジェクトのウェブサイト(http://www.toppers.jp/)には,活動の詳細を紹介する資料を置いていますので,ぜひご参照ください.

編集後記

TOPPERS プロジェクトに関するご質問や入会の申込みは,下記事務局宛にお願いします.また,プロジェクトのウェブサイト( http://www.toppers.jp/ )には,活動の詳細を紹介する資料を置いていますので,ぜひご参照ください. 編集後記 TOPPERSニュースレターに最後までお付き合いくださりありがとうございます.今回で3号目となりましたニュースレターはお楽しみいただけたでしょうか?本号は都合により会員企業様のご紹介コーナを割愛しましたが,次号から復活したいと思います.直接原稿を依頼すると思いますので,よろしくお願いします! 本ニュースレターに投稿したい方,ご意見をいただける方は,(株)ヴィッツ服部( hat@witz-inc.co.jp )までご連絡願います.


NPO法人TOPPERSプロジェクト
http://www.toppers.jp/
社団法人 日本システムハウス協会内
〒103-0007 東京都中央区日本橋浜町1-8-12 東実年金会館8F
TEL&FAX (03)3865-5616 Email: secretariat@toppers.jp